/*
 * Copyright 2020 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/dialogflow/v2beta1/conversation_profile.proto

package com.google.cloud.dialogflow.v2beta1;

/**
 *
 *
 * <pre>
 * Defines the services to connect to incoming Dialogflow conversations.
 * </pre>
 *
 * Protobuf type {@code google.cloud.dialogflow.v2beta1.ConversationProfile}
 */
public final class ConversationProfile extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.cloud.dialogflow.v2beta1.ConversationProfile)
    ConversationProfileOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use ConversationProfile.newBuilder() to construct.
  private ConversationProfile(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private ConversationProfile() {
    name_ = "";
    displayName_ = "";
    languageCode_ = "";
    timeZone_ = "";
    securitySettings_ = "";
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
    return new ConversationProfile();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.cloud.dialogflow.v2beta1.ConversationProfileProto
        .internal_static_google_cloud_dialogflow_v2beta1_ConversationProfile_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.dialogflow.v2beta1.ConversationProfileProto
        .internal_static_google_cloud_dialogflow_v2beta1_ConversationProfile_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.dialogflow.v2beta1.ConversationProfile.class,
            com.google.cloud.dialogflow.v2beta1.ConversationProfile.Builder.class);
  }

  public static final int NAME_FIELD_NUMBER = 1;

  @SuppressWarnings("serial")
  private volatile java.lang.Object name_ = "";
  /**
   *
   *
   * <pre>
   * The unique identifier of this conversation profile.
   * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
   * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      name_ = s;
      return s;
    }
  }
  /**
   *
   *
   * <pre>
   * The unique identifier of this conversation profile.
   * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
   * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The bytes for name.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DISPLAY_NAME_FIELD_NUMBER = 2;

  @SuppressWarnings("serial")
  private volatile java.lang.Object displayName_ = "";
  /**
   *
   *
   * <pre>
   * Required. Human readable name for this profile. Max length 1024 bytes.
   * </pre>
   *
   * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
   *
   * @return The displayName.
   */
  @java.lang.Override
  public java.lang.String getDisplayName() {
    java.lang.Object ref = displayName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      displayName_ = s;
      return s;
    }
  }
  /**
   *
   *
   * <pre>
   * Required. Human readable name for this profile. Max length 1024 bytes.
   * </pre>
   *
   * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
   *
   * @return The bytes for displayName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getDisplayNameBytes() {
    java.lang.Object ref = displayName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      displayName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CREATE_TIME_FIELD_NUMBER = 11;
  private com.google.protobuf.Timestamp createTime_;
  /**
   *
   *
   * <pre>
   * Output only. Create time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return Whether the createTime field is set.
   */
  @java.lang.Override
  public boolean hasCreateTime() {
    return createTime_ != null;
  }
  /**
   *
   *
   * <pre>
   * Output only. Create time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return The createTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getCreateTime() {
    return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
  }
  /**
   *
   *
   * <pre>
   * Output only. Create time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
    return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
  }

  public static final int UPDATE_TIME_FIELD_NUMBER = 12;
  private com.google.protobuf.Timestamp updateTime_;
  /**
   *
   *
   * <pre>
   * Output only. Update time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return Whether the updateTime field is set.
   */
  @java.lang.Override
  public boolean hasUpdateTime() {
    return updateTime_ != null;
  }
  /**
   *
   *
   * <pre>
   * Output only. Update time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return The updateTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getUpdateTime() {
    return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
  }
  /**
   *
   *
   * <pre>
   * Output only. Update time of the conversation profile.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
    return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
  }

  public static final int AUTOMATED_AGENT_CONFIG_FIELD_NUMBER = 3;
  private com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automatedAgentConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for an automated agent to use with this profile.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;</code>
   *
   * @return Whether the automatedAgentConfig field is set.
   */
  @java.lang.Override
  public boolean hasAutomatedAgentConfig() {
    return automatedAgentConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for an automated agent to use with this profile.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;</code>
   *
   * @return The automatedAgentConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig getAutomatedAgentConfig() {
    return automatedAgentConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.getDefaultInstance()
        : automatedAgentConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for an automated agent to use with this profile.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;</code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfigOrBuilder
      getAutomatedAgentConfigOrBuilder() {
    return automatedAgentConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.getDefaultInstance()
        : automatedAgentConfig_;
  }

  public static final int HUMAN_AGENT_ASSISTANT_CONFIG_FIELD_NUMBER = 4;
  private com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig humanAgentAssistantConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for agent assistance to use with this profile.
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
   * </code>
   *
   * @return Whether the humanAgentAssistantConfig field is set.
   */
  @java.lang.Override
  public boolean hasHumanAgentAssistantConfig() {
    return humanAgentAssistantConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for agent assistance to use with this profile.
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
   * </code>
   *
   * @return The humanAgentAssistantConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig
      getHumanAgentAssistantConfig() {
    return humanAgentAssistantConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.getDefaultInstance()
        : humanAgentAssistantConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for agent assistance to use with this profile.
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
   * </code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfigOrBuilder
      getHumanAgentAssistantConfigOrBuilder() {
    return humanAgentAssistantConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.getDefaultInstance()
        : humanAgentAssistantConfig_;
  }

  public static final int HUMAN_AGENT_HANDOFF_CONFIG_FIELD_NUMBER = 5;
  private com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig humanAgentHandoffConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for connecting to a live agent.
   * Currently, this feature is not general available, please contact Google
   * to get access.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
   * </code>
   *
   * @return Whether the humanAgentHandoffConfig field is set.
   */
  @java.lang.Override
  public boolean hasHumanAgentHandoffConfig() {
    return humanAgentHandoffConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for connecting to a live agent.
   * Currently, this feature is not general available, please contact Google
   * to get access.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
   * </code>
   *
   * @return The humanAgentHandoffConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig getHumanAgentHandoffConfig() {
    return humanAgentHandoffConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.getDefaultInstance()
        : humanAgentHandoffConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for connecting to a live agent.
   * Currently, this feature is not general available, please contact Google
   * to get access.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
   * </code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfigOrBuilder
      getHumanAgentHandoffConfigOrBuilder() {
    return humanAgentHandoffConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.getDefaultInstance()
        : humanAgentHandoffConfig_;
  }

  public static final int NOTIFICATION_CONFIG_FIELD_NUMBER = 6;
  private com.google.cloud.dialogflow.v2beta1.NotificationConfig notificationConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for publishing conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
   *
   * @return Whether the notificationConfig field is set.
   */
  @java.lang.Override
  public boolean hasNotificationConfig() {
    return notificationConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for publishing conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
   *
   * @return The notificationConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.NotificationConfig getNotificationConfig() {
    return notificationConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
        : notificationConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for publishing conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder
      getNotificationConfigOrBuilder() {
    return notificationConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
        : notificationConfig_;
  }

  public static final int LOGGING_CONFIG_FIELD_NUMBER = 7;
  private com.google.cloud.dialogflow.v2beta1.LoggingConfig loggingConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for logging conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
   *
   * @return Whether the loggingConfig field is set.
   */
  @java.lang.Override
  public boolean hasLoggingConfig() {
    return loggingConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for logging conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
   *
   * @return The loggingConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.LoggingConfig getLoggingConfig() {
    return loggingConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.LoggingConfig.getDefaultInstance()
        : loggingConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for logging conversation lifecycle events.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.LoggingConfigOrBuilder getLoggingConfigOrBuilder() {
    return loggingConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.LoggingConfig.getDefaultInstance()
        : loggingConfig_;
  }

  public static final int NEW_MESSAGE_EVENT_NOTIFICATION_CONFIG_FIELD_NUMBER = 8;
  private com.google.cloud.dialogflow.v2beta1.NotificationConfig newMessageEventNotificationConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for publishing new message events. Event will be sent in
   * format of
   * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
   * </code>
   *
   * @return Whether the newMessageEventNotificationConfig field is set.
   */
  @java.lang.Override
  public boolean hasNewMessageEventNotificationConfig() {
    return newMessageEventNotificationConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for publishing new message events. Event will be sent in
   * format of
   * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
   * </code>
   *
   * @return The newMessageEventNotificationConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.NotificationConfig
      getNewMessageEventNotificationConfig() {
    return newMessageEventNotificationConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
        : newMessageEventNotificationConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for publishing new message events. Event will be sent in
   * format of
   * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
   * </pre>
   *
   * <code>
   * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
   * </code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder
      getNewMessageEventNotificationConfigOrBuilder() {
    return newMessageEventNotificationConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
        : newMessageEventNotificationConfig_;
  }

  public static final int STT_CONFIG_FIELD_NUMBER = 9;
  private com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig sttConfig_;
  /**
   *
   *
   * <pre>
   * Settings for speech transcription.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
   *
   * @return Whether the sttConfig field is set.
   */
  @java.lang.Override
  public boolean hasSttConfig() {
    return sttConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Settings for speech transcription.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
   *
   * @return The sttConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig getSttConfig() {
    return sttConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.getDefaultInstance()
        : sttConfig_;
  }
  /**
   *
   *
   * <pre>
   * Settings for speech transcription.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.SpeechToTextConfigOrBuilder getSttConfigOrBuilder() {
    return sttConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.getDefaultInstance()
        : sttConfig_;
  }

  public static final int LANGUAGE_CODE_FIELD_NUMBER = 10;

  @SuppressWarnings("serial")
  private volatile java.lang.Object languageCode_ = "";
  /**
   *
   *
   * <pre>
   * Language code for the conversation profile. If not specified, the language
   * is en-US. Language at ConversationProfile should be set for all non en-us
   * languages.
   * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
   * language tag. Example: "en-US".
   * </pre>
   *
   * <code>string language_code = 10;</code>
   *
   * @return The languageCode.
   */
  @java.lang.Override
  public java.lang.String getLanguageCode() {
    java.lang.Object ref = languageCode_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      languageCode_ = s;
      return s;
    }
  }
  /**
   *
   *
   * <pre>
   * Language code for the conversation profile. If not specified, the language
   * is en-US. Language at ConversationProfile should be set for all non en-us
   * languages.
   * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
   * language tag. Example: "en-US".
   * </pre>
   *
   * <code>string language_code = 10;</code>
   *
   * @return The bytes for languageCode.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getLanguageCodeBytes() {
    java.lang.Object ref = languageCode_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      languageCode_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TIME_ZONE_FIELD_NUMBER = 14;

  @SuppressWarnings("serial")
  private volatile java.lang.Object timeZone_ = "";
  /**
   *
   *
   * <pre>
   * The time zone of this conversational profile from the
   * [time zone database](https://www.iana.org/time-zones), e.g.,
   * America/New_York, Europe/Paris. Defaults to America/New_York.
   * </pre>
   *
   * <code>string time_zone = 14;</code>
   *
   * @return The timeZone.
   */
  @java.lang.Override
  public java.lang.String getTimeZone() {
    java.lang.Object ref = timeZone_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      timeZone_ = s;
      return s;
    }
  }
  /**
   *
   *
   * <pre>
   * The time zone of this conversational profile from the
   * [time zone database](https://www.iana.org/time-zones), e.g.,
   * America/New_York, Europe/Paris. Defaults to America/New_York.
   * </pre>
   *
   * <code>string time_zone = 14;</code>
   *
   * @return The bytes for timeZone.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getTimeZoneBytes() {
    java.lang.Object ref = timeZone_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      timeZone_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SECURITY_SETTINGS_FIELD_NUMBER = 13;

  @SuppressWarnings("serial")
  private volatile java.lang.Object securitySettings_ = "";
  /**
   *
   *
   * <pre>
   * Name of the CX SecuritySettings reference for the agent.
   * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
   * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
   * </pre>
   *
   * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
   *
   * @return The securitySettings.
   */
  @java.lang.Override
  public java.lang.String getSecuritySettings() {
    java.lang.Object ref = securitySettings_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      securitySettings_ = s;
      return s;
    }
  }
  /**
   *
   *
   * <pre>
   * Name of the CX SecuritySettings reference for the agent.
   * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
   * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
   * </pre>
   *
   * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
   *
   * @return The bytes for securitySettings.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getSecuritySettingsBytes() {
    java.lang.Object ref = securitySettings_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      securitySettings_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TTS_CONFIG_FIELD_NUMBER = 18;
  private com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig ttsConfig_;
  /**
   *
   *
   * <pre>
   * Configuration for Text-to-Speech synthesization.
   * Used by Phone Gateway to specify synthesization options. If agent defines
   * synthesization options as well, agent settings overrides the option here.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
   *
   * @return Whether the ttsConfig field is set.
   */
  @java.lang.Override
  public boolean hasTtsConfig() {
    return ttsConfig_ != null;
  }
  /**
   *
   *
   * <pre>
   * Configuration for Text-to-Speech synthesization.
   * Used by Phone Gateway to specify synthesization options. If agent defines
   * synthesization options as well, agent settings overrides the option here.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
   *
   * @return The ttsConfig.
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig getTtsConfig() {
    return ttsConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.getDefaultInstance()
        : ttsConfig_;
  }
  /**
   *
   *
   * <pre>
   * Configuration for Text-to-Speech synthesization.
   * Used by Phone Gateway to specify synthesization options. If agent defines
   * synthesization options as well, agent settings overrides the option here.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
   */
  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfigOrBuilder
      getTtsConfigOrBuilder() {
    return ttsConfig_ == null
        ? com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.getDefaultInstance()
        : ttsConfig_;
  }

  private byte memoizedIsInitialized = -1;

  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, displayName_);
    }
    if (automatedAgentConfig_ != null) {
      output.writeMessage(3, getAutomatedAgentConfig());
    }
    if (humanAgentAssistantConfig_ != null) {
      output.writeMessage(4, getHumanAgentAssistantConfig());
    }
    if (humanAgentHandoffConfig_ != null) {
      output.writeMessage(5, getHumanAgentHandoffConfig());
    }
    if (notificationConfig_ != null) {
      output.writeMessage(6, getNotificationConfig());
    }
    if (loggingConfig_ != null) {
      output.writeMessage(7, getLoggingConfig());
    }
    if (newMessageEventNotificationConfig_ != null) {
      output.writeMessage(8, getNewMessageEventNotificationConfig());
    }
    if (sttConfig_ != null) {
      output.writeMessage(9, getSttConfig());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 10, languageCode_);
    }
    if (createTime_ != null) {
      output.writeMessage(11, getCreateTime());
    }
    if (updateTime_ != null) {
      output.writeMessage(12, getUpdateTime());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(securitySettings_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 13, securitySettings_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(timeZone_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 14, timeZone_);
    }
    if (ttsConfig_ != null) {
      output.writeMessage(18, getTtsConfig());
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, displayName_);
    }
    if (automatedAgentConfig_ != null) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(3, getAutomatedAgentConfig());
    }
    if (humanAgentAssistantConfig_ != null) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              4, getHumanAgentAssistantConfig());
    }
    if (humanAgentHandoffConfig_ != null) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(5, getHumanAgentHandoffConfig());
    }
    if (notificationConfig_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getNotificationConfig());
    }
    if (loggingConfig_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getLoggingConfig());
    }
    if (newMessageEventNotificationConfig_ != null) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              8, getNewMessageEventNotificationConfig());
    }
    if (sttConfig_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getSttConfig());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, languageCode_);
    }
    if (createTime_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getCreateTime());
    }
    if (updateTime_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getUpdateTime());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(securitySettings_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, securitySettings_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(timeZone_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, timeZone_);
    }
    if (ttsConfig_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(18, getTtsConfig());
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.dialogflow.v2beta1.ConversationProfile)) {
      return super.equals(obj);
    }
    com.google.cloud.dialogflow.v2beta1.ConversationProfile other =
        (com.google.cloud.dialogflow.v2beta1.ConversationProfile) obj;

    if (!getName().equals(other.getName())) return false;
    if (!getDisplayName().equals(other.getDisplayName())) return false;
    if (hasCreateTime() != other.hasCreateTime()) return false;
    if (hasCreateTime()) {
      if (!getCreateTime().equals(other.getCreateTime())) return false;
    }
    if (hasUpdateTime() != other.hasUpdateTime()) return false;
    if (hasUpdateTime()) {
      if (!getUpdateTime().equals(other.getUpdateTime())) return false;
    }
    if (hasAutomatedAgentConfig() != other.hasAutomatedAgentConfig()) return false;
    if (hasAutomatedAgentConfig()) {
      if (!getAutomatedAgentConfig().equals(other.getAutomatedAgentConfig())) return false;
    }
    if (hasHumanAgentAssistantConfig() != other.hasHumanAgentAssistantConfig()) return false;
    if (hasHumanAgentAssistantConfig()) {
      if (!getHumanAgentAssistantConfig().equals(other.getHumanAgentAssistantConfig()))
        return false;
    }
    if (hasHumanAgentHandoffConfig() != other.hasHumanAgentHandoffConfig()) return false;
    if (hasHumanAgentHandoffConfig()) {
      if (!getHumanAgentHandoffConfig().equals(other.getHumanAgentHandoffConfig())) return false;
    }
    if (hasNotificationConfig() != other.hasNotificationConfig()) return false;
    if (hasNotificationConfig()) {
      if (!getNotificationConfig().equals(other.getNotificationConfig())) return false;
    }
    if (hasLoggingConfig() != other.hasLoggingConfig()) return false;
    if (hasLoggingConfig()) {
      if (!getLoggingConfig().equals(other.getLoggingConfig())) return false;
    }
    if (hasNewMessageEventNotificationConfig() != other.hasNewMessageEventNotificationConfig())
      return false;
    if (hasNewMessageEventNotificationConfig()) {
      if (!getNewMessageEventNotificationConfig()
          .equals(other.getNewMessageEventNotificationConfig())) return false;
    }
    if (hasSttConfig() != other.hasSttConfig()) return false;
    if (hasSttConfig()) {
      if (!getSttConfig().equals(other.getSttConfig())) return false;
    }
    if (!getLanguageCode().equals(other.getLanguageCode())) return false;
    if (!getTimeZone().equals(other.getTimeZone())) return false;
    if (!getSecuritySettings().equals(other.getSecuritySettings())) return false;
    if (hasTtsConfig() != other.hasTtsConfig()) return false;
    if (hasTtsConfig()) {
      if (!getTtsConfig().equals(other.getTtsConfig())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER;
    hash = (53 * hash) + getDisplayName().hashCode();
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    if (hasUpdateTime()) {
      hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateTime().hashCode();
    }
    if (hasAutomatedAgentConfig()) {
      hash = (37 * hash) + AUTOMATED_AGENT_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getAutomatedAgentConfig().hashCode();
    }
    if (hasHumanAgentAssistantConfig()) {
      hash = (37 * hash) + HUMAN_AGENT_ASSISTANT_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getHumanAgentAssistantConfig().hashCode();
    }
    if (hasHumanAgentHandoffConfig()) {
      hash = (37 * hash) + HUMAN_AGENT_HANDOFF_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getHumanAgentHandoffConfig().hashCode();
    }
    if (hasNotificationConfig()) {
      hash = (37 * hash) + NOTIFICATION_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getNotificationConfig().hashCode();
    }
    if (hasLoggingConfig()) {
      hash = (37 * hash) + LOGGING_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getLoggingConfig().hashCode();
    }
    if (hasNewMessageEventNotificationConfig()) {
      hash = (37 * hash) + NEW_MESSAGE_EVENT_NOTIFICATION_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getNewMessageEventNotificationConfig().hashCode();
    }
    if (hasSttConfig()) {
      hash = (37 * hash) + STT_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getSttConfig().hashCode();
    }
    hash = (37 * hash) + LANGUAGE_CODE_FIELD_NUMBER;
    hash = (53 * hash) + getLanguageCode().hashCode();
    hash = (37 * hash) + TIME_ZONE_FIELD_NUMBER;
    hash = (53 * hash) + getTimeZone().hashCode();
    hash = (37 * hash) + SECURITY_SETTINGS_FIELD_NUMBER;
    hash = (53 * hash) + getSecuritySettings().hashCode();
    if (hasTtsConfig()) {
      hash = (37 * hash) + TTS_CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + getTtsConfig().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(
      com.google.cloud.dialogflow.v2beta1.ConversationProfile prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   * <pre>
   * Defines the services to connect to incoming Dialogflow conversations.
   * </pre>
   *
   * Protobuf type {@code google.cloud.dialogflow.v2beta1.ConversationProfile}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.dialogflow.v2beta1.ConversationProfile)
      com.google.cloud.dialogflow.v2beta1.ConversationProfileOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.dialogflow.v2beta1.ConversationProfileProto
          .internal_static_google_cloud_dialogflow_v2beta1_ConversationProfile_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.dialogflow.v2beta1.ConversationProfileProto
          .internal_static_google_cloud_dialogflow_v2beta1_ConversationProfile_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.dialogflow.v2beta1.ConversationProfile.class,
              com.google.cloud.dialogflow.v2beta1.ConversationProfile.Builder.class);
    }

    // Construct using com.google.cloud.dialogflow.v2beta1.ConversationProfile.newBuilder()
    private Builder() {}

    private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
    }

    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      name_ = "";
      displayName_ = "";
      createTime_ = null;
      if (createTimeBuilder_ != null) {
        createTimeBuilder_.dispose();
        createTimeBuilder_ = null;
      }
      updateTime_ = null;
      if (updateTimeBuilder_ != null) {
        updateTimeBuilder_.dispose();
        updateTimeBuilder_ = null;
      }
      automatedAgentConfig_ = null;
      if (automatedAgentConfigBuilder_ != null) {
        automatedAgentConfigBuilder_.dispose();
        automatedAgentConfigBuilder_ = null;
      }
      humanAgentAssistantConfig_ = null;
      if (humanAgentAssistantConfigBuilder_ != null) {
        humanAgentAssistantConfigBuilder_.dispose();
        humanAgentAssistantConfigBuilder_ = null;
      }
      humanAgentHandoffConfig_ = null;
      if (humanAgentHandoffConfigBuilder_ != null) {
        humanAgentHandoffConfigBuilder_.dispose();
        humanAgentHandoffConfigBuilder_ = null;
      }
      notificationConfig_ = null;
      if (notificationConfigBuilder_ != null) {
        notificationConfigBuilder_.dispose();
        notificationConfigBuilder_ = null;
      }
      loggingConfig_ = null;
      if (loggingConfigBuilder_ != null) {
        loggingConfigBuilder_.dispose();
        loggingConfigBuilder_ = null;
      }
      newMessageEventNotificationConfig_ = null;
      if (newMessageEventNotificationConfigBuilder_ != null) {
        newMessageEventNotificationConfigBuilder_.dispose();
        newMessageEventNotificationConfigBuilder_ = null;
      }
      sttConfig_ = null;
      if (sttConfigBuilder_ != null) {
        sttConfigBuilder_.dispose();
        sttConfigBuilder_ = null;
      }
      languageCode_ = "";
      timeZone_ = "";
      securitySettings_ = "";
      ttsConfig_ = null;
      if (ttsConfigBuilder_ != null) {
        ttsConfigBuilder_.dispose();
        ttsConfigBuilder_ = null;
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.dialogflow.v2beta1.ConversationProfileProto
          .internal_static_google_cloud_dialogflow_v2beta1_ConversationProfile_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.dialogflow.v2beta1.ConversationProfile getDefaultInstanceForType() {
      return com.google.cloud.dialogflow.v2beta1.ConversationProfile.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.cloud.dialogflow.v2beta1.ConversationProfile build() {
      com.google.cloud.dialogflow.v2beta1.ConversationProfile result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.cloud.dialogflow.v2beta1.ConversationProfile buildPartial() {
      com.google.cloud.dialogflow.v2beta1.ConversationProfile result =
          new com.google.cloud.dialogflow.v2beta1.ConversationProfile(this);
      if (bitField0_ != 0) {
        buildPartial0(result);
      }
      onBuilt();
      return result;
    }

    private void buildPartial0(com.google.cloud.dialogflow.v2beta1.ConversationProfile result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.displayName_ = displayName_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.automatedAgentConfig_ =
            automatedAgentConfigBuilder_ == null
                ? automatedAgentConfig_
                : automatedAgentConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.humanAgentAssistantConfig_ =
            humanAgentAssistantConfigBuilder_ == null
                ? humanAgentAssistantConfig_
                : humanAgentAssistantConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.humanAgentHandoffConfig_ =
            humanAgentHandoffConfigBuilder_ == null
                ? humanAgentHandoffConfig_
                : humanAgentHandoffConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.notificationConfig_ =
            notificationConfigBuilder_ == null
                ? notificationConfig_
                : notificationConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.loggingConfig_ =
            loggingConfigBuilder_ == null ? loggingConfig_ : loggingConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.newMessageEventNotificationConfig_ =
            newMessageEventNotificationConfigBuilder_ == null
                ? newMessageEventNotificationConfig_
                : newMessageEventNotificationConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.sttConfig_ = sttConfigBuilder_ == null ? sttConfig_ : sttConfigBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.languageCode_ = languageCode_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.timeZone_ = timeZone_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.securitySettings_ = securitySettings_;
      }
      if (((from_bitField0_ & 0x00004000) != 0)) {
        result.ttsConfig_ = ttsConfigBuilder_ == null ? ttsConfig_ : ttsConfigBuilder_.build();
      }
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.cloud.dialogflow.v2beta1.ConversationProfile) {
        return mergeFrom((com.google.cloud.dialogflow.v2beta1.ConversationProfile) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.dialogflow.v2beta1.ConversationProfile other) {
      if (other == com.google.cloud.dialogflow.v2beta1.ConversationProfile.getDefaultInstance())
        return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getDisplayName().isEmpty()) {
        displayName_ = other.displayName_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (other.hasCreateTime()) {
        mergeCreateTime(other.getCreateTime());
      }
      if (other.hasUpdateTime()) {
        mergeUpdateTime(other.getUpdateTime());
      }
      if (other.hasAutomatedAgentConfig()) {
        mergeAutomatedAgentConfig(other.getAutomatedAgentConfig());
      }
      if (other.hasHumanAgentAssistantConfig()) {
        mergeHumanAgentAssistantConfig(other.getHumanAgentAssistantConfig());
      }
      if (other.hasHumanAgentHandoffConfig()) {
        mergeHumanAgentHandoffConfig(other.getHumanAgentHandoffConfig());
      }
      if (other.hasNotificationConfig()) {
        mergeNotificationConfig(other.getNotificationConfig());
      }
      if (other.hasLoggingConfig()) {
        mergeLoggingConfig(other.getLoggingConfig());
      }
      if (other.hasNewMessageEventNotificationConfig()) {
        mergeNewMessageEventNotificationConfig(other.getNewMessageEventNotificationConfig());
      }
      if (other.hasSttConfig()) {
        mergeSttConfig(other.getSttConfig());
      }
      if (!other.getLanguageCode().isEmpty()) {
        languageCode_ = other.languageCode_;
        bitField0_ |= 0x00000800;
        onChanged();
      }
      if (!other.getTimeZone().isEmpty()) {
        timeZone_ = other.timeZone_;
        bitField0_ |= 0x00001000;
        onChanged();
      }
      if (!other.getSecuritySettings().isEmpty()) {
        securitySettings_ = other.securitySettings_;
        bitField0_ |= 0x00002000;
        onChanged();
      }
      if (other.hasTtsConfig()) {
        mergeTtsConfig(other.getTtsConfig());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                name_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                displayName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
            case 26:
              {
                input.readMessage(
                    getAutomatedAgentConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 26
            case 34:
              {
                input.readMessage(
                    getHumanAgentAssistantConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 34
            case 42:
              {
                input.readMessage(
                    getHumanAgentHandoffConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 42
            case 50:
              {
                input.readMessage(
                    getNotificationConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 50
            case 58:
              {
                input.readMessage(getLoggingConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000100;
                break;
              } // case 58
            case 66:
              {
                input.readMessage(
                    getNewMessageEventNotificationConfigFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000200;
                break;
              } // case 66
            case 74:
              {
                input.readMessage(getSttConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000400;
                break;
              } // case 74
            case 82:
              {
                languageCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000800;
                break;
              } // case 82
            case 90:
              {
                input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 90
            case 98:
              {
                input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 98
            case 106:
              {
                securitySettings_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00002000;
                break;
              } // case 106
            case 114:
              {
                timeZone_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00001000;
                break;
              } // case 114
            case 146:
              {
                input.readMessage(getTtsConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00004000;
                break;
              } // case 146
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }

    private int bitField0_;

    private java.lang.Object name_ = "";
    /**
     *
     *
     * <pre>
     * The unique identifier of this conversation profile.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
     * </pre>
     *
     * <code>string name = 1;</code>
     *
     * @return The name.
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * The unique identifier of this conversation profile.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
     * </pre>
     *
     * <code>string name = 1;</code>
     *
     * @return The bytes for name.
     */
    public com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * The unique identifier of this conversation profile.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
     * </pre>
     *
     * <code>string name = 1;</code>
     *
     * @param value The name to set.
     * @return This builder for chaining.
     */
    public Builder setName(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }
      name_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * The unique identifier of this conversation profile.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
     * </pre>
     *
     * <code>string name = 1;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearName() {
      name_ = getDefaultInstance().getName();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * The unique identifier of this conversation profile.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/conversationProfiles/&lt;Conversation Profile ID&gt;`.
     * </pre>
     *
     * <code>string name = 1;</code>
     *
     * @param value The bytes for name to set.
     * @return This builder for chaining.
     */
    public Builder setNameBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);
      name_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object displayName_ = "";
    /**
     *
     *
     * <pre>
     * Required. Human readable name for this profile. Max length 1024 bytes.
     * </pre>
     *
     * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     *
     * @return The displayName.
     */
    public java.lang.String getDisplayName() {
      java.lang.Object ref = displayName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        displayName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Required. Human readable name for this profile. Max length 1024 bytes.
     * </pre>
     *
     * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     *
     * @return The bytes for displayName.
     */
    public com.google.protobuf.ByteString getDisplayNameBytes() {
      java.lang.Object ref = displayName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        displayName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Required. Human readable name for this profile. Max length 1024 bytes.
     * </pre>
     *
     * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     *
     * @param value The displayName to set.
     * @return This builder for chaining.
     */
    public Builder setDisplayName(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }
      displayName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Required. Human readable name for this profile. Max length 1024 bytes.
     * </pre>
     *
     * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearDisplayName() {
      displayName_ = getDefaultInstance().getDisplayName();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Required. Human readable name for this profile. Max length 1024 bytes.
     * </pre>
     *
     * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     *
     * @param value The bytes for displayName to set.
     * @return This builder for chaining.
     */
    public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);
      displayName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }

    private com.google.protobuf.Timestamp createTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        createTimeBuilder_;
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     *
     * @return Whether the createTime field is set.
     */
    public boolean hasCreateTime() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     *
     * @return The createTime.
     */
    public com.google.protobuf.Timestamp getCreateTime() {
      if (createTimeBuilder_ == null) {
        return createTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : createTime_;
      } else {
        return createTimeBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder setCreateTime(com.google.protobuf.Timestamp value) {
      if (createTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        createTime_ = value;
      } else {
        createTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
      if (createTimeBuilder_ == null) {
        createTime_ = builderForValue.build();
      } else {
        createTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
      if (createTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000004) != 0)
            && createTime_ != null
            && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getCreateTimeBuilder().mergeFrom(value);
        } else {
          createTime_ = value;
        }
      } else {
        createTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder clearCreateTime() {
      bitField0_ = (bitField0_ & ~0x00000004);
      createTime_ = null;
      if (createTimeBuilder_ != null) {
        createTimeBuilder_.dispose();
        createTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
      bitField0_ |= 0x00000004;
      onChanged();
      return getCreateTimeFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
      if (createTimeBuilder_ != null) {
        return createTimeBuilder_.getMessageOrBuilder();
      } else {
        return createTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : createTime_;
      }
    }
    /**
     *
     *
     * <pre>
     * Output only. Create time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        getCreateTimeFieldBuilder() {
      if (createTimeBuilder_ == null) {
        createTimeBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.protobuf.Timestamp,
                com.google.protobuf.Timestamp.Builder,
                com.google.protobuf.TimestampOrBuilder>(
                getCreateTime(), getParentForChildren(), isClean());
        createTime_ = null;
      }
      return createTimeBuilder_;
    }

    private com.google.protobuf.Timestamp updateTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        updateTimeBuilder_;
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     *
     * @return Whether the updateTime field is set.
     */
    public boolean hasUpdateTime() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     *
     * @return The updateTime.
     */
    public com.google.protobuf.Timestamp getUpdateTime() {
      if (updateTimeBuilder_ == null) {
        return updateTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : updateTime_;
      } else {
        return updateTimeBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder setUpdateTime(com.google.protobuf.Timestamp value) {
      if (updateTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        updateTime_ = value;
      } else {
        updateTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
      if (updateTimeBuilder_ == null) {
        updateTime_ = builderForValue.build();
      } else {
        updateTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) {
      if (updateTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0)
            && updateTime_ != null
            && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getUpdateTimeBuilder().mergeFrom(value);
        } else {
          updateTime_ = value;
        }
      } else {
        updateTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public Builder clearUpdateTime() {
      bitField0_ = (bitField0_ & ~0x00000008);
      updateTime_ = null;
      if (updateTimeBuilder_ != null) {
        updateTimeBuilder_.dispose();
        updateTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() {
      bitField0_ |= 0x00000008;
      onChanged();
      return getUpdateTimeFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
      if (updateTimeBuilder_ != null) {
        return updateTimeBuilder_.getMessageOrBuilder();
      } else {
        return updateTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : updateTime_;
      }
    }
    /**
     *
     *
     * <pre>
     * Output only. Update time of the conversation profile.
     * </pre>
     *
     * <code>
     * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        getUpdateTimeFieldBuilder() {
      if (updateTimeBuilder_ == null) {
        updateTimeBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.protobuf.Timestamp,
                com.google.protobuf.Timestamp.Builder,
                com.google.protobuf.TimestampOrBuilder>(
                getUpdateTime(), getParentForChildren(), isClean());
        updateTime_ = null;
      }
      return updateTimeBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automatedAgentConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig,
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfigOrBuilder>
        automatedAgentConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     *
     * @return Whether the automatedAgentConfig field is set.
     */
    public boolean hasAutomatedAgentConfig() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     *
     * @return The automatedAgentConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig getAutomatedAgentConfig() {
      if (automatedAgentConfigBuilder_ == null) {
        return automatedAgentConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.getDefaultInstance()
            : automatedAgentConfig_;
      } else {
        return automatedAgentConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public Builder setAutomatedAgentConfig(
        com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig value) {
      if (automatedAgentConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        automatedAgentConfig_ = value;
      } else {
        automatedAgentConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public Builder setAutomatedAgentConfig(
        com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.Builder builderForValue) {
      if (automatedAgentConfigBuilder_ == null) {
        automatedAgentConfig_ = builderForValue.build();
      } else {
        automatedAgentConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public Builder mergeAutomatedAgentConfig(
        com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig value) {
      if (automatedAgentConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)
            && automatedAgentConfig_ != null
            && automatedAgentConfig_
                != com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.getDefaultInstance()) {
          getAutomatedAgentConfigBuilder().mergeFrom(value);
        } else {
          automatedAgentConfig_ = value;
        }
      } else {
        automatedAgentConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public Builder clearAutomatedAgentConfig() {
      bitField0_ = (bitField0_ & ~0x00000010);
      automatedAgentConfig_ = null;
      if (automatedAgentConfigBuilder_ != null) {
        automatedAgentConfigBuilder_.dispose();
        automatedAgentConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.Builder
        getAutomatedAgentConfigBuilder() {
      bitField0_ |= 0x00000010;
      onChanged();
      return getAutomatedAgentConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfigOrBuilder
        getAutomatedAgentConfigOrBuilder() {
      if (automatedAgentConfigBuilder_ != null) {
        return automatedAgentConfigBuilder_.getMessageOrBuilder();
      } else {
        return automatedAgentConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.getDefaultInstance()
            : automatedAgentConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for an automated agent to use with this profile.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig automated_agent_config = 3;
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig,
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfigOrBuilder>
        getAutomatedAgentConfigFieldBuilder() {
      if (automatedAgentConfigBuilder_ == null) {
        automatedAgentConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig,
                com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.AutomatedAgentConfigOrBuilder>(
                getAutomatedAgentConfig(), getParentForChildren(), isClean());
        automatedAgentConfig_ = null;
      }
      return automatedAgentConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig
        humanAgentAssistantConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig,
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfigOrBuilder>
        humanAgentAssistantConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     *
     * @return Whether the humanAgentAssistantConfig field is set.
     */
    public boolean hasHumanAgentAssistantConfig() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     *
     * @return The humanAgentAssistantConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig
        getHumanAgentAssistantConfig() {
      if (humanAgentAssistantConfigBuilder_ == null) {
        return humanAgentAssistantConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.getDefaultInstance()
            : humanAgentAssistantConfig_;
      } else {
        return humanAgentAssistantConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public Builder setHumanAgentAssistantConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig value) {
      if (humanAgentAssistantConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        humanAgentAssistantConfig_ = value;
      } else {
        humanAgentAssistantConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public Builder setHumanAgentAssistantConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.Builder builderForValue) {
      if (humanAgentAssistantConfigBuilder_ == null) {
        humanAgentAssistantConfig_ = builderForValue.build();
      } else {
        humanAgentAssistantConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public Builder mergeHumanAgentAssistantConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig value) {
      if (humanAgentAssistantConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)
            && humanAgentAssistantConfig_ != null
            && humanAgentAssistantConfig_
                != com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig
                    .getDefaultInstance()) {
          getHumanAgentAssistantConfigBuilder().mergeFrom(value);
        } else {
          humanAgentAssistantConfig_ = value;
        }
      } else {
        humanAgentAssistantConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public Builder clearHumanAgentAssistantConfig() {
      bitField0_ = (bitField0_ & ~0x00000020);
      humanAgentAssistantConfig_ = null;
      if (humanAgentAssistantConfigBuilder_ != null) {
        humanAgentAssistantConfigBuilder_.dispose();
        humanAgentAssistantConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.Builder
        getHumanAgentAssistantConfigBuilder() {
      bitField0_ |= 0x00000020;
      onChanged();
      return getHumanAgentAssistantConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfigOrBuilder
        getHumanAgentAssistantConfigOrBuilder() {
      if (humanAgentAssistantConfigBuilder_ != null) {
        return humanAgentAssistantConfigBuilder_.getMessageOrBuilder();
      } else {
        return humanAgentAssistantConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.getDefaultInstance()
            : humanAgentAssistantConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for agent assistance to use with this profile.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig human_agent_assistant_config = 4;
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig,
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfigOrBuilder>
        getHumanAgentAssistantConfigFieldBuilder() {
      if (humanAgentAssistantConfigBuilder_ == null) {
        humanAgentAssistantConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig,
                com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfigOrBuilder>(
                getHumanAgentAssistantConfig(), getParentForChildren(), isClean());
        humanAgentAssistantConfig_ = null;
      }
      return humanAgentAssistantConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig humanAgentHandoffConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig,
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfigOrBuilder>
        humanAgentHandoffConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     *
     * @return Whether the humanAgentHandoffConfig field is set.
     */
    public boolean hasHumanAgentHandoffConfig() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     *
     * @return The humanAgentHandoffConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig
        getHumanAgentHandoffConfig() {
      if (humanAgentHandoffConfigBuilder_ == null) {
        return humanAgentHandoffConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.getDefaultInstance()
            : humanAgentHandoffConfig_;
      } else {
        return humanAgentHandoffConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public Builder setHumanAgentHandoffConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig value) {
      if (humanAgentHandoffConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        humanAgentHandoffConfig_ = value;
      } else {
        humanAgentHandoffConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public Builder setHumanAgentHandoffConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.Builder builderForValue) {
      if (humanAgentHandoffConfigBuilder_ == null) {
        humanAgentHandoffConfig_ = builderForValue.build();
      } else {
        humanAgentHandoffConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public Builder mergeHumanAgentHandoffConfig(
        com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig value) {
      if (humanAgentHandoffConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)
            && humanAgentHandoffConfig_ != null
            && humanAgentHandoffConfig_
                != com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig
                    .getDefaultInstance()) {
          getHumanAgentHandoffConfigBuilder().mergeFrom(value);
        } else {
          humanAgentHandoffConfig_ = value;
        }
      } else {
        humanAgentHandoffConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public Builder clearHumanAgentHandoffConfig() {
      bitField0_ = (bitField0_ & ~0x00000040);
      humanAgentHandoffConfig_ = null;
      if (humanAgentHandoffConfigBuilder_ != null) {
        humanAgentHandoffConfigBuilder_.dispose();
        humanAgentHandoffConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.Builder
        getHumanAgentHandoffConfigBuilder() {
      bitField0_ |= 0x00000040;
      onChanged();
      return getHumanAgentHandoffConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfigOrBuilder
        getHumanAgentHandoffConfigOrBuilder() {
      if (humanAgentHandoffConfigBuilder_ != null) {
        return humanAgentHandoffConfigBuilder_.getMessageOrBuilder();
      } else {
        return humanAgentHandoffConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.getDefaultInstance()
            : humanAgentHandoffConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for connecting to a live agent.
     * Currently, this feature is not general available, please contact Google
     * to get access.
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig human_agent_handoff_config = 5;
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig,
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfigOrBuilder>
        getHumanAgentHandoffConfigFieldBuilder() {
      if (humanAgentHandoffConfigBuilder_ == null) {
        humanAgentHandoffConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig,
                com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.HumanAgentHandoffConfigOrBuilder>(
                getHumanAgentHandoffConfig(), getParentForChildren(), isClean());
        humanAgentHandoffConfig_ = null;
      }
      return humanAgentHandoffConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.NotificationConfig notificationConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.NotificationConfig,
            com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>
        notificationConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     *
     * @return Whether the notificationConfig field is set.
     */
    public boolean hasNotificationConfig() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     *
     * @return The notificationConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfig getNotificationConfig() {
      if (notificationConfigBuilder_ == null) {
        return notificationConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
            : notificationConfig_;
      } else {
        return notificationConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public Builder setNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig value) {
      if (notificationConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        notificationConfig_ = value;
      } else {
        notificationConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public Builder setNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder builderForValue) {
      if (notificationConfigBuilder_ == null) {
        notificationConfig_ = builderForValue.build();
      } else {
        notificationConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public Builder mergeNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig value) {
      if (notificationConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0)
            && notificationConfig_ != null
            && notificationConfig_
                != com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()) {
          getNotificationConfigBuilder().mergeFrom(value);
        } else {
          notificationConfig_ = value;
        }
      } else {
        notificationConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public Builder clearNotificationConfig() {
      bitField0_ = (bitField0_ & ~0x00000080);
      notificationConfig_ = null;
      if (notificationConfigBuilder_ != null) {
        notificationConfigBuilder_.dispose();
        notificationConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder
        getNotificationConfigBuilder() {
      bitField0_ |= 0x00000080;
      onChanged();
      return getNotificationConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder
        getNotificationConfigOrBuilder() {
      if (notificationConfigBuilder_ != null) {
        return notificationConfigBuilder_.getMessageOrBuilder();
      } else {
        return notificationConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
            : notificationConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.NotificationConfig notification_config = 6;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.NotificationConfig,
            com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>
        getNotificationConfigFieldBuilder() {
      if (notificationConfigBuilder_ == null) {
        notificationConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.NotificationConfig,
                com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>(
                getNotificationConfig(), getParentForChildren(), isClean());
        notificationConfig_ = null;
      }
      return notificationConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.LoggingConfig loggingConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.LoggingConfig,
            com.google.cloud.dialogflow.v2beta1.LoggingConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.LoggingConfigOrBuilder>
        loggingConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     *
     * @return Whether the loggingConfig field is set.
     */
    public boolean hasLoggingConfig() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     *
     * @return The loggingConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.LoggingConfig getLoggingConfig() {
      if (loggingConfigBuilder_ == null) {
        return loggingConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.LoggingConfig.getDefaultInstance()
            : loggingConfig_;
      } else {
        return loggingConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public Builder setLoggingConfig(com.google.cloud.dialogflow.v2beta1.LoggingConfig value) {
      if (loggingConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        loggingConfig_ = value;
      } else {
        loggingConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public Builder setLoggingConfig(
        com.google.cloud.dialogflow.v2beta1.LoggingConfig.Builder builderForValue) {
      if (loggingConfigBuilder_ == null) {
        loggingConfig_ = builderForValue.build();
      } else {
        loggingConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public Builder mergeLoggingConfig(com.google.cloud.dialogflow.v2beta1.LoggingConfig value) {
      if (loggingConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000100) != 0)
            && loggingConfig_ != null
            && loggingConfig_
                != com.google.cloud.dialogflow.v2beta1.LoggingConfig.getDefaultInstance()) {
          getLoggingConfigBuilder().mergeFrom(value);
        } else {
          loggingConfig_ = value;
        }
      } else {
        loggingConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public Builder clearLoggingConfig() {
      bitField0_ = (bitField0_ & ~0x00000100);
      loggingConfig_ = null;
      if (loggingConfigBuilder_ != null) {
        loggingConfigBuilder_.dispose();
        loggingConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.LoggingConfig.Builder getLoggingConfigBuilder() {
      bitField0_ |= 0x00000100;
      onChanged();
      return getLoggingConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.LoggingConfigOrBuilder getLoggingConfigOrBuilder() {
      if (loggingConfigBuilder_ != null) {
        return loggingConfigBuilder_.getMessageOrBuilder();
      } else {
        return loggingConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.LoggingConfig.getDefaultInstance()
            : loggingConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for logging conversation lifecycle events.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.LoggingConfig logging_config = 7;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.LoggingConfig,
            com.google.cloud.dialogflow.v2beta1.LoggingConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.LoggingConfigOrBuilder>
        getLoggingConfigFieldBuilder() {
      if (loggingConfigBuilder_ == null) {
        loggingConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.LoggingConfig,
                com.google.cloud.dialogflow.v2beta1.LoggingConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.LoggingConfigOrBuilder>(
                getLoggingConfig(), getParentForChildren(), isClean());
        loggingConfig_ = null;
      }
      return loggingConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.NotificationConfig
        newMessageEventNotificationConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.NotificationConfig,
            com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>
        newMessageEventNotificationConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     *
     * @return Whether the newMessageEventNotificationConfig field is set.
     */
    public boolean hasNewMessageEventNotificationConfig() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     *
     * @return The newMessageEventNotificationConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfig
        getNewMessageEventNotificationConfig() {
      if (newMessageEventNotificationConfigBuilder_ == null) {
        return newMessageEventNotificationConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
            : newMessageEventNotificationConfig_;
      } else {
        return newMessageEventNotificationConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public Builder setNewMessageEventNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig value) {
      if (newMessageEventNotificationConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        newMessageEventNotificationConfig_ = value;
      } else {
        newMessageEventNotificationConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public Builder setNewMessageEventNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder builderForValue) {
      if (newMessageEventNotificationConfigBuilder_ == null) {
        newMessageEventNotificationConfig_ = builderForValue.build();
      } else {
        newMessageEventNotificationConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public Builder mergeNewMessageEventNotificationConfig(
        com.google.cloud.dialogflow.v2beta1.NotificationConfig value) {
      if (newMessageEventNotificationConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000200) != 0)
            && newMessageEventNotificationConfig_ != null
            && newMessageEventNotificationConfig_
                != com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()) {
          getNewMessageEventNotificationConfigBuilder().mergeFrom(value);
        } else {
          newMessageEventNotificationConfig_ = value;
        }
      } else {
        newMessageEventNotificationConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public Builder clearNewMessageEventNotificationConfig() {
      bitField0_ = (bitField0_ & ~0x00000200);
      newMessageEventNotificationConfig_ = null;
      if (newMessageEventNotificationConfigBuilder_ != null) {
        newMessageEventNotificationConfigBuilder_.dispose();
        newMessageEventNotificationConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder
        getNewMessageEventNotificationConfigBuilder() {
      bitField0_ |= 0x00000200;
      onChanged();
      return getNewMessageEventNotificationConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    public com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder
        getNewMessageEventNotificationConfigOrBuilder() {
      if (newMessageEventNotificationConfigBuilder_ != null) {
        return newMessageEventNotificationConfigBuilder_.getMessageOrBuilder();
      } else {
        return newMessageEventNotificationConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.NotificationConfig.getDefaultInstance()
            : newMessageEventNotificationConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for publishing new message events. Event will be sent in
     * format of
     * [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
     * </pre>
     *
     * <code>
     * .google.cloud.dialogflow.v2beta1.NotificationConfig new_message_event_notification_config = 8;
     * </code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.NotificationConfig,
            com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>
        getNewMessageEventNotificationConfigFieldBuilder() {
      if (newMessageEventNotificationConfigBuilder_ == null) {
        newMessageEventNotificationConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.NotificationConfig,
                com.google.cloud.dialogflow.v2beta1.NotificationConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.NotificationConfigOrBuilder>(
                getNewMessageEventNotificationConfig(), getParentForChildren(), isClean());
        newMessageEventNotificationConfig_ = null;
      }
      return newMessageEventNotificationConfigBuilder_;
    }

    private com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig sttConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig,
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfigOrBuilder>
        sttConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     *
     * @return Whether the sttConfig field is set.
     */
    public boolean hasSttConfig() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     *
     * @return The sttConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig getSttConfig() {
      if (sttConfigBuilder_ == null) {
        return sttConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.getDefaultInstance()
            : sttConfig_;
      } else {
        return sttConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public Builder setSttConfig(com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig value) {
      if (sttConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        sttConfig_ = value;
      } else {
        sttConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public Builder setSttConfig(
        com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.Builder builderForValue) {
      if (sttConfigBuilder_ == null) {
        sttConfig_ = builderForValue.build();
      } else {
        sttConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public Builder mergeSttConfig(com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig value) {
      if (sttConfigBuilder_ == null) {
        if (((bitField0_ & 0x00000400) != 0)
            && sttConfig_ != null
            && sttConfig_
                != com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.getDefaultInstance()) {
          getSttConfigBuilder().mergeFrom(value);
        } else {
          sttConfig_ = value;
        }
      } else {
        sttConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public Builder clearSttConfig() {
      bitField0_ = (bitField0_ & ~0x00000400);
      sttConfig_ = null;
      if (sttConfigBuilder_ != null) {
        sttConfigBuilder_.dispose();
        sttConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.Builder getSttConfigBuilder() {
      bitField0_ |= 0x00000400;
      onChanged();
      return getSttConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.SpeechToTextConfigOrBuilder getSttConfigOrBuilder() {
      if (sttConfigBuilder_ != null) {
        return sttConfigBuilder_.getMessageOrBuilder();
      } else {
        return sttConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.getDefaultInstance()
            : sttConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Settings for speech transcription.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SpeechToTextConfig stt_config = 9;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig,
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.SpeechToTextConfigOrBuilder>
        getSttConfigFieldBuilder() {
      if (sttConfigBuilder_ == null) {
        sttConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig,
                com.google.cloud.dialogflow.v2beta1.SpeechToTextConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.SpeechToTextConfigOrBuilder>(
                getSttConfig(), getParentForChildren(), isClean());
        sttConfig_ = null;
      }
      return sttConfigBuilder_;
    }

    private java.lang.Object languageCode_ = "";
    /**
     *
     *
     * <pre>
     * Language code for the conversation profile. If not specified, the language
     * is en-US. Language at ConversationProfile should be set for all non en-us
     * languages.
     * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
     * language tag. Example: "en-US".
     * </pre>
     *
     * <code>string language_code = 10;</code>
     *
     * @return The languageCode.
     */
    public java.lang.String getLanguageCode() {
      java.lang.Object ref = languageCode_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        languageCode_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Language code for the conversation profile. If not specified, the language
     * is en-US. Language at ConversationProfile should be set for all non en-us
     * languages.
     * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
     * language tag. Example: "en-US".
     * </pre>
     *
     * <code>string language_code = 10;</code>
     *
     * @return The bytes for languageCode.
     */
    public com.google.protobuf.ByteString getLanguageCodeBytes() {
      java.lang.Object ref = languageCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        languageCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Language code for the conversation profile. If not specified, the language
     * is en-US. Language at ConversationProfile should be set for all non en-us
     * languages.
     * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
     * language tag. Example: "en-US".
     * </pre>
     *
     * <code>string language_code = 10;</code>
     *
     * @param value The languageCode to set.
     * @return This builder for chaining.
     */
    public Builder setLanguageCode(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }
      languageCode_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Language code for the conversation profile. If not specified, the language
     * is en-US. Language at ConversationProfile should be set for all non en-us
     * languages.
     * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
     * language tag. Example: "en-US".
     * </pre>
     *
     * <code>string language_code = 10;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearLanguageCode() {
      languageCode_ = getDefaultInstance().getLanguageCode();
      bitField0_ = (bitField0_ & ~0x00000800);
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Language code for the conversation profile. If not specified, the language
     * is en-US. Language at ConversationProfile should be set for all non en-us
     * languages.
     * This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
     * language tag. Example: "en-US".
     * </pre>
     *
     * <code>string language_code = 10;</code>
     *
     * @param value The bytes for languageCode to set.
     * @return This builder for chaining.
     */
    public Builder setLanguageCodeBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);
      languageCode_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }

    private java.lang.Object timeZone_ = "";
    /**
     *
     *
     * <pre>
     * The time zone of this conversational profile from the
     * [time zone database](https://www.iana.org/time-zones), e.g.,
     * America/New_York, Europe/Paris. Defaults to America/New_York.
     * </pre>
     *
     * <code>string time_zone = 14;</code>
     *
     * @return The timeZone.
     */
    public java.lang.String getTimeZone() {
      java.lang.Object ref = timeZone_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        timeZone_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * The time zone of this conversational profile from the
     * [time zone database](https://www.iana.org/time-zones), e.g.,
     * America/New_York, Europe/Paris. Defaults to America/New_York.
     * </pre>
     *
     * <code>string time_zone = 14;</code>
     *
     * @return The bytes for timeZone.
     */
    public com.google.protobuf.ByteString getTimeZoneBytes() {
      java.lang.Object ref = timeZone_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        timeZone_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * The time zone of this conversational profile from the
     * [time zone database](https://www.iana.org/time-zones), e.g.,
     * America/New_York, Europe/Paris. Defaults to America/New_York.
     * </pre>
     *
     * <code>string time_zone = 14;</code>
     *
     * @param value The timeZone to set.
     * @return This builder for chaining.
     */
    public Builder setTimeZone(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }
      timeZone_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * The time zone of this conversational profile from the
     * [time zone database](https://www.iana.org/time-zones), e.g.,
     * America/New_York, Europe/Paris. Defaults to America/New_York.
     * </pre>
     *
     * <code>string time_zone = 14;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearTimeZone() {
      timeZone_ = getDefaultInstance().getTimeZone();
      bitField0_ = (bitField0_ & ~0x00001000);
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * The time zone of this conversational profile from the
     * [time zone database](https://www.iana.org/time-zones), e.g.,
     * America/New_York, Europe/Paris. Defaults to America/New_York.
     * </pre>
     *
     * <code>string time_zone = 14;</code>
     *
     * @param value The bytes for timeZone to set.
     * @return This builder for chaining.
     */
    public Builder setTimeZoneBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);
      timeZone_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }

    private java.lang.Object securitySettings_ = "";
    /**
     *
     *
     * <pre>
     * Name of the CX SecuritySettings reference for the agent.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
     * </pre>
     *
     * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
     *
     * @return The securitySettings.
     */
    public java.lang.String getSecuritySettings() {
      java.lang.Object ref = securitySettings_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        securitySettings_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Name of the CX SecuritySettings reference for the agent.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
     * </pre>
     *
     * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
     *
     * @return The bytes for securitySettings.
     */
    public com.google.protobuf.ByteString getSecuritySettingsBytes() {
      java.lang.Object ref = securitySettings_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        securitySettings_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     * <pre>
     * Name of the CX SecuritySettings reference for the agent.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
     * </pre>
     *
     * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
     *
     * @param value The securitySettings to set.
     * @return This builder for chaining.
     */
    public Builder setSecuritySettings(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }
      securitySettings_ = value;
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Name of the CX SecuritySettings reference for the agent.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
     * </pre>
     *
     * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearSecuritySettings() {
      securitySettings_ = getDefaultInstance().getSecuritySettings();
      bitField0_ = (bitField0_ & ~0x00002000);
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Name of the CX SecuritySettings reference for the agent.
     * Format: `projects/&lt;Project ID&gt;/locations/&lt;Location
     * ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
     * </pre>
     *
     * <code>string security_settings = 13 [(.google.api.resource_reference) = { ... }</code>
     *
     * @param value The bytes for securitySettings to set.
     * @return This builder for chaining.
     */
    public Builder setSecuritySettingsBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);
      securitySettings_ = value;
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }

    private com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig ttsConfig_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig,
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfigOrBuilder>
        ttsConfigBuilder_;
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     *
     * @return Whether the ttsConfig field is set.
     */
    public boolean hasTtsConfig() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     *
     * @return The ttsConfig.
     */
    public com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig getTtsConfig() {
      if (ttsConfigBuilder_ == null) {
        return ttsConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.getDefaultInstance()
            : ttsConfig_;
      } else {
        return ttsConfigBuilder_.getMessage();
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public Builder setTtsConfig(com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig value) {
      if (ttsConfigBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ttsConfig_ = value;
      } else {
        ttsConfigBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public Builder setTtsConfig(
        com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.Builder builderForValue) {
      if (ttsConfigBuilder_ == null) {
        ttsConfig_ = builderForValue.build();
      } else {
        ttsConfigBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public Builder mergeTtsConfig(
        com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig value) {
      if (ttsConfigBuilder_ == null) {
        if (((bitField0_ & 0x00004000) != 0)
            && ttsConfig_ != null
            && ttsConfig_
                != com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig
                    .getDefaultInstance()) {
          getTtsConfigBuilder().mergeFrom(value);
        } else {
          ttsConfig_ = value;
        }
      } else {
        ttsConfigBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public Builder clearTtsConfig() {
      bitField0_ = (bitField0_ & ~0x00004000);
      ttsConfig_ = null;
      if (ttsConfigBuilder_ != null) {
        ttsConfigBuilder_.dispose();
        ttsConfigBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.Builder
        getTtsConfigBuilder() {
      bitField0_ |= 0x00004000;
      onChanged();
      return getTtsConfigFieldBuilder().getBuilder();
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    public com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfigOrBuilder
        getTtsConfigOrBuilder() {
      if (ttsConfigBuilder_ != null) {
        return ttsConfigBuilder_.getMessageOrBuilder();
      } else {
        return ttsConfig_ == null
            ? com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.getDefaultInstance()
            : ttsConfig_;
      }
    }
    /**
     *
     *
     * <pre>
     * Configuration for Text-to-Speech synthesization.
     * Used by Phone Gateway to specify synthesization options. If agent defines
     * synthesization options as well, agent settings overrides the option here.
     * </pre>
     *
     * <code>.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig tts_config = 18;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig,
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.Builder,
            com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfigOrBuilder>
        getTtsConfigFieldBuilder() {
      if (ttsConfigBuilder_ == null) {
        ttsConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig,
                com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig.Builder,
                com.google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfigOrBuilder>(
                getTtsConfig(), getParentForChildren(), isClean());
        ttsConfig_ = null;
      }
      return ttsConfigBuilder_;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }

    // @@protoc_insertion_point(builder_scope:google.cloud.dialogflow.v2beta1.ConversationProfile)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.dialogflow.v2beta1.ConversationProfile)
  private static final com.google.cloud.dialogflow.v2beta1.ConversationProfile DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.dialogflow.v2beta1.ConversationProfile();
  }

  public static com.google.cloud.dialogflow.v2beta1.ConversationProfile getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<ConversationProfile> PARSER =
      new com.google.protobuf.AbstractParser<ConversationProfile>() {
        @java.lang.Override
        public ConversationProfile parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

  public static com.google.protobuf.Parser<ConversationProfile> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<ConversationProfile> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.cloud.dialogflow.v2beta1.ConversationProfile getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}
