// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_VehSync.proto

package com.fca.uconnect.global;

public final class GlobalUconnectExtVehSync {
  private GlobalUconnectExtVehSync() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
    registry.add(com.fca.uconnect.global.GlobalUconnectExtVehSync.vehicleConfigPublish);
    registry.add(com.fca.uconnect.global.GlobalUconnectExtVehSync.vehicleConfigRequest);
    registry.add(com.fca.uconnect.global.GlobalUconnectExtVehSync.vehSyncAckMessage);
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface VehicleConfigPublishOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.VehicleConfigPublish)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
     */
    boolean hasSender();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source getSender();

    /**
     * <pre>
     *&#47; This identifies the version of this configuration.
     * </pre>
     *
     * <code>optional int32 configSetVersion = 3;</code>
     */
    boolean hasConfigSetVersion();
    /**
     * <pre>
     *&#47; This identifies the version of this configuration.
     * </pre>
     *
     * <code>optional int32 configSetVersion = 3;</code>
     */
    int getConfigSetVersion();

    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    boolean hasModelData();
    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getModelData();
    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder getModelDataOrBuilder();

    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int64 timestamp = 5;</code>
     */
    boolean hasTimestamp();
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int64 timestamp = 5;</code>
     */
    long getTimestamp();

    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 messageId = 6;</code>
     */
    boolean hasMessageId();
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 messageId = 6;</code>
     */
    int getMessageId();

    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 signatureId = 7;</code>
     */
    boolean hasSignatureId();
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 signatureId = 7;</code>
     */
    int getSignatureId();
  }
  /**
   * <pre>
   **
   * Data elements to be synchronized between the vehicle and the cloud.
   * &lt;div class=exmsg-main&gt;
   * &lt;h4&gt;VehicleConfigPublish Example Message:&lt;/h4&gt;
   * &lt;div class=ex-msg&gt;
   * &lt;code&gt;
   *		timestamp: 1490113287838
   *		messageId: 1
   *		correlationId: 11
   *		messages
   *		{
   *		 [com.fca.uconnect.global.vehicleConfigPublish]
   *		 {
   *		  configSetVersion: 1
   *		  modelData {
   *		   personalAccountData
   *		   {
   *		    infotainmentPreference
   *		    {
   *		     radio_preset
   *		     {
   * 		      stations
   *		      {
   *		      	stationType: FM
   *		      	stationFrequency: 91
   *		      	stationName: "Michigan Radio"
   *		      }
   *		     }
   *			 music_favorite
   *			 {
   *			  bandNames: "Green Day"
   *			  songNames: "Wake Me Up When September"
   *			  songNames: "Boulevard of Broken Dreams"
   *			 }
   *			}
   *		  navigationPreference
   *		  {
   *		   favoriteLocations
   *		   {
   *		    destination_description: "fav restaurant"
   *		    location
   *		    {
   *		     positionLatitude: 42.480201
   *		     positionLongitude: -83.671875
   *		    }
   *		    destination_poi
   *		    {
   *		     name: "ABCD Restaurant"
   *		     category: "Restaurant"
   *		     id: 123
   *		     location
   *		     {
   *		      positionLatitude: 42.480201
   *		      positionLongitude: -83.671875
   *		     }
   *		     phoneNumber: "123 456 7890"
   *		     address
   *		     {
   *		      countryName: "USA"
   *		      provinceName: "Michigan"
   *		      cityName: "Auburn Hills"
   *		      streetName: "abc drive"
   *		      houseNumber: "2000"
   *		     }
   *		     description: "favorite"
   *		     url: "www.abcrestaurant.com"
   *		    }
   *		    destination_address
   *		    {
   *		     countryName: "USA"
   *		     provinceName: "Michigan"
   *		     cityName: "Auburn Hills"
   *		     streetName: "Chrystler Drive"
   *		     houseNumber: "1000"
   *		    }
   *		    create_timestamp: 1490113287835
   *		    orignalSource: SDP
   *		    routePreference: Fast
   *		   }
   *		  }
   *		 }
   * 		chinaPHEVSettings
   * 		{
   *		 alarmReportingIntervalMS: 36000
   * 		 realTimeReportingIntervalMS: 36000
   * 		 alarmReportingWindowMS: 36000
   * 		 replaceReportRatio: 100
   * 		}
   *	   }
   *	  }
   *	 }
   * &lt;/code&gt;
   * &lt;/div&gt;
   * &lt;/div&gt;
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.VehicleConfigPublish}
   */
  public  static final class VehicleConfigPublish extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.VehicleConfigPublish)
      VehicleConfigPublishOrBuilder {
    // Use VehicleConfigPublish.newBuilder() to construct.
    private VehicleConfigPublish(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VehicleConfigPublish() {
      sender_ = 0;
      configSetVersion_ = 0;
      timestamp_ = 0L;
      messageId_ = 0;
      signatureId_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VehicleConfigPublish(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source value = com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                sender_ = rawValue;
              }
              break;
            }
            case 24: {
              bitField0_ |= 0x00000002;
              configSetVersion_ = input.readInt32();
              break;
            }
            case 34: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = modelData_.toBuilder();
              }
              modelData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(modelData_);
                modelData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readInt64();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              messageId_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000020;
              signatureId_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigPublish_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleConfigPublish.Source}
     */
    public enum Source
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>SDP = 0;</code>
       */
      SDP(0),
      /**
       * <code>Vehicle = 1;</code>
       */
      Vehicle(1),
      ;

      /**
       * <code>SDP = 0;</code>
       */
      public static final int SDP_VALUE = 0;
      /**
       * <code>Vehicle = 1;</code>
       */
      public static final int Vehicle_VALUE = 1;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Source valueOf(int value) {
        return forNumber(value);
      }

      public static Source forNumber(int value) {
        switch (value) {
          case 0: return SDP;
          case 1: return Vehicle;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Source>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Source> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Source>() {
              public Source findValueByNumber(int number) {
                return Source.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.getDescriptor().getEnumTypes().get(0);
      }

      private static final Source[] VALUES = values();

      public static Source valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Source(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleConfigPublish.Source)
    }

    private int bitField0_;
    public static final int SENDER_FIELD_NUMBER = 1;
    private int sender_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
     */
    public boolean hasSender() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source getSender() {
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source result = com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source.valueOf(sender_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source.SDP : result;
    }

    public static final int CONFIGSETVERSION_FIELD_NUMBER = 3;
    private int configSetVersion_;
    /**
     * <pre>
     *&#47; This identifies the version of this configuration.
     * </pre>
     *
     * <code>optional int32 configSetVersion = 3;</code>
     */
    public boolean hasConfigSetVersion() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; This identifies the version of this configuration.
     * </pre>
     *
     * <code>optional int32 configSetVersion = 3;</code>
     */
    public int getConfigSetVersion() {
      return configSetVersion_;
    }

    public static final int MODELDATA_FIELD_NUMBER = 4;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel modelData_;
    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    public boolean hasModelData() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getModelData() {
      return modelData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance() : modelData_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder getModelDataOrBuilder() {
      return modelData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance() : modelData_;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 5;
    private long timestamp_;
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int64 timestamp = 5;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int64 timestamp = 5;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int MESSAGEID_FIELD_NUMBER = 6;
    private int messageId_;
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 messageId = 6;</code>
     */
    public boolean hasMessageId() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 messageId = 6;</code>
     */
    public int getMessageId() {
      return messageId_;
    }

    public static final int SIGNATUREID_FIELD_NUMBER = 7;
    private int signatureId_;
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 signatureId = 7;</code>
     */
    public boolean hasSignatureId() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47;Added for signature correlation to message
     * </pre>
     *
     * <code>optional int32 signatureId = 7;</code>
     */
    public int getSignatureId() {
      return signatureId_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, sender_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(3, configSetVersion_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(4, getModelData());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(5, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(6, messageId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(7, signatureId_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, sender_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, configSetVersion_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getModelData());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, messageId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, signatureId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish) obj;

      boolean result = true;
      result = result && (hasSender() == other.hasSender());
      if (hasSender()) {
        result = result && sender_ == other.sender_;
      }
      result = result && (hasConfigSetVersion() == other.hasConfigSetVersion());
      if (hasConfigSetVersion()) {
        result = result && (getConfigSetVersion()
            == other.getConfigSetVersion());
      }
      result = result && (hasModelData() == other.hasModelData());
      if (hasModelData()) {
        result = result && getModelData()
            .equals(other.getModelData());
      }
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && (getTimestamp()
            == other.getTimestamp());
      }
      result = result && (hasMessageId() == other.hasMessageId());
      if (hasMessageId()) {
        result = result && (getMessageId()
            == other.getMessageId());
      }
      result = result && (hasSignatureId() == other.hasSignatureId());
      if (hasSignatureId()) {
        result = result && (getSignatureId()
            == other.getSignatureId());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasSender()) {
        hash = (37 * hash) + SENDER_FIELD_NUMBER;
        hash = (53 * hash) + sender_;
      }
      if (hasConfigSetVersion()) {
        hash = (37 * hash) + CONFIGSETVERSION_FIELD_NUMBER;
        hash = (53 * hash) + getConfigSetVersion();
      }
      if (hasModelData()) {
        hash = (37 * hash) + MODELDATA_FIELD_NUMBER;
        hash = (53 * hash) + getModelData().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTimestamp());
      }
      if (hasMessageId()) {
        hash = (37 * hash) + MESSAGEID_FIELD_NUMBER;
        hash = (53 * hash) + getMessageId();
      }
      if (hasSignatureId()) {
        hash = (37 * hash) + SIGNATUREID_FIELD_NUMBER;
        hash = (53 * hash) + getSignatureId();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * Data elements to be synchronized between the vehicle and the cloud.
     * &lt;div class=exmsg-main&gt;
     * &lt;h4&gt;VehicleConfigPublish Example Message:&lt;/h4&gt;
     * &lt;div class=ex-msg&gt;
     * &lt;code&gt;
     *		timestamp: 1490113287838
     *		messageId: 1
     *		correlationId: 11
     *		messages
     *		{
     *		 [com.fca.uconnect.global.vehicleConfigPublish]
     *		 {
     *		  configSetVersion: 1
     *		  modelData {
     *		   personalAccountData
     *		   {
     *		    infotainmentPreference
     *		    {
     *		     radio_preset
     *		     {
     * 		      stations
     *		      {
     *		      	stationType: FM
     *		      	stationFrequency: 91
     *		      	stationName: "Michigan Radio"
     *		      }
     *		     }
     *			 music_favorite
     *			 {
     *			  bandNames: "Green Day"
     *			  songNames: "Wake Me Up When September"
     *			  songNames: "Boulevard of Broken Dreams"
     *			 }
     *			}
     *		  navigationPreference
     *		  {
     *		   favoriteLocations
     *		   {
     *		    destination_description: "fav restaurant"
     *		    location
     *		    {
     *		     positionLatitude: 42.480201
     *		     positionLongitude: -83.671875
     *		    }
     *		    destination_poi
     *		    {
     *		     name: "ABCD Restaurant"
     *		     category: "Restaurant"
     *		     id: 123
     *		     location
     *		     {
     *		      positionLatitude: 42.480201
     *		      positionLongitude: -83.671875
     *		     }
     *		     phoneNumber: "123 456 7890"
     *		     address
     *		     {
     *		      countryName: "USA"
     *		      provinceName: "Michigan"
     *		      cityName: "Auburn Hills"
     *		      streetName: "abc drive"
     *		      houseNumber: "2000"
     *		     }
     *		     description: "favorite"
     *		     url: "www.abcrestaurant.com"
     *		    }
     *		    destination_address
     *		    {
     *		     countryName: "USA"
     *		     provinceName: "Michigan"
     *		     cityName: "Auburn Hills"
     *		     streetName: "Chrystler Drive"
     *		     houseNumber: "1000"
     *		    }
     *		    create_timestamp: 1490113287835
     *		    orignalSource: SDP
     *		    routePreference: Fast
     *		   }
     *		  }
     *		 }
     * 		chinaPHEVSettings
     * 		{
     *		 alarmReportingIntervalMS: 36000
     * 		 realTimeReportingIntervalMS: 36000
     * 		 alarmReportingWindowMS: 36000
     * 		 replaceReportRatio: 100
     * 		}
     *	   }
     *	  }
     *	 }
     * &lt;/code&gt;
     * &lt;/div&gt;
     * &lt;/div&gt;
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.VehicleConfigPublish}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.VehicleConfigPublish)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublishOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigPublish_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getModelDataFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        sender_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        configSetVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (modelDataBuilder_ == null) {
          modelData_ = null;
        } else {
          modelDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        messageId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        signatureId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.sender_ = sender_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.configSetVersion_ = configSetVersion_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (modelDataBuilder_ == null) {
          result.modelData_ = modelData_;
        } else {
          result.modelData_ = modelDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.messageId_ = messageId_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.signatureId_ = signatureId_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.getDefaultInstance()) return this;
        if (other.hasSender()) {
          setSender(other.getSender());
        }
        if (other.hasConfigSetVersion()) {
          setConfigSetVersion(other.getConfigSetVersion());
        }
        if (other.hasModelData()) {
          mergeModelData(other.getModelData());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasMessageId()) {
          setMessageId(other.getMessageId());
        }
        if (other.hasSignatureId()) {
          setSignatureId(other.getSignatureId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int sender_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
       */
      public boolean hasSender() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source getSender() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source result = com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source.valueOf(sender_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source.SDP : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
       */
      public Builder setSender(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.Source value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        sender_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleConfigPublish.Source sender = 1;</code>
       */
      public Builder clearSender() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sender_ = 0;
        onChanged();
        return this;
      }

      private int configSetVersion_ ;
      /**
       * <pre>
       *&#47; This identifies the version of this configuration.
       * </pre>
       *
       * <code>optional int32 configSetVersion = 3;</code>
       */
      public boolean hasConfigSetVersion() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; This identifies the version of this configuration.
       * </pre>
       *
       * <code>optional int32 configSetVersion = 3;</code>
       */
      public int getConfigSetVersion() {
        return configSetVersion_;
      }
      /**
       * <pre>
       *&#47; This identifies the version of this configuration.
       * </pre>
       *
       * <code>optional int32 configSetVersion = 3;</code>
       */
      public Builder setConfigSetVersion(int value) {
        bitField0_ |= 0x00000002;
        configSetVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; This identifies the version of this configuration.
       * </pre>
       *
       * <code>optional int32 configSetVersion = 3;</code>
       */
      public Builder clearConfigSetVersion() {
        bitField0_ = (bitField0_ & ~0x00000002);
        configSetVersion_ = 0;
        onChanged();
        return this;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel modelData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder> modelDataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public boolean hasModelData() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getModelData() {
        if (modelDataBuilder_ == null) {
          return modelData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance() : modelData_;
        } else {
          return modelDataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public Builder setModelData(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel value) {
        if (modelDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          modelData_ = value;
          onChanged();
        } else {
          modelDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public Builder setModelData(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder builderForValue) {
        if (modelDataBuilder_ == null) {
          modelData_ = builderForValue.build();
          onChanged();
        } else {
          modelDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public Builder mergeModelData(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel value) {
        if (modelDataBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              modelData_ != null &&
              modelData_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance()) {
            modelData_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.newBuilder(modelData_).mergeFrom(value).buildPartial();
          } else {
            modelData_ = value;
          }
          onChanged();
        } else {
          modelDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public Builder clearModelData() {
        if (modelDataBuilder_ == null) {
          modelData_ = null;
          onChanged();
        } else {
          modelDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder getModelDataBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getModelDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder getModelDataOrBuilder() {
        if (modelDataBuilder_ != null) {
          return modelDataBuilder_.getMessageOrBuilder();
        } else {
          return modelData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance() : modelData_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehSyncModel modelData = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder> 
          getModelDataFieldBuilder() {
        if (modelDataBuilder_ == null) {
          modelDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder>(
                  getModelData(),
                  getParentForChildren(),
                  isClean());
          modelData_ = null;
        }
        return modelDataBuilder_;
      }

      private long timestamp_ ;
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int64 timestamp = 5;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int64 timestamp = 5;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int64 timestamp = 5;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int64 timestamp = 5;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private int messageId_ ;
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 messageId = 6;</code>
       */
      public boolean hasMessageId() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 messageId = 6;</code>
       */
      public int getMessageId() {
        return messageId_;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 messageId = 6;</code>
       */
      public Builder setMessageId(int value) {
        bitField0_ |= 0x00000010;
        messageId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 messageId = 6;</code>
       */
      public Builder clearMessageId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        messageId_ = 0;
        onChanged();
        return this;
      }

      private int signatureId_ ;
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 signatureId = 7;</code>
       */
      public boolean hasSignatureId() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 signatureId = 7;</code>
       */
      public int getSignatureId() {
        return signatureId_;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 signatureId = 7;</code>
       */
      public Builder setSignatureId(int value) {
        bitField0_ |= 0x00000020;
        signatureId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Added for signature correlation to message
       * </pre>
       *
       * <code>optional int32 signatureId = 7;</code>
       */
      public Builder clearSignatureId() {
        bitField0_ = (bitField0_ & ~0x00000020);
        signatureId_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.VehicleConfigPublish)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.VehicleConfigPublish)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<VehicleConfigPublish>
        PARSER = new com.google.protobuf.AbstractParser<VehicleConfigPublish>() {
      public VehicleConfigPublish parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new VehicleConfigPublish(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VehicleConfigRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.VehicleConfigRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int32 configSetVersion = 1;</code>
     */
    boolean hasConfigSetVersion();
    /**
     * <code>optional int32 configSetVersion = 1;</code>
     */
    int getConfigSetVersion();
  }
  /**
   * <pre>
   **
   * This message is to request Vehicle Configuration.
   *  &lt;div class=exmsg-main&gt;
   * &lt;h4&gt;VehicleConfigRequest Example Message:&lt;/h4&gt;
   * &lt;div class=ex-msg&gt;
   *	&lt;code&gt;
   * 		timestamp: 1490113248814
   * 		messageId: 11
   * 		messages
   * 		{
   * 		 [com.fca.uconnect.global.vehicleConfigRequest]
   * 		 {
   * 			configSetVersion: 1
   * 		 }
   * 		}
   * &lt;/code&gt;
   * &lt;/div&gt;
   * &lt;/div&gt;
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.VehicleConfigRequest}
   */
  public  static final class VehicleConfigRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.VehicleConfigRequest)
      VehicleConfigRequestOrBuilder {
    // Use VehicleConfigRequest.newBuilder() to construct.
    private VehicleConfigRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VehicleConfigRequest() {
      configSetVersion_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VehicleConfigRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              configSetVersion_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.Builder.class);
    }

    private int bitField0_;
    public static final int CONFIGSETVERSION_FIELD_NUMBER = 1;
    private int configSetVersion_;
    /**
     * <code>optional int32 configSetVersion = 1;</code>
     */
    public boolean hasConfigSetVersion() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 configSetVersion = 1;</code>
     */
    public int getConfigSetVersion() {
      return configSetVersion_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, configSetVersion_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, configSetVersion_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest) obj;

      boolean result = true;
      result = result && (hasConfigSetVersion() == other.hasConfigSetVersion());
      if (hasConfigSetVersion()) {
        result = result && (getConfigSetVersion()
            == other.getConfigSetVersion());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasConfigSetVersion()) {
        hash = (37 * hash) + CONFIGSETVERSION_FIELD_NUMBER;
        hash = (53 * hash) + getConfigSetVersion();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This message is to request Vehicle Configuration.
     *  &lt;div class=exmsg-main&gt;
     * &lt;h4&gt;VehicleConfigRequest Example Message:&lt;/h4&gt;
     * &lt;div class=ex-msg&gt;
     *	&lt;code&gt;
     * 		timestamp: 1490113248814
     * 		messageId: 11
     * 		messages
     * 		{
     * 		 [com.fca.uconnect.global.vehicleConfigRequest]
     * 		 {
     * 			configSetVersion: 1
     * 		 }
     * 		}
     * &lt;/code&gt;
     * &lt;/div&gt;
     * &lt;/div&gt;
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.VehicleConfigRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.VehicleConfigRequest)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        configSetVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.configSetVersion_ = configSetVersion_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.getDefaultInstance()) return this;
        if (other.hasConfigSetVersion()) {
          setConfigSetVersion(other.getConfigSetVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int configSetVersion_ ;
      /**
       * <code>optional int32 configSetVersion = 1;</code>
       */
      public boolean hasConfigSetVersion() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 configSetVersion = 1;</code>
       */
      public int getConfigSetVersion() {
        return configSetVersion_;
      }
      /**
       * <code>optional int32 configSetVersion = 1;</code>
       */
      public Builder setConfigSetVersion(int value) {
        bitField0_ |= 0x00000001;
        configSetVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 configSetVersion = 1;</code>
       */
      public Builder clearConfigSetVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        configSetVersion_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.VehicleConfigRequest)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.VehicleConfigRequest)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<VehicleConfigRequest>
        PARSER = new com.google.protobuf.AbstractParser<VehicleConfigRequest>() {
      public VehicleConfigRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new VehicleConfigRequest(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VehSyncModelOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.VehSyncModel)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    boolean hasWifiConfigSet();
    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getWifiConfigSet();
    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder getWifiConfigSetOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    boolean hasPersonalAccountData();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getPersonalAccountData();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder getPersonalAccountDataOrBuilder();

    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    boolean hasChinaPHEVSettings();
    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getChinaPHEVSettings();
    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder getChinaPHEVSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    boolean hasConnectedVehicleSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getConnectedVehicleSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder getConnectedVehicleSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    boolean hasECallSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getECallSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder getECallSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    boolean hasBCallSettings();
    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getBCallSettings();
    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder getBCallSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    boolean hasSqdfSettings();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getSqdfSettings();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder getSqdfSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    boolean hasAotaSettings();
    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getAotaSettings();
    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder getAotaSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    boolean hasTheftAlarmNotificationSettings();
    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getTheftAlarmNotificationSettings();
    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder getTheftAlarmNotificationSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    boolean hasRemoteOperationSettings();
    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getRemoteOperationSettings();
    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder getRemoteOperationSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    boolean hasStolenVehicleAssistanceSettings();
    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getStolenVehicleAssistanceSettings();
    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder getStolenVehicleAssistanceSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    boolean hasVehicleFinderSettings();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getVehicleFinderSettings();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder getVehicleFinderSettingsOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    boolean hasParentalControlsSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getParentalControlsSettings();
    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder getParentalControlsSettingsOrBuilder();
  }
  /**
   * <pre>
   **
   * This Message is the container for the application specific settings
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.VehSyncModel}
   */
  public  static final class VehSyncModel extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.VehSyncModel)
      VehSyncModelOrBuilder {
    // Use VehSyncModel.newBuilder() to construct.
    private VehSyncModel(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VehSyncModel() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VehSyncModel(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = wifiConfigSet_.toBuilder();
              }
              wifiConfigSet_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(wifiConfigSet_);
                wifiConfigSet_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = personalAccountData_.toBuilder();
              }
              personalAccountData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(personalAccountData_);
                personalAccountData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = chinaPHEVSettings_.toBuilder();
              }
              chinaPHEVSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(chinaPHEVSettings_);
                chinaPHEVSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = connectedVehicleSettings_.toBuilder();
              }
              connectedVehicleSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(connectedVehicleSettings_);
                connectedVehicleSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 42: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = eCallSettings_.toBuilder();
              }
              eCallSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(eCallSettings_);
                eCallSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 50: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                subBuilder = bCallSettings_.toBuilder();
              }
              bCallSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(bCallSettings_);
                bCallSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
            case 58: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                subBuilder = sqdfSettings_.toBuilder();
              }
              sqdfSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sqdfSettings_);
                sqdfSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000040;
              break;
            }
            case 66: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = aotaSettings_.toBuilder();
              }
              aotaSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(aotaSettings_);
                aotaSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 74: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = theftAlarmNotificationSettings_.toBuilder();
              }
              theftAlarmNotificationSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(theftAlarmNotificationSettings_);
                theftAlarmNotificationSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 82: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) == 0x00000200)) {
                subBuilder = remoteOperationSettings_.toBuilder();
              }
              remoteOperationSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(remoteOperationSettings_);
                remoteOperationSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
            case 90: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000400) == 0x00000400)) {
                subBuilder = stolenVehicleAssistanceSettings_.toBuilder();
              }
              stolenVehicleAssistanceSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(stolenVehicleAssistanceSettings_);
                stolenVehicleAssistanceSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000400;
              break;
            }
            case 98: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00000800) == 0x00000800)) {
                subBuilder = vehicleFinderSettings_.toBuilder();
              }
              vehicleFinderSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(vehicleFinderSettings_);
                vehicleFinderSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000800;
              break;
            }
            case 106: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder subBuilder = null;
              if (((bitField0_ & 0x00001000) == 0x00001000)) {
                subBuilder = parentalControlsSettings_.toBuilder();
              }
              parentalControlsSettings_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(parentalControlsSettings_);
                parentalControlsSettings_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00001000;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehSyncModel_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehSyncModel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder.class);
    }

    private int bitField0_;
    public static final int WIFICONFIGSET_FIELD_NUMBER = 1;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting wifiConfigSet_;
    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    public boolean hasWifiConfigSet() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getWifiConfigSet() {
      return wifiConfigSet_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance() : wifiConfigSet_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder getWifiConfigSetOrBuilder() {
      return wifiConfigSet_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance() : wifiConfigSet_;
    }

    public static final int PERSONALACCOUNTDATA_FIELD_NUMBER = 2;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount personalAccountData_;
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    public boolean hasPersonalAccountData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getPersonalAccountData() {
      return personalAccountData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance() : personalAccountData_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder getPersonalAccountDataOrBuilder() {
      return personalAccountData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance() : personalAccountData_;
    }

    public static final int CHINAPHEVSETTINGS_FIELD_NUMBER = 3;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings chinaPHEVSettings_;
    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    public boolean hasChinaPHEVSettings() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getChinaPHEVSettings() {
      return chinaPHEVSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance() : chinaPHEVSettings_;
    }
    /**
     * <pre>
     *&#47; intervals for PHEV Type.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder getChinaPHEVSettingsOrBuilder() {
      return chinaPHEVSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance() : chinaPHEVSettings_;
    }

    public static final int CONNECTEDVEHICLESETTINGS_FIELD_NUMBER = 4;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings connectedVehicleSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    public boolean hasConnectedVehicleSettings() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getConnectedVehicleSettings() {
      return connectedVehicleSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance() : connectedVehicleSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder getConnectedVehicleSettingsOrBuilder() {
      return connectedVehicleSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance() : connectedVehicleSettings_;
    }

    public static final int ECALLSETTINGS_FIELD_NUMBER = 5;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings eCallSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    public boolean hasECallSettings() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getECallSettings() {
      return eCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance() : eCallSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder getECallSettingsOrBuilder() {
      return eCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance() : eCallSettings_;
    }

    public static final int BCALLSETTINGS_FIELD_NUMBER = 6;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings bCallSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    public boolean hasBCallSettings() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getBCallSettings() {
      return bCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance() : bCallSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder getBCallSettingsOrBuilder() {
      return bCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance() : bCallSettings_;
    }

    public static final int SQDFSETTINGS_FIELD_NUMBER = 7;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings sqdfSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    public boolean hasSqdfSettings() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getSqdfSettings() {
      return sqdfSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance() : sqdfSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder getSqdfSettingsOrBuilder() {
      return sqdfSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance() : sqdfSettings_;
    }

    public static final int AOTASETTINGS_FIELD_NUMBER = 8;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings aotaSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    public boolean hasAotaSettings() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getAotaSettings() {
      return aotaSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance() : aotaSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder getAotaSettingsOrBuilder() {
      return aotaSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance() : aotaSettings_;
    }

    public static final int THEFTALARMNOTIFICATIONSETTINGS_FIELD_NUMBER = 9;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings theftAlarmNotificationSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    public boolean hasTheftAlarmNotificationSettings() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getTheftAlarmNotificationSettings() {
      return theftAlarmNotificationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance() : theftAlarmNotificationSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder getTheftAlarmNotificationSettingsOrBuilder() {
      return theftAlarmNotificationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance() : theftAlarmNotificationSettings_;
    }

    public static final int REMOTEOPERATIONSETTINGS_FIELD_NUMBER = 10;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings remoteOperationSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    public boolean hasRemoteOperationSettings() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getRemoteOperationSettings() {
      return remoteOperationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance() : remoteOperationSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder getRemoteOperationSettingsOrBuilder() {
      return remoteOperationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance() : remoteOperationSettings_;
    }

    public static final int STOLENVEHICLEASSISTANCESETTINGS_FIELD_NUMBER = 11;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    public boolean hasStolenVehicleAssistanceSettings() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getStolenVehicleAssistanceSettings() {
      return stolenVehicleAssistanceSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance() : stolenVehicleAssistanceSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder getStolenVehicleAssistanceSettingsOrBuilder() {
      return stolenVehicleAssistanceSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance() : stolenVehicleAssistanceSettings_;
    }

    public static final int VEHICLEFINDERSETTINGS_FIELD_NUMBER = 12;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings vehicleFinderSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    public boolean hasVehicleFinderSettings() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getVehicleFinderSettings() {
      return vehicleFinderSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance() : vehicleFinderSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder getVehicleFinderSettingsOrBuilder() {
      return vehicleFinderSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance() : vehicleFinderSettings_;
    }

    public static final int PARENTALCONTROLSSETTINGS_FIELD_NUMBER = 13;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parentalControlsSettings_;
    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    public boolean hasParentalControlsSettings() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getParentalControlsSettings() {
      return parentalControlsSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance() : parentalControlsSettings_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder getParentalControlsSettingsOrBuilder() {
      return parentalControlsSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance() : parentalControlsSettings_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getWifiConfigSet());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, getPersonalAccountData());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, getChinaPHEVSettings());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, getConnectedVehicleSettings());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, getECallSettings());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeMessage(6, getBCallSettings());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeMessage(7, getSqdfSettings());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(8, getAotaSettings());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(9, getTheftAlarmNotificationSettings());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeMessage(10, getRemoteOperationSettings());
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeMessage(11, getStolenVehicleAssistanceSettings());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeMessage(12, getVehicleFinderSettings());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeMessage(13, getParentalControlsSettings());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getWifiConfigSet());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getPersonalAccountData());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getChinaPHEVSettings());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getConnectedVehicleSettings());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getECallSettings());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getBCallSettings());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getSqdfSettings());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getAotaSettings());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getTheftAlarmNotificationSettings());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getRemoteOperationSettings());
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getStolenVehicleAssistanceSettings());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getVehicleFinderSettings());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getParentalControlsSettings());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel) obj;

      boolean result = true;
      result = result && (hasWifiConfigSet() == other.hasWifiConfigSet());
      if (hasWifiConfigSet()) {
        result = result && getWifiConfigSet()
            .equals(other.getWifiConfigSet());
      }
      result = result && (hasPersonalAccountData() == other.hasPersonalAccountData());
      if (hasPersonalAccountData()) {
        result = result && getPersonalAccountData()
            .equals(other.getPersonalAccountData());
      }
      result = result && (hasChinaPHEVSettings() == other.hasChinaPHEVSettings());
      if (hasChinaPHEVSettings()) {
        result = result && getChinaPHEVSettings()
            .equals(other.getChinaPHEVSettings());
      }
      result = result && (hasConnectedVehicleSettings() == other.hasConnectedVehicleSettings());
      if (hasConnectedVehicleSettings()) {
        result = result && getConnectedVehicleSettings()
            .equals(other.getConnectedVehicleSettings());
      }
      result = result && (hasECallSettings() == other.hasECallSettings());
      if (hasECallSettings()) {
        result = result && getECallSettings()
            .equals(other.getECallSettings());
      }
      result = result && (hasBCallSettings() == other.hasBCallSettings());
      if (hasBCallSettings()) {
        result = result && getBCallSettings()
            .equals(other.getBCallSettings());
      }
      result = result && (hasSqdfSettings() == other.hasSqdfSettings());
      if (hasSqdfSettings()) {
        result = result && getSqdfSettings()
            .equals(other.getSqdfSettings());
      }
      result = result && (hasAotaSettings() == other.hasAotaSettings());
      if (hasAotaSettings()) {
        result = result && getAotaSettings()
            .equals(other.getAotaSettings());
      }
      result = result && (hasTheftAlarmNotificationSettings() == other.hasTheftAlarmNotificationSettings());
      if (hasTheftAlarmNotificationSettings()) {
        result = result && getTheftAlarmNotificationSettings()
            .equals(other.getTheftAlarmNotificationSettings());
      }
      result = result && (hasRemoteOperationSettings() == other.hasRemoteOperationSettings());
      if (hasRemoteOperationSettings()) {
        result = result && getRemoteOperationSettings()
            .equals(other.getRemoteOperationSettings());
      }
      result = result && (hasStolenVehicleAssistanceSettings() == other.hasStolenVehicleAssistanceSettings());
      if (hasStolenVehicleAssistanceSettings()) {
        result = result && getStolenVehicleAssistanceSettings()
            .equals(other.getStolenVehicleAssistanceSettings());
      }
      result = result && (hasVehicleFinderSettings() == other.hasVehicleFinderSettings());
      if (hasVehicleFinderSettings()) {
        result = result && getVehicleFinderSettings()
            .equals(other.getVehicleFinderSettings());
      }
      result = result && (hasParentalControlsSettings() == other.hasParentalControlsSettings());
      if (hasParentalControlsSettings()) {
        result = result && getParentalControlsSettings()
            .equals(other.getParentalControlsSettings());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasWifiConfigSet()) {
        hash = (37 * hash) + WIFICONFIGSET_FIELD_NUMBER;
        hash = (53 * hash) + getWifiConfigSet().hashCode();
      }
      if (hasPersonalAccountData()) {
        hash = (37 * hash) + PERSONALACCOUNTDATA_FIELD_NUMBER;
        hash = (53 * hash) + getPersonalAccountData().hashCode();
      }
      if (hasChinaPHEVSettings()) {
        hash = (37 * hash) + CHINAPHEVSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getChinaPHEVSettings().hashCode();
      }
      if (hasConnectedVehicleSettings()) {
        hash = (37 * hash) + CONNECTEDVEHICLESETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getConnectedVehicleSettings().hashCode();
      }
      if (hasECallSettings()) {
        hash = (37 * hash) + ECALLSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getECallSettings().hashCode();
      }
      if (hasBCallSettings()) {
        hash = (37 * hash) + BCALLSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getBCallSettings().hashCode();
      }
      if (hasSqdfSettings()) {
        hash = (37 * hash) + SQDFSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getSqdfSettings().hashCode();
      }
      if (hasAotaSettings()) {
        hash = (37 * hash) + AOTASETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getAotaSettings().hashCode();
      }
      if (hasTheftAlarmNotificationSettings()) {
        hash = (37 * hash) + THEFTALARMNOTIFICATIONSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getTheftAlarmNotificationSettings().hashCode();
      }
      if (hasRemoteOperationSettings()) {
        hash = (37 * hash) + REMOTEOPERATIONSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteOperationSettings().hashCode();
      }
      if (hasStolenVehicleAssistanceSettings()) {
        hash = (37 * hash) + STOLENVEHICLEASSISTANCESETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getStolenVehicleAssistanceSettings().hashCode();
      }
      if (hasVehicleFinderSettings()) {
        hash = (37 * hash) + VEHICLEFINDERSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getVehicleFinderSettings().hashCode();
      }
      if (hasParentalControlsSettings()) {
        hash = (37 * hash) + PARENTALCONTROLSSETTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getParentalControlsSettings().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message is the container for the application specific settings
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.VehSyncModel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.VehSyncModel)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehSyncModel_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehSyncModel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWifiConfigSetFieldBuilder();
          getPersonalAccountDataFieldBuilder();
          getChinaPHEVSettingsFieldBuilder();
          getConnectedVehicleSettingsFieldBuilder();
          getECallSettingsFieldBuilder();
          getBCallSettingsFieldBuilder();
          getSqdfSettingsFieldBuilder();
          getAotaSettingsFieldBuilder();
          getTheftAlarmNotificationSettingsFieldBuilder();
          getRemoteOperationSettingsFieldBuilder();
          getStolenVehicleAssistanceSettingsFieldBuilder();
          getVehicleFinderSettingsFieldBuilder();
          getParentalControlsSettingsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (wifiConfigSetBuilder_ == null) {
          wifiConfigSet_ = null;
        } else {
          wifiConfigSetBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (personalAccountDataBuilder_ == null) {
          personalAccountData_ = null;
        } else {
          personalAccountDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (chinaPHEVSettingsBuilder_ == null) {
          chinaPHEVSettings_ = null;
        } else {
          chinaPHEVSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (connectedVehicleSettingsBuilder_ == null) {
          connectedVehicleSettings_ = null;
        } else {
          connectedVehicleSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (eCallSettingsBuilder_ == null) {
          eCallSettings_ = null;
        } else {
          eCallSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (bCallSettingsBuilder_ == null) {
          bCallSettings_ = null;
        } else {
          bCallSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (sqdfSettingsBuilder_ == null) {
          sqdfSettings_ = null;
        } else {
          sqdfSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        if (aotaSettingsBuilder_ == null) {
          aotaSettings_ = null;
        } else {
          aotaSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          theftAlarmNotificationSettings_ = null;
        } else {
          theftAlarmNotificationSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        if (remoteOperationSettingsBuilder_ == null) {
          remoteOperationSettings_ = null;
        } else {
          remoteOperationSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          stolenVehicleAssistanceSettings_ = null;
        } else {
          stolenVehicleAssistanceSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        if (vehicleFinderSettingsBuilder_ == null) {
          vehicleFinderSettings_ = null;
        } else {
          vehicleFinderSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        if (parentalControlsSettingsBuilder_ == null) {
          parentalControlsSettings_ = null;
        } else {
          parentalControlsSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00001000);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehSyncModel_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (wifiConfigSetBuilder_ == null) {
          result.wifiConfigSet_ = wifiConfigSet_;
        } else {
          result.wifiConfigSet_ = wifiConfigSetBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (personalAccountDataBuilder_ == null) {
          result.personalAccountData_ = personalAccountData_;
        } else {
          result.personalAccountData_ = personalAccountDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (chinaPHEVSettingsBuilder_ == null) {
          result.chinaPHEVSettings_ = chinaPHEVSettings_;
        } else {
          result.chinaPHEVSettings_ = chinaPHEVSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (connectedVehicleSettingsBuilder_ == null) {
          result.connectedVehicleSettings_ = connectedVehicleSettings_;
        } else {
          result.connectedVehicleSettings_ = connectedVehicleSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (eCallSettingsBuilder_ == null) {
          result.eCallSettings_ = eCallSettings_;
        } else {
          result.eCallSettings_ = eCallSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        if (bCallSettingsBuilder_ == null) {
          result.bCallSettings_ = bCallSettings_;
        } else {
          result.bCallSettings_ = bCallSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        if (sqdfSettingsBuilder_ == null) {
          result.sqdfSettings_ = sqdfSettings_;
        } else {
          result.sqdfSettings_ = sqdfSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (aotaSettingsBuilder_ == null) {
          result.aotaSettings_ = aotaSettings_;
        } else {
          result.aotaSettings_ = aotaSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          result.theftAlarmNotificationSettings_ = theftAlarmNotificationSettings_;
        } else {
          result.theftAlarmNotificationSettings_ = theftAlarmNotificationSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        if (remoteOperationSettingsBuilder_ == null) {
          result.remoteOperationSettings_ = remoteOperationSettings_;
        } else {
          result.remoteOperationSettings_ = remoteOperationSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          result.stolenVehicleAssistanceSettings_ = stolenVehicleAssistanceSettings_;
        } else {
          result.stolenVehicleAssistanceSettings_ = stolenVehicleAssistanceSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        if (vehicleFinderSettingsBuilder_ == null) {
          result.vehicleFinderSettings_ = vehicleFinderSettings_;
        } else {
          result.vehicleFinderSettings_ = vehicleFinderSettingsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        if (parentalControlsSettingsBuilder_ == null) {
          result.parentalControlsSettings_ = parentalControlsSettings_;
        } else {
          result.parentalControlsSettings_ = parentalControlsSettingsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel.getDefaultInstance()) return this;
        if (other.hasWifiConfigSet()) {
          mergeWifiConfigSet(other.getWifiConfigSet());
        }
        if (other.hasPersonalAccountData()) {
          mergePersonalAccountData(other.getPersonalAccountData());
        }
        if (other.hasChinaPHEVSettings()) {
          mergeChinaPHEVSettings(other.getChinaPHEVSettings());
        }
        if (other.hasConnectedVehicleSettings()) {
          mergeConnectedVehicleSettings(other.getConnectedVehicleSettings());
        }
        if (other.hasECallSettings()) {
          mergeECallSettings(other.getECallSettings());
        }
        if (other.hasBCallSettings()) {
          mergeBCallSettings(other.getBCallSettings());
        }
        if (other.hasSqdfSettings()) {
          mergeSqdfSettings(other.getSqdfSettings());
        }
        if (other.hasAotaSettings()) {
          mergeAotaSettings(other.getAotaSettings());
        }
        if (other.hasTheftAlarmNotificationSettings()) {
          mergeTheftAlarmNotificationSettings(other.getTheftAlarmNotificationSettings());
        }
        if (other.hasRemoteOperationSettings()) {
          mergeRemoteOperationSettings(other.getRemoteOperationSettings());
        }
        if (other.hasStolenVehicleAssistanceSettings()) {
          mergeStolenVehicleAssistanceSettings(other.getStolenVehicleAssistanceSettings());
        }
        if (other.hasVehicleFinderSettings()) {
          mergeVehicleFinderSettings(other.getVehicleFinderSettings());
        }
        if (other.hasParentalControlsSettings()) {
          mergeParentalControlsSettings(other.getParentalControlsSettings());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting wifiConfigSet_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder> wifiConfigSetBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public boolean hasWifiConfigSet() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getWifiConfigSet() {
        if (wifiConfigSetBuilder_ == null) {
          return wifiConfigSet_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance() : wifiConfigSet_;
        } else {
          return wifiConfigSetBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public Builder setWifiConfigSet(com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting value) {
        if (wifiConfigSetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          wifiConfigSet_ = value;
          onChanged();
        } else {
          wifiConfigSetBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public Builder setWifiConfigSet(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder builderForValue) {
        if (wifiConfigSetBuilder_ == null) {
          wifiConfigSet_ = builderForValue.build();
          onChanged();
        } else {
          wifiConfigSetBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public Builder mergeWifiConfigSet(com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting value) {
        if (wifiConfigSetBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              wifiConfigSet_ != null &&
              wifiConfigSet_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance()) {
            wifiConfigSet_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.newBuilder(wifiConfigSet_).mergeFrom(value).buildPartial();
          } else {
            wifiConfigSet_ = value;
          }
          onChanged();
        } else {
          wifiConfigSetBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public Builder clearWifiConfigSet() {
        if (wifiConfigSetBuilder_ == null) {
          wifiConfigSet_ = null;
          onChanged();
        } else {
          wifiConfigSetBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder getWifiConfigSetBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getWifiConfigSetFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder getWifiConfigSetOrBuilder() {
        if (wifiConfigSetBuilder_ != null) {
          return wifiConfigSetBuilder_.getMessageOrBuilder();
        } else {
          return wifiConfigSet_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance() : wifiConfigSet_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.WifiSetting wifiConfigSet = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder> 
          getWifiConfigSetFieldBuilder() {
        if (wifiConfigSetBuilder_ == null) {
          wifiConfigSetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder>(
                  getWifiConfigSet(),
                  getParentForChildren(),
                  isClean());
          wifiConfigSet_ = null;
        }
        return wifiConfigSetBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount personalAccountData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder> personalAccountDataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public boolean hasPersonalAccountData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getPersonalAccountData() {
        if (personalAccountDataBuilder_ == null) {
          return personalAccountData_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance() : personalAccountData_;
        } else {
          return personalAccountDataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public Builder setPersonalAccountData(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount value) {
        if (personalAccountDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          personalAccountData_ = value;
          onChanged();
        } else {
          personalAccountDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public Builder setPersonalAccountData(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder builderForValue) {
        if (personalAccountDataBuilder_ == null) {
          personalAccountData_ = builderForValue.build();
          onChanged();
        } else {
          personalAccountDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public Builder mergePersonalAccountData(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount value) {
        if (personalAccountDataBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              personalAccountData_ != null &&
              personalAccountData_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance()) {
            personalAccountData_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.newBuilder(personalAccountData_).mergeFrom(value).buildPartial();
          } else {
            personalAccountData_ = value;
          }
          onChanged();
        } else {
          personalAccountDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public Builder clearPersonalAccountData() {
        if (personalAccountDataBuilder_ == null) {
          personalAccountData_ = null;
          onChanged();
        } else {
          personalAccountDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder getPersonalAccountDataBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getPersonalAccountDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder getPersonalAccountDataOrBuilder() {
        if (personalAccountDataBuilder_ != null) {
          return personalAccountDataBuilder_.getMessageOrBuilder();
        } else {
          return personalAccountData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance() : personalAccountData_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount personalAccountData = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder> 
          getPersonalAccountDataFieldBuilder() {
        if (personalAccountDataBuilder_ == null) {
          personalAccountDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder>(
                  getPersonalAccountData(),
                  getParentForChildren(),
                  isClean());
          personalAccountData_ = null;
        }
        return personalAccountDataBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings chinaPHEVSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder> chinaPHEVSettingsBuilder_;
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public boolean hasChinaPHEVSettings() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getChinaPHEVSettings() {
        if (chinaPHEVSettingsBuilder_ == null) {
          return chinaPHEVSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance() : chinaPHEVSettings_;
        } else {
          return chinaPHEVSettingsBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public Builder setChinaPHEVSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings value) {
        if (chinaPHEVSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          chinaPHEVSettings_ = value;
          onChanged();
        } else {
          chinaPHEVSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public Builder setChinaPHEVSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder builderForValue) {
        if (chinaPHEVSettingsBuilder_ == null) {
          chinaPHEVSettings_ = builderForValue.build();
          onChanged();
        } else {
          chinaPHEVSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public Builder mergeChinaPHEVSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings value) {
        if (chinaPHEVSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              chinaPHEVSettings_ != null &&
              chinaPHEVSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance()) {
            chinaPHEVSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.newBuilder(chinaPHEVSettings_).mergeFrom(value).buildPartial();
          } else {
            chinaPHEVSettings_ = value;
          }
          onChanged();
        } else {
          chinaPHEVSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public Builder clearChinaPHEVSettings() {
        if (chinaPHEVSettingsBuilder_ == null) {
          chinaPHEVSettings_ = null;
          onChanged();
        } else {
          chinaPHEVSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder getChinaPHEVSettingsBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getChinaPHEVSettingsFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder getChinaPHEVSettingsOrBuilder() {
        if (chinaPHEVSettingsBuilder_ != null) {
          return chinaPHEVSettingsBuilder_.getMessageOrBuilder();
        } else {
          return chinaPHEVSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance() : chinaPHEVSettings_;
        }
      }
      /**
       * <pre>
       *&#47; intervals for PHEV Type.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings chinaPHEVSettings = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder> 
          getChinaPHEVSettingsFieldBuilder() {
        if (chinaPHEVSettingsBuilder_ == null) {
          chinaPHEVSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder>(
                  getChinaPHEVSettings(),
                  getParentForChildren(),
                  isClean());
          chinaPHEVSettings_ = null;
        }
        return chinaPHEVSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings connectedVehicleSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder> connectedVehicleSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public boolean hasConnectedVehicleSettings() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getConnectedVehicleSettings() {
        if (connectedVehicleSettingsBuilder_ == null) {
          return connectedVehicleSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance() : connectedVehicleSettings_;
        } else {
          return connectedVehicleSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public Builder setConnectedVehicleSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings value) {
        if (connectedVehicleSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          connectedVehicleSettings_ = value;
          onChanged();
        } else {
          connectedVehicleSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public Builder setConnectedVehicleSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder builderForValue) {
        if (connectedVehicleSettingsBuilder_ == null) {
          connectedVehicleSettings_ = builderForValue.build();
          onChanged();
        } else {
          connectedVehicleSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public Builder mergeConnectedVehicleSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings value) {
        if (connectedVehicleSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              connectedVehicleSettings_ != null &&
              connectedVehicleSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance()) {
            connectedVehicleSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.newBuilder(connectedVehicleSettings_).mergeFrom(value).buildPartial();
          } else {
            connectedVehicleSettings_ = value;
          }
          onChanged();
        } else {
          connectedVehicleSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public Builder clearConnectedVehicleSettings() {
        if (connectedVehicleSettingsBuilder_ == null) {
          connectedVehicleSettings_ = null;
          onChanged();
        } else {
          connectedVehicleSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder getConnectedVehicleSettingsBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getConnectedVehicleSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder getConnectedVehicleSettingsOrBuilder() {
        if (connectedVehicleSettingsBuilder_ != null) {
          return connectedVehicleSettingsBuilder_.getMessageOrBuilder();
        } else {
          return connectedVehicleSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance() : connectedVehicleSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ConnectedVehicleSettings connectedVehicleSettings = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder> 
          getConnectedVehicleSettingsFieldBuilder() {
        if (connectedVehicleSettingsBuilder_ == null) {
          connectedVehicleSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder>(
                  getConnectedVehicleSettings(),
                  getParentForChildren(),
                  isClean());
          connectedVehicleSettings_ = null;
        }
        return connectedVehicleSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings eCallSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder> eCallSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public boolean hasECallSettings() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getECallSettings() {
        if (eCallSettingsBuilder_ == null) {
          return eCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance() : eCallSettings_;
        } else {
          return eCallSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public Builder setECallSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings value) {
        if (eCallSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          eCallSettings_ = value;
          onChanged();
        } else {
          eCallSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public Builder setECallSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder builderForValue) {
        if (eCallSettingsBuilder_ == null) {
          eCallSettings_ = builderForValue.build();
          onChanged();
        } else {
          eCallSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public Builder mergeECallSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings value) {
        if (eCallSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              eCallSettings_ != null &&
              eCallSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance()) {
            eCallSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.newBuilder(eCallSettings_).mergeFrom(value).buildPartial();
          } else {
            eCallSettings_ = value;
          }
          onChanged();
        } else {
          eCallSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public Builder clearECallSettings() {
        if (eCallSettingsBuilder_ == null) {
          eCallSettings_ = null;
          onChanged();
        } else {
          eCallSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder getECallSettingsBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getECallSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder getECallSettingsOrBuilder() {
        if (eCallSettingsBuilder_ != null) {
          return eCallSettingsBuilder_.getMessageOrBuilder();
        } else {
          return eCallSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance() : eCallSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ECallSettings eCallSettings = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder> 
          getECallSettingsFieldBuilder() {
        if (eCallSettingsBuilder_ == null) {
          eCallSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder>(
                  getECallSettings(),
                  getParentForChildren(),
                  isClean());
          eCallSettings_ = null;
        }
        return eCallSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings bCallSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder> bCallSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public boolean hasBCallSettings() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getBCallSettings() {
        if (bCallSettingsBuilder_ == null) {
          return bCallSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance() : bCallSettings_;
        } else {
          return bCallSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public Builder setBCallSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings value) {
        if (bCallSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          bCallSettings_ = value;
          onChanged();
        } else {
          bCallSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public Builder setBCallSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder builderForValue) {
        if (bCallSettingsBuilder_ == null) {
          bCallSettings_ = builderForValue.build();
          onChanged();
        } else {
          bCallSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public Builder mergeBCallSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings value) {
        if (bCallSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020) &&
              bCallSettings_ != null &&
              bCallSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance()) {
            bCallSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.newBuilder(bCallSettings_).mergeFrom(value).buildPartial();
          } else {
            bCallSettings_ = value;
          }
          onChanged();
        } else {
          bCallSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public Builder clearBCallSettings() {
        if (bCallSettingsBuilder_ == null) {
          bCallSettings_ = null;
          onChanged();
        } else {
          bCallSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder getBCallSettingsBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getBCallSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder getBCallSettingsOrBuilder() {
        if (bCallSettingsBuilder_ != null) {
          return bCallSettingsBuilder_.getMessageOrBuilder();
        } else {
          return bCallSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance() : bCallSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.BCallSettings bCallSettings = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder> 
          getBCallSettingsFieldBuilder() {
        if (bCallSettingsBuilder_ == null) {
          bCallSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder>(
                  getBCallSettings(),
                  getParentForChildren(),
                  isClean());
          bCallSettings_ = null;
        }
        return bCallSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings sqdfSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder> sqdfSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public boolean hasSqdfSettings() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getSqdfSettings() {
        if (sqdfSettingsBuilder_ == null) {
          return sqdfSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance() : sqdfSettings_;
        } else {
          return sqdfSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public Builder setSqdfSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings value) {
        if (sqdfSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sqdfSettings_ = value;
          onChanged();
        } else {
          sqdfSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public Builder setSqdfSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder builderForValue) {
        if (sqdfSettingsBuilder_ == null) {
          sqdfSettings_ = builderForValue.build();
          onChanged();
        } else {
          sqdfSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public Builder mergeSqdfSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings value) {
        if (sqdfSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040) &&
              sqdfSettings_ != null &&
              sqdfSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance()) {
            sqdfSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.newBuilder(sqdfSettings_).mergeFrom(value).buildPartial();
          } else {
            sqdfSettings_ = value;
          }
          onChanged();
        } else {
          sqdfSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public Builder clearSqdfSettings() {
        if (sqdfSettingsBuilder_ == null) {
          sqdfSettings_ = null;
          onChanged();
        } else {
          sqdfSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder getSqdfSettingsBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getSqdfSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder getSqdfSettingsOrBuilder() {
        if (sqdfSettingsBuilder_ != null) {
          return sqdfSettingsBuilder_.getMessageOrBuilder();
        } else {
          return sqdfSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance() : sqdfSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFSettings sqdfSettings = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder> 
          getSqdfSettingsFieldBuilder() {
        if (sqdfSettingsBuilder_ == null) {
          sqdfSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder>(
                  getSqdfSettings(),
                  getParentForChildren(),
                  isClean());
          sqdfSettings_ = null;
        }
        return sqdfSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings aotaSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder> aotaSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public boolean hasAotaSettings() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getAotaSettings() {
        if (aotaSettingsBuilder_ == null) {
          return aotaSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance() : aotaSettings_;
        } else {
          return aotaSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public Builder setAotaSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings value) {
        if (aotaSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          aotaSettings_ = value;
          onChanged();
        } else {
          aotaSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public Builder setAotaSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder builderForValue) {
        if (aotaSettingsBuilder_ == null) {
          aotaSettings_ = builderForValue.build();
          onChanged();
        } else {
          aotaSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public Builder mergeAotaSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings value) {
        if (aotaSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              aotaSettings_ != null &&
              aotaSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance()) {
            aotaSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.newBuilder(aotaSettings_).mergeFrom(value).buildPartial();
          } else {
            aotaSettings_ = value;
          }
          onChanged();
        } else {
          aotaSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public Builder clearAotaSettings() {
        if (aotaSettingsBuilder_ == null) {
          aotaSettings_ = null;
          onChanged();
        } else {
          aotaSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder getAotaSettingsBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getAotaSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder getAotaSettingsOrBuilder() {
        if (aotaSettingsBuilder_ != null) {
          return aotaSettingsBuilder_.getMessageOrBuilder();
        } else {
          return aotaSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance() : aotaSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.AOTASettings aotaSettings = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder> 
          getAotaSettingsFieldBuilder() {
        if (aotaSettingsBuilder_ == null) {
          aotaSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder>(
                  getAotaSettings(),
                  getParentForChildren(),
                  isClean());
          aotaSettings_ = null;
        }
        return aotaSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings theftAlarmNotificationSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder> theftAlarmNotificationSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public boolean hasTheftAlarmNotificationSettings() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getTheftAlarmNotificationSettings() {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          return theftAlarmNotificationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance() : theftAlarmNotificationSettings_;
        } else {
          return theftAlarmNotificationSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public Builder setTheftAlarmNotificationSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings value) {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          theftAlarmNotificationSettings_ = value;
          onChanged();
        } else {
          theftAlarmNotificationSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public Builder setTheftAlarmNotificationSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder builderForValue) {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          theftAlarmNotificationSettings_ = builderForValue.build();
          onChanged();
        } else {
          theftAlarmNotificationSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public Builder mergeTheftAlarmNotificationSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings value) {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              theftAlarmNotificationSettings_ != null &&
              theftAlarmNotificationSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance()) {
            theftAlarmNotificationSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.newBuilder(theftAlarmNotificationSettings_).mergeFrom(value).buildPartial();
          } else {
            theftAlarmNotificationSettings_ = value;
          }
          onChanged();
        } else {
          theftAlarmNotificationSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public Builder clearTheftAlarmNotificationSettings() {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          theftAlarmNotificationSettings_ = null;
          onChanged();
        } else {
          theftAlarmNotificationSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder getTheftAlarmNotificationSettingsBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getTheftAlarmNotificationSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder getTheftAlarmNotificationSettingsOrBuilder() {
        if (theftAlarmNotificationSettingsBuilder_ != null) {
          return theftAlarmNotificationSettingsBuilder_.getMessageOrBuilder();
        } else {
          return theftAlarmNotificationSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance() : theftAlarmNotificationSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.TheftAlarmNotificationSettings theftAlarmNotificationSettings = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder> 
          getTheftAlarmNotificationSettingsFieldBuilder() {
        if (theftAlarmNotificationSettingsBuilder_ == null) {
          theftAlarmNotificationSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder>(
                  getTheftAlarmNotificationSettings(),
                  getParentForChildren(),
                  isClean());
          theftAlarmNotificationSettings_ = null;
        }
        return theftAlarmNotificationSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings remoteOperationSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder> remoteOperationSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public boolean hasRemoteOperationSettings() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getRemoteOperationSettings() {
        if (remoteOperationSettingsBuilder_ == null) {
          return remoteOperationSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance() : remoteOperationSettings_;
        } else {
          return remoteOperationSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public Builder setRemoteOperationSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings value) {
        if (remoteOperationSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          remoteOperationSettings_ = value;
          onChanged();
        } else {
          remoteOperationSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public Builder setRemoteOperationSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder builderForValue) {
        if (remoteOperationSettingsBuilder_ == null) {
          remoteOperationSettings_ = builderForValue.build();
          onChanged();
        } else {
          remoteOperationSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public Builder mergeRemoteOperationSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings value) {
        if (remoteOperationSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200) &&
              remoteOperationSettings_ != null &&
              remoteOperationSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance()) {
            remoteOperationSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.newBuilder(remoteOperationSettings_).mergeFrom(value).buildPartial();
          } else {
            remoteOperationSettings_ = value;
          }
          onChanged();
        } else {
          remoteOperationSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public Builder clearRemoteOperationSettings() {
        if (remoteOperationSettingsBuilder_ == null) {
          remoteOperationSettings_ = null;
          onChanged();
        } else {
          remoteOperationSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder getRemoteOperationSettingsBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getRemoteOperationSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder getRemoteOperationSettingsOrBuilder() {
        if (remoteOperationSettingsBuilder_ != null) {
          return remoteOperationSettingsBuilder_.getMessageOrBuilder();
        } else {
          return remoteOperationSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance() : remoteOperationSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.RemoteOperationSettings remoteOperationSettings = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder> 
          getRemoteOperationSettingsFieldBuilder() {
        if (remoteOperationSettingsBuilder_ == null) {
          remoteOperationSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder>(
                  getRemoteOperationSettings(),
                  getParentForChildren(),
                  isClean());
          remoteOperationSettings_ = null;
        }
        return remoteOperationSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder> stolenVehicleAssistanceSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public boolean hasStolenVehicleAssistanceSettings() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getStolenVehicleAssistanceSettings() {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          return stolenVehicleAssistanceSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance() : stolenVehicleAssistanceSettings_;
        } else {
          return stolenVehicleAssistanceSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public Builder setStolenVehicleAssistanceSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings value) {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stolenVehicleAssistanceSettings_ = value;
          onChanged();
        } else {
          stolenVehicleAssistanceSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public Builder setStolenVehicleAssistanceSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder builderForValue) {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          stolenVehicleAssistanceSettings_ = builderForValue.build();
          onChanged();
        } else {
          stolenVehicleAssistanceSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public Builder mergeStolenVehicleAssistanceSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings value) {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000400) == 0x00000400) &&
              stolenVehicleAssistanceSettings_ != null &&
              stolenVehicleAssistanceSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance()) {
            stolenVehicleAssistanceSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.newBuilder(stolenVehicleAssistanceSettings_).mergeFrom(value).buildPartial();
          } else {
            stolenVehicleAssistanceSettings_ = value;
          }
          onChanged();
        } else {
          stolenVehicleAssistanceSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000400;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public Builder clearStolenVehicleAssistanceSettings() {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          stolenVehicleAssistanceSettings_ = null;
          onChanged();
        } else {
          stolenVehicleAssistanceSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder getStolenVehicleAssistanceSettingsBuilder() {
        bitField0_ |= 0x00000400;
        onChanged();
        return getStolenVehicleAssistanceSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder getStolenVehicleAssistanceSettingsOrBuilder() {
        if (stolenVehicleAssistanceSettingsBuilder_ != null) {
          return stolenVehicleAssistanceSettingsBuilder_.getMessageOrBuilder();
        } else {
          return stolenVehicleAssistanceSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance() : stolenVehicleAssistanceSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings stolenVehicleAssistanceSettings = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder> 
          getStolenVehicleAssistanceSettingsFieldBuilder() {
        if (stolenVehicleAssistanceSettingsBuilder_ == null) {
          stolenVehicleAssistanceSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder>(
                  getStolenVehicleAssistanceSettings(),
                  getParentForChildren(),
                  isClean());
          stolenVehicleAssistanceSettings_ = null;
        }
        return stolenVehicleAssistanceSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings vehicleFinderSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder> vehicleFinderSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public boolean hasVehicleFinderSettings() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getVehicleFinderSettings() {
        if (vehicleFinderSettingsBuilder_ == null) {
          return vehicleFinderSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance() : vehicleFinderSettings_;
        } else {
          return vehicleFinderSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public Builder setVehicleFinderSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings value) {
        if (vehicleFinderSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          vehicleFinderSettings_ = value;
          onChanged();
        } else {
          vehicleFinderSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public Builder setVehicleFinderSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder builderForValue) {
        if (vehicleFinderSettingsBuilder_ == null) {
          vehicleFinderSettings_ = builderForValue.build();
          onChanged();
        } else {
          vehicleFinderSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public Builder mergeVehicleFinderSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings value) {
        if (vehicleFinderSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00000800) == 0x00000800) &&
              vehicleFinderSettings_ != null &&
              vehicleFinderSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance()) {
            vehicleFinderSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.newBuilder(vehicleFinderSettings_).mergeFrom(value).buildPartial();
          } else {
            vehicleFinderSettings_ = value;
          }
          onChanged();
        } else {
          vehicleFinderSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000800;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public Builder clearVehicleFinderSettings() {
        if (vehicleFinderSettingsBuilder_ == null) {
          vehicleFinderSettings_ = null;
          onChanged();
        } else {
          vehicleFinderSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder getVehicleFinderSettingsBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getVehicleFinderSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder getVehicleFinderSettingsOrBuilder() {
        if (vehicleFinderSettingsBuilder_ != null) {
          return vehicleFinderSettingsBuilder_.getMessageOrBuilder();
        } else {
          return vehicleFinderSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance() : vehicleFinderSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleFinderSettings vehicleFinderSettings = 12;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder> 
          getVehicleFinderSettingsFieldBuilder() {
        if (vehicleFinderSettingsBuilder_ == null) {
          vehicleFinderSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder>(
                  getVehicleFinderSettings(),
                  getParentForChildren(),
                  isClean());
          vehicleFinderSettings_ = null;
        }
        return vehicleFinderSettingsBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parentalControlsSettings_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder> parentalControlsSettingsBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public boolean hasParentalControlsSettings() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getParentalControlsSettings() {
        if (parentalControlsSettingsBuilder_ == null) {
          return parentalControlsSettings_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance() : parentalControlsSettings_;
        } else {
          return parentalControlsSettingsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public Builder setParentalControlsSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings value) {
        if (parentalControlsSettingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          parentalControlsSettings_ = value;
          onChanged();
        } else {
          parentalControlsSettingsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00001000;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public Builder setParentalControlsSettings(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder builderForValue) {
        if (parentalControlsSettingsBuilder_ == null) {
          parentalControlsSettings_ = builderForValue.build();
          onChanged();
        } else {
          parentalControlsSettingsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00001000;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public Builder mergeParentalControlsSettings(com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings value) {
        if (parentalControlsSettingsBuilder_ == null) {
          if (((bitField0_ & 0x00001000) == 0x00001000) &&
              parentalControlsSettings_ != null &&
              parentalControlsSettings_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance()) {
            parentalControlsSettings_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.newBuilder(parentalControlsSettings_).mergeFrom(value).buildPartial();
          } else {
            parentalControlsSettings_ = value;
          }
          onChanged();
        } else {
          parentalControlsSettingsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00001000;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public Builder clearParentalControlsSettings() {
        if (parentalControlsSettingsBuilder_ == null) {
          parentalControlsSettings_ = null;
          onChanged();
        } else {
          parentalControlsSettingsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00001000);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder getParentalControlsSettingsBuilder() {
        bitField0_ |= 0x00001000;
        onChanged();
        return getParentalControlsSettingsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder getParentalControlsSettingsOrBuilder() {
        if (parentalControlsSettingsBuilder_ != null) {
          return parentalControlsSettingsBuilder_.getMessageOrBuilder();
        } else {
          return parentalControlsSettings_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance() : parentalControlsSettings_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.ParentalControlsSettings parentalControlsSettings = 13;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder> 
          getParentalControlsSettingsFieldBuilder() {
        if (parentalControlsSettingsBuilder_ == null) {
          parentalControlsSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder>(
                  getParentalControlsSettings(),
                  getParentForChildren(),
                  isClean());
          parentalControlsSettings_ = null;
        }
        return parentalControlsSettingsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.VehSyncModel)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.VehSyncModel)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<VehSyncModel>
        PARSER = new com.google.protobuf.AbstractParser<VehSyncModel>() {
      public VehSyncModel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new VehSyncModel(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehSyncModel getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ParentalControlsSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.ParentalControlsSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    boolean hasIsEnabled();
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    boolean getIsEnabled();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for Parental Control features
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.ParentalControlsSettings}
   */
  public  static final class ParentalControlsSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.ParentalControlsSettings)
      ParentalControlsSettingsOrBuilder {
    // Use ParentalControlsSettings.newBuilder() to construct.
    private ParentalControlsSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ParentalControlsSettings() {
      isEnabled_ = false;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ParentalControlsSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isEnabled_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ParentalControlsSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder.class);
    }

    private int bitField0_;
    public static final int ISENABLED_FIELD_NUMBER = 1;
    private boolean isEnabled_;
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    public boolean hasIsEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    public boolean getIsEnabled() {
      return isEnabled_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isEnabled_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isEnabled_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings) obj;

      boolean result = true;
      result = result && (hasIsEnabled() == other.hasIsEnabled());
      if (hasIsEnabled()) {
        result = result && (getIsEnabled()
            == other.getIsEnabled());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasIsEnabled()) {
        hash = (37 * hash) + ISENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsEnabled());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for Parental Control features
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.ParentalControlsSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.ParentalControlsSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ParentalControlsSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        isEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isEnabled_ = isEnabled_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings.getDefaultInstance()) return this;
        if (other.hasIsEnabled()) {
          setIsEnabled(other.getIsEnabled());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean isEnabled_ ;
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public boolean hasIsEnabled() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public boolean getIsEnabled() {
        return isEnabled_;
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public Builder setIsEnabled(boolean value) {
        bitField0_ |= 0x00000001;
        isEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public Builder clearIsEnabled() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isEnabled_ = false;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.ParentalControlsSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.ParentalControlsSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<ParentalControlsSettings>
        PARSER = new com.google.protobuf.AbstractParser<ParentalControlsSettings>() {
      public ParentalControlsSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new ParentalControlsSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ParentalControlsSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VehicleFinderSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.VehicleFinderSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Specifies if the location is sent to the SDP at every key off event.
     * </pre>
     *
     * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
     */
    boolean hasIsSendLocationAtKeyOffEnabled();
    /**
     * <pre>
     *&#47; Specifies if the location is sent to the SDP at every key off event.
     * </pre>
     *
     * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
     */
    boolean getIsSendLocationAtKeyOffEnabled();

    /**
     * <pre>
     *&#47; Indicates the vehicle location will be send to the SDP upon request.
     * </pre>
     *
     * <code>optional bool isSendOnRequestEnabled = 2;</code>
     */
    boolean hasIsSendOnRequestEnabled();
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be send to the SDP upon request.
     * </pre>
     *
     * <code>optional bool isSendOnRequestEnabled = 2;</code>
     */
    boolean getIsSendOnRequestEnabled();

    /**
     * <pre>
     *&#47; Indicates the vehicle location will be sent to the SDP periodically.
     * </pre>
     *
     * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
     */
    boolean hasIsSendPeriodicallyEnabled();
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be sent to the SDP periodically.
     * </pre>
     *
     * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
     */
    boolean getIsSendPeriodicallyEnabled();

    /**
     * <pre>
     *&#47; The vehicle position is sent to the SDP using this period in seconds.
     * </pre>
     *
     * <code>optional int32 sendLocationPeriodS = 4;</code>
     */
    boolean hasSendLocationPeriodS();
    /**
     * <pre>
     *&#47; The vehicle position is sent to the SDP using this period in seconds.
     * </pre>
     *
     * <code>optional int32 sendLocationPeriodS = 4;</code>
     */
    int getSendLocationPeriodS();

    /**
     * <pre>
     *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
     * </pre>
     *
     * <code>optional int32 gpsFixTimeoutS = 5;</code>
     */
    boolean hasGpsFixTimeoutS();
    /**
     * <pre>
     *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
     * </pre>
     *
     * <code>optional int32 gpsFixTimeoutS = 5;</code>
     */
    int getGpsFixTimeoutS();

    /**
     * <pre>
     *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
     * </pre>
     *
     * <code>optional int32 locationCachingPeriodS = 6;</code>
     */
    boolean hasLocationCachingPeriodS();
    /**
     * <pre>
     *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
     * </pre>
     *
     * <code>optional int32 locationCachingPeriodS = 6;</code>
     */
    int getLocationCachingPeriodS();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for Stolen Vehicle features
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.VehicleFinderSettings}
   */
  public  static final class VehicleFinderSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.VehicleFinderSettings)
      VehicleFinderSettingsOrBuilder {
    // Use VehicleFinderSettings.newBuilder() to construct.
    private VehicleFinderSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VehicleFinderSettings() {
      isSendLocationAtKeyOffEnabled_ = false;
      isSendOnRequestEnabled_ = false;
      isSendPeriodicallyEnabled_ = false;
      sendLocationPeriodS_ = 0;
      gpsFixTimeoutS_ = 0;
      locationCachingPeriodS_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VehicleFinderSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isSendLocationAtKeyOffEnabled_ = input.readBool();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              isSendOnRequestEnabled_ = input.readBool();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isSendPeriodicallyEnabled_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              sendLocationPeriodS_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              gpsFixTimeoutS_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              locationCachingPeriodS_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleFinderSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder.class);
    }

    private int bitField0_;
    public static final int ISSENDLOCATIONATKEYOFFENABLED_FIELD_NUMBER = 1;
    private boolean isSendLocationAtKeyOffEnabled_;
    /**
     * <pre>
     *&#47; Specifies if the location is sent to the SDP at every key off event.
     * </pre>
     *
     * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
     */
    public boolean hasIsSendLocationAtKeyOffEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; Specifies if the location is sent to the SDP at every key off event.
     * </pre>
     *
     * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
     */
    public boolean getIsSendLocationAtKeyOffEnabled() {
      return isSendLocationAtKeyOffEnabled_;
    }

    public static final int ISSENDONREQUESTENABLED_FIELD_NUMBER = 2;
    private boolean isSendOnRequestEnabled_;
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be send to the SDP upon request.
     * </pre>
     *
     * <code>optional bool isSendOnRequestEnabled = 2;</code>
     */
    public boolean hasIsSendOnRequestEnabled() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be send to the SDP upon request.
     * </pre>
     *
     * <code>optional bool isSendOnRequestEnabled = 2;</code>
     */
    public boolean getIsSendOnRequestEnabled() {
      return isSendOnRequestEnabled_;
    }

    public static final int ISSENDPERIODICALLYENABLED_FIELD_NUMBER = 3;
    private boolean isSendPeriodicallyEnabled_;
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be sent to the SDP periodically.
     * </pre>
     *
     * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
     */
    public boolean hasIsSendPeriodicallyEnabled() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; Indicates the vehicle location will be sent to the SDP periodically.
     * </pre>
     *
     * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
     */
    public boolean getIsSendPeriodicallyEnabled() {
      return isSendPeriodicallyEnabled_;
    }

    public static final int SENDLOCATIONPERIODS_FIELD_NUMBER = 4;
    private int sendLocationPeriodS_;
    /**
     * <pre>
     *&#47; The vehicle position is sent to the SDP using this period in seconds.
     * </pre>
     *
     * <code>optional int32 sendLocationPeriodS = 4;</code>
     */
    public boolean hasSendLocationPeriodS() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The vehicle position is sent to the SDP using this period in seconds.
     * </pre>
     *
     * <code>optional int32 sendLocationPeriodS = 4;</code>
     */
    public int getSendLocationPeriodS() {
      return sendLocationPeriodS_;
    }

    public static final int GPSFIXTIMEOUTS_FIELD_NUMBER = 5;
    private int gpsFixTimeoutS_;
    /**
     * <pre>
     *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
     * </pre>
     *
     * <code>optional int32 gpsFixTimeoutS = 5;</code>
     */
    public boolean hasGpsFixTimeoutS() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
     * </pre>
     *
     * <code>optional int32 gpsFixTimeoutS = 5;</code>
     */
    public int getGpsFixTimeoutS() {
      return gpsFixTimeoutS_;
    }

    public static final int LOCATIONCACHINGPERIODS_FIELD_NUMBER = 6;
    private int locationCachingPeriodS_;
    /**
     * <pre>
     *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
     * </pre>
     *
     * <code>optional int32 locationCachingPeriodS = 6;</code>
     */
    public boolean hasLocationCachingPeriodS() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
     * </pre>
     *
     * <code>optional int32 locationCachingPeriodS = 6;</code>
     */
    public int getLocationCachingPeriodS() {
      return locationCachingPeriodS_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isSendLocationAtKeyOffEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, isSendOnRequestEnabled_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isSendPeriodicallyEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, sendLocationPeriodS_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, gpsFixTimeoutS_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, locationCachingPeriodS_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isSendLocationAtKeyOffEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, isSendOnRequestEnabled_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isSendPeriodicallyEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, sendLocationPeriodS_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, gpsFixTimeoutS_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, locationCachingPeriodS_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings) obj;

      boolean result = true;
      result = result && (hasIsSendLocationAtKeyOffEnabled() == other.hasIsSendLocationAtKeyOffEnabled());
      if (hasIsSendLocationAtKeyOffEnabled()) {
        result = result && (getIsSendLocationAtKeyOffEnabled()
            == other.getIsSendLocationAtKeyOffEnabled());
      }
      result = result && (hasIsSendOnRequestEnabled() == other.hasIsSendOnRequestEnabled());
      if (hasIsSendOnRequestEnabled()) {
        result = result && (getIsSendOnRequestEnabled()
            == other.getIsSendOnRequestEnabled());
      }
      result = result && (hasIsSendPeriodicallyEnabled() == other.hasIsSendPeriodicallyEnabled());
      if (hasIsSendPeriodicallyEnabled()) {
        result = result && (getIsSendPeriodicallyEnabled()
            == other.getIsSendPeriodicallyEnabled());
      }
      result = result && (hasSendLocationPeriodS() == other.hasSendLocationPeriodS());
      if (hasSendLocationPeriodS()) {
        result = result && (getSendLocationPeriodS()
            == other.getSendLocationPeriodS());
      }
      result = result && (hasGpsFixTimeoutS() == other.hasGpsFixTimeoutS());
      if (hasGpsFixTimeoutS()) {
        result = result && (getGpsFixTimeoutS()
            == other.getGpsFixTimeoutS());
      }
      result = result && (hasLocationCachingPeriodS() == other.hasLocationCachingPeriodS());
      if (hasLocationCachingPeriodS()) {
        result = result && (getLocationCachingPeriodS()
            == other.getLocationCachingPeriodS());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasIsSendLocationAtKeyOffEnabled()) {
        hash = (37 * hash) + ISSENDLOCATIONATKEYOFFENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsSendLocationAtKeyOffEnabled());
      }
      if (hasIsSendOnRequestEnabled()) {
        hash = (37 * hash) + ISSENDONREQUESTENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsSendOnRequestEnabled());
      }
      if (hasIsSendPeriodicallyEnabled()) {
        hash = (37 * hash) + ISSENDPERIODICALLYENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsSendPeriodicallyEnabled());
      }
      if (hasSendLocationPeriodS()) {
        hash = (37 * hash) + SENDLOCATIONPERIODS_FIELD_NUMBER;
        hash = (53 * hash) + getSendLocationPeriodS();
      }
      if (hasGpsFixTimeoutS()) {
        hash = (37 * hash) + GPSFIXTIMEOUTS_FIELD_NUMBER;
        hash = (53 * hash) + getGpsFixTimeoutS();
      }
      if (hasLocationCachingPeriodS()) {
        hash = (37 * hash) + LOCATIONCACHINGPERIODS_FIELD_NUMBER;
        hash = (53 * hash) + getLocationCachingPeriodS();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for Stolen Vehicle features
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.VehicleFinderSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.VehicleFinderSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleFinderSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        isSendLocationAtKeyOffEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        isSendOnRequestEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        isSendPeriodicallyEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        sendLocationPeriodS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        gpsFixTimeoutS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        locationCachingPeriodS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isSendLocationAtKeyOffEnabled_ = isSendLocationAtKeyOffEnabled_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.isSendOnRequestEnabled_ = isSendOnRequestEnabled_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isSendPeriodicallyEnabled_ = isSendPeriodicallyEnabled_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.sendLocationPeriodS_ = sendLocationPeriodS_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.gpsFixTimeoutS_ = gpsFixTimeoutS_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.locationCachingPeriodS_ = locationCachingPeriodS_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings.getDefaultInstance()) return this;
        if (other.hasIsSendLocationAtKeyOffEnabled()) {
          setIsSendLocationAtKeyOffEnabled(other.getIsSendLocationAtKeyOffEnabled());
        }
        if (other.hasIsSendOnRequestEnabled()) {
          setIsSendOnRequestEnabled(other.getIsSendOnRequestEnabled());
        }
        if (other.hasIsSendPeriodicallyEnabled()) {
          setIsSendPeriodicallyEnabled(other.getIsSendPeriodicallyEnabled());
        }
        if (other.hasSendLocationPeriodS()) {
          setSendLocationPeriodS(other.getSendLocationPeriodS());
        }
        if (other.hasGpsFixTimeoutS()) {
          setGpsFixTimeoutS(other.getGpsFixTimeoutS());
        }
        if (other.hasLocationCachingPeriodS()) {
          setLocationCachingPeriodS(other.getLocationCachingPeriodS());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean isSendLocationAtKeyOffEnabled_ ;
      /**
       * <pre>
       *&#47; Specifies if the location is sent to the SDP at every key off event.
       * </pre>
       *
       * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
       */
      public boolean hasIsSendLocationAtKeyOffEnabled() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; Specifies if the location is sent to the SDP at every key off event.
       * </pre>
       *
       * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
       */
      public boolean getIsSendLocationAtKeyOffEnabled() {
        return isSendLocationAtKeyOffEnabled_;
      }
      /**
       * <pre>
       *&#47; Specifies if the location is sent to the SDP at every key off event.
       * </pre>
       *
       * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
       */
      public Builder setIsSendLocationAtKeyOffEnabled(boolean value) {
        bitField0_ |= 0x00000001;
        isSendLocationAtKeyOffEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Specifies if the location is sent to the SDP at every key off event.
       * </pre>
       *
       * <code>optional bool isSendLocationAtKeyOffEnabled = 1;</code>
       */
      public Builder clearIsSendLocationAtKeyOffEnabled() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isSendLocationAtKeyOffEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isSendOnRequestEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be send to the SDP upon request.
       * </pre>
       *
       * <code>optional bool isSendOnRequestEnabled = 2;</code>
       */
      public boolean hasIsSendOnRequestEnabled() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be send to the SDP upon request.
       * </pre>
       *
       * <code>optional bool isSendOnRequestEnabled = 2;</code>
       */
      public boolean getIsSendOnRequestEnabled() {
        return isSendOnRequestEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be send to the SDP upon request.
       * </pre>
       *
       * <code>optional bool isSendOnRequestEnabled = 2;</code>
       */
      public Builder setIsSendOnRequestEnabled(boolean value) {
        bitField0_ |= 0x00000002;
        isSendOnRequestEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be send to the SDP upon request.
       * </pre>
       *
       * <code>optional bool isSendOnRequestEnabled = 2;</code>
       */
      public Builder clearIsSendOnRequestEnabled() {
        bitField0_ = (bitField0_ & ~0x00000002);
        isSendOnRequestEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isSendPeriodicallyEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be sent to the SDP periodically.
       * </pre>
       *
       * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
       */
      public boolean hasIsSendPeriodicallyEnabled() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be sent to the SDP periodically.
       * </pre>
       *
       * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
       */
      public boolean getIsSendPeriodicallyEnabled() {
        return isSendPeriodicallyEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be sent to the SDP periodically.
       * </pre>
       *
       * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
       */
      public Builder setIsSendPeriodicallyEnabled(boolean value) {
        bitField0_ |= 0x00000004;
        isSendPeriodicallyEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates the vehicle location will be sent to the SDP periodically.
       * </pre>
       *
       * <code>optional bool isSendPeriodicallyEnabled = 3;</code>
       */
      public Builder clearIsSendPeriodicallyEnabled() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isSendPeriodicallyEnabled_ = false;
        onChanged();
        return this;
      }

      private int sendLocationPeriodS_ ;
      /**
       * <pre>
       *&#47; The vehicle position is sent to the SDP using this period in seconds.
       * </pre>
       *
       * <code>optional int32 sendLocationPeriodS = 4;</code>
       */
      public boolean hasSendLocationPeriodS() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The vehicle position is sent to the SDP using this period in seconds.
       * </pre>
       *
       * <code>optional int32 sendLocationPeriodS = 4;</code>
       */
      public int getSendLocationPeriodS() {
        return sendLocationPeriodS_;
      }
      /**
       * <pre>
       *&#47; The vehicle position is sent to the SDP using this period in seconds.
       * </pre>
       *
       * <code>optional int32 sendLocationPeriodS = 4;</code>
       */
      public Builder setSendLocationPeriodS(int value) {
        bitField0_ |= 0x00000008;
        sendLocationPeriodS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The vehicle position is sent to the SDP using this period in seconds.
       * </pre>
       *
       * <code>optional int32 sendLocationPeriodS = 4;</code>
       */
      public Builder clearSendLocationPeriodS() {
        bitField0_ = (bitField0_ & ~0x00000008);
        sendLocationPeriodS_ = 0;
        onChanged();
        return this;
      }

      private int gpsFixTimeoutS_ ;
      /**
       * <pre>
       *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
       * </pre>
       *
       * <code>optional int32 gpsFixTimeoutS = 5;</code>
       */
      public boolean hasGpsFixTimeoutS() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
       * </pre>
       *
       * <code>optional int32 gpsFixTimeoutS = 5;</code>
       */
      public int getGpsFixTimeoutS() {
        return gpsFixTimeoutS_;
      }
      /**
       * <pre>
       *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
       * </pre>
       *
       * <code>optional int32 gpsFixTimeoutS = 5;</code>
       */
      public Builder setGpsFixTimeoutS(int value) {
        bitField0_ |= 0x00000010;
        gpsFixTimeoutS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The gps fix timeout in seconds which will result in an error in response to a location request.
       * </pre>
       *
       * <code>optional int32 gpsFixTimeoutS = 5;</code>
       */
      public Builder clearGpsFixTimeoutS() {
        bitField0_ = (bitField0_ & ~0x00000010);
        gpsFixTimeoutS_ = 0;
        onChanged();
        return this;
      }

      private int locationCachingPeriodS_ ;
      /**
       * <pre>
       *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
       * </pre>
       *
       * <code>optional int32 locationCachingPeriodS = 6;</code>
       */
      public boolean hasLocationCachingPeriodS() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
       * </pre>
       *
       * <code>optional int32 locationCachingPeriodS = 6;</code>
       */
      public int getLocationCachingPeriodS() {
        return locationCachingPeriodS_;
      }
      /**
       * <pre>
       *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
       * </pre>
       *
       * <code>optional int32 locationCachingPeriodS = 6;</code>
       */
      public Builder setLocationCachingPeriodS(int value) {
        bitField0_ |= 0x00000020;
        locationCachingPeriodS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The period in seconds to cache the gps location to support requests when the gps fix is lost.
       * </pre>
       *
       * <code>optional int32 locationCachingPeriodS = 6;</code>
       */
      public Builder clearLocationCachingPeriodS() {
        bitField0_ = (bitField0_ & ~0x00000020);
        locationCachingPeriodS_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.VehicleFinderSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.VehicleFinderSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<VehicleFinderSettings>
        PARSER = new com.google.protobuf.AbstractParser<VehicleFinderSettings>() {
      public VehicleFinderSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new VehicleFinderSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleFinderSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StolenVehicleAssistanceSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.StolenVehicleAssistanceSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Control trigger setting 
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
     */
    boolean hasTriggerMode();
    /**
     * <pre>
     *&#47; Control trigger setting 
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum getTriggerMode();

    /**
     * <pre>
     *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
     */
    boolean hasStolenVehicleInfoNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
     */
    int getStolenVehicleInfoNotificationInterval();

    /**
     * <pre>
     *&#47; The time interval in minutes for notifications when powered by the backup battery.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
     */
    boolean hasStolenVehicleInfoNotificationBUBInterval();
    /**
     * <pre>
     *&#47; The time interval in minutes for notifications when powered by the backup battery.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
     */
    int getStolenVehicleInfoNotificationBUBInterval();

    /**
     * <pre>
     *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
     * </pre>
     *
     * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
     */
    boolean hasMaxNumBlockVehicleAttempts();
    /**
     * <pre>
     *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
     * </pre>
     *
     * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
     */
    int getMaxNumBlockVehicleAttempts();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for Stolen Vehicle features
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.StolenVehicleAssistanceSettings}
   */
  public  static final class StolenVehicleAssistanceSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.StolenVehicleAssistanceSettings)
      StolenVehicleAssistanceSettingsOrBuilder {
    // Use StolenVehicleAssistanceSettings.newBuilder() to construct.
    private StolenVehicleAssistanceSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StolenVehicleAssistanceSettings() {
      triggerMode_ = 0;
      stolenVehicleInfoNotificationInterval_ = 0;
      stolenVehicleInfoNotificationBUBInterval_ = 0;
      maxNumBlockVehicleAttempts_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StolenVehicleAssistanceSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum value = com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                triggerMode_ = rawValue;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              stolenVehicleInfoNotificationInterval_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              stolenVehicleInfoNotificationBUBInterval_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              maxNumBlockVehicleAttempts_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum}
     */
    public enum TriggerModeEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <pre>
       *&#47; triggers are on-demand from the SDP
       * </pre>
       *
       * <code>ON_DEMAND = 0;</code>
       */
      ON_DEMAND(0),
      /**
       * <pre>
       *&#47; Indicates to have theft alarm automatically trigger notifications
       * </pre>
       *
       * <code>AUTOMATIC_NOTIFICATION = 1;</code>
       */
      AUTOMATIC_NOTIFICATION(1),
      /**
       * <pre>
       *&#47; Indicates theft alarm will trigger automatic tracking
       * </pre>
       *
       * <code>AUTOMATIC_TRACKING = 2;</code>
       */
      AUTOMATIC_TRACKING(2),
      ;

      /**
       * <pre>
       *&#47; triggers are on-demand from the SDP
       * </pre>
       *
       * <code>ON_DEMAND = 0;</code>
       */
      public static final int ON_DEMAND_VALUE = 0;
      /**
       * <pre>
       *&#47; Indicates to have theft alarm automatically trigger notifications
       * </pre>
       *
       * <code>AUTOMATIC_NOTIFICATION = 1;</code>
       */
      public static final int AUTOMATIC_NOTIFICATION_VALUE = 1;
      /**
       * <pre>
       *&#47; Indicates theft alarm will trigger automatic tracking
       * </pre>
       *
       * <code>AUTOMATIC_TRACKING = 2;</code>
       */
      public static final int AUTOMATIC_TRACKING_VALUE = 2;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TriggerModeEnum valueOf(int value) {
        return forNumber(value);
      }

      public static TriggerModeEnum forNumber(int value) {
        switch (value) {
          case 0: return ON_DEMAND;
          case 1: return AUTOMATIC_NOTIFICATION;
          case 2: return AUTOMATIC_TRACKING;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<TriggerModeEnum>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          TriggerModeEnum> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<TriggerModeEnum>() {
              public TriggerModeEnum findValueByNumber(int number) {
                return TriggerModeEnum.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDescriptor().getEnumTypes().get(0);
      }

      private static final TriggerModeEnum[] VALUES = values();

      public static TriggerModeEnum valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private TriggerModeEnum(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum)
    }

    private int bitField0_;
    public static final int TRIGGERMODE_FIELD_NUMBER = 1;
    private int triggerMode_;
    /**
     * <pre>
     *&#47; Control trigger setting 
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
     */
    public boolean hasTriggerMode() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; Control trigger setting 
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum getTriggerMode() {
      com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum.valueOf(triggerMode_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum.ON_DEMAND : result;
    }

    public static final int STOLENVEHICLEINFONOTIFICATIONINTERVAL_FIELD_NUMBER = 2;
    private int stolenVehicleInfoNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
     */
    public boolean hasStolenVehicleInfoNotificationInterval() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
     */
    public int getStolenVehicleInfoNotificationInterval() {
      return stolenVehicleInfoNotificationInterval_;
    }

    public static final int STOLENVEHICLEINFONOTIFICATIONBUBINTERVAL_FIELD_NUMBER = 3;
    private int stolenVehicleInfoNotificationBUBInterval_;
    /**
     * <pre>
     *&#47; The time interval in minutes for notifications when powered by the backup battery.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
     */
    public boolean hasStolenVehicleInfoNotificationBUBInterval() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; The time interval in minutes for notifications when powered by the backup battery.
     * </pre>
     *
     * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
     */
    public int getStolenVehicleInfoNotificationBUBInterval() {
      return stolenVehicleInfoNotificationBUBInterval_;
    }

    public static final int MAXNUMBLOCKVEHICLEATTEMPTS_FIELD_NUMBER = 4;
    private int maxNumBlockVehicleAttempts_;
    /**
     * <pre>
     *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
     * </pre>
     *
     * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
     */
    public boolean hasMaxNumBlockVehicleAttempts() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
     * </pre>
     *
     * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
     */
    public int getMaxNumBlockVehicleAttempts() {
      return maxNumBlockVehicleAttempts_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, triggerMode_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, stolenVehicleInfoNotificationInterval_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, stolenVehicleInfoNotificationBUBInterval_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, maxNumBlockVehicleAttempts_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, triggerMode_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, stolenVehicleInfoNotificationInterval_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, stolenVehicleInfoNotificationBUBInterval_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, maxNumBlockVehicleAttempts_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings) obj;

      boolean result = true;
      result = result && (hasTriggerMode() == other.hasTriggerMode());
      if (hasTriggerMode()) {
        result = result && triggerMode_ == other.triggerMode_;
      }
      result = result && (hasStolenVehicleInfoNotificationInterval() == other.hasStolenVehicleInfoNotificationInterval());
      if (hasStolenVehicleInfoNotificationInterval()) {
        result = result && (getStolenVehicleInfoNotificationInterval()
            == other.getStolenVehicleInfoNotificationInterval());
      }
      result = result && (hasStolenVehicleInfoNotificationBUBInterval() == other.hasStolenVehicleInfoNotificationBUBInterval());
      if (hasStolenVehicleInfoNotificationBUBInterval()) {
        result = result && (getStolenVehicleInfoNotificationBUBInterval()
            == other.getStolenVehicleInfoNotificationBUBInterval());
      }
      result = result && (hasMaxNumBlockVehicleAttempts() == other.hasMaxNumBlockVehicleAttempts());
      if (hasMaxNumBlockVehicleAttempts()) {
        result = result && (getMaxNumBlockVehicleAttempts()
            == other.getMaxNumBlockVehicleAttempts());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasTriggerMode()) {
        hash = (37 * hash) + TRIGGERMODE_FIELD_NUMBER;
        hash = (53 * hash) + triggerMode_;
      }
      if (hasStolenVehicleInfoNotificationInterval()) {
        hash = (37 * hash) + STOLENVEHICLEINFONOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getStolenVehicleInfoNotificationInterval();
      }
      if (hasStolenVehicleInfoNotificationBUBInterval()) {
        hash = (37 * hash) + STOLENVEHICLEINFONOTIFICATIONBUBINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getStolenVehicleInfoNotificationBUBInterval();
      }
      if (hasMaxNumBlockVehicleAttempts()) {
        hash = (37 * hash) + MAXNUMBLOCKVEHICLEATTEMPTS_FIELD_NUMBER;
        hash = (53 * hash) + getMaxNumBlockVehicleAttempts();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for Stolen Vehicle features
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.StolenVehicleAssistanceSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.StolenVehicleAssistanceSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        triggerMode_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        stolenVehicleInfoNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        stolenVehicleInfoNotificationBUBInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        maxNumBlockVehicleAttempts_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.triggerMode_ = triggerMode_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.stolenVehicleInfoNotificationInterval_ = stolenVehicleInfoNotificationInterval_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.stolenVehicleInfoNotificationBUBInterval_ = stolenVehicleInfoNotificationBUBInterval_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.maxNumBlockVehicleAttempts_ = maxNumBlockVehicleAttempts_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.getDefaultInstance()) return this;
        if (other.hasTriggerMode()) {
          setTriggerMode(other.getTriggerMode());
        }
        if (other.hasStolenVehicleInfoNotificationInterval()) {
          setStolenVehicleInfoNotificationInterval(other.getStolenVehicleInfoNotificationInterval());
        }
        if (other.hasStolenVehicleInfoNotificationBUBInterval()) {
          setStolenVehicleInfoNotificationBUBInterval(other.getStolenVehicleInfoNotificationBUBInterval());
        }
        if (other.hasMaxNumBlockVehicleAttempts()) {
          setMaxNumBlockVehicleAttempts(other.getMaxNumBlockVehicleAttempts());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int triggerMode_ = 0;
      /**
       * <pre>
       *&#47; Control trigger setting 
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
       */
      public boolean hasTriggerMode() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; Control trigger setting 
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum getTriggerMode() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum.valueOf(triggerMode_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum.ON_DEMAND : result;
      }
      /**
       * <pre>
       *&#47; Control trigger setting 
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
       */
      public Builder setTriggerMode(com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings.TriggerModeEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        triggerMode_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Control trigger setting 
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.StolenVehicleAssistanceSettings.TriggerModeEnum triggerMode = 1;</code>
       */
      public Builder clearTriggerMode() {
        bitField0_ = (bitField0_ & ~0x00000001);
        triggerMode_ = 0;
        onChanged();
        return this;
      }

      private int stolenVehicleInfoNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
       */
      public boolean hasStolenVehicleInfoNotificationInterval() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
       */
      public int getStolenVehicleInfoNotificationInterval() {
        return stolenVehicleInfoNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
       */
      public Builder setStolenVehicleInfoNotificationInterval(int value) {
        bitField0_ |= 0x00000002;
        stolenVehicleInfoNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for the vehicle to send a notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationInterval = 2;</code>
       */
      public Builder clearStolenVehicleInfoNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000002);
        stolenVehicleInfoNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int stolenVehicleInfoNotificationBUBInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in minutes for notifications when powered by the backup battery.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
       */
      public boolean hasStolenVehicleInfoNotificationBUBInterval() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for notifications when powered by the backup battery.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
       */
      public int getStolenVehicleInfoNotificationBUBInterval() {
        return stolenVehicleInfoNotificationBUBInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for notifications when powered by the backup battery.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
       */
      public Builder setStolenVehicleInfoNotificationBUBInterval(int value) {
        bitField0_ |= 0x00000004;
        stolenVehicleInfoNotificationBUBInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in minutes for notifications when powered by the backup battery.
       * </pre>
       *
       * <code>optional int32 stolenVehicleInfoNotificationBUBInterval = 3;</code>
       */
      public Builder clearStolenVehicleInfoNotificationBUBInterval() {
        bitField0_ = (bitField0_ & ~0x00000004);
        stolenVehicleInfoNotificationBUBInterval_ = 0;
        onChanged();
        return this;
      }

      private int maxNumBlockVehicleAttempts_ ;
      /**
       * <pre>
       *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
       * </pre>
       *
       * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
       */
      public boolean hasMaxNumBlockVehicleAttempts() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
       * </pre>
       *
       * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
       */
      public int getMaxNumBlockVehicleAttempts() {
        return maxNumBlockVehicleAttempts_;
      }
      /**
       * <pre>
       *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
       * </pre>
       *
       * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
       */
      public Builder setMaxNumBlockVehicleAttempts(int value) {
        bitField0_ |= 0x00000008;
        maxNumBlockVehicleAttempts_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The maximum number of attempts to send CAN messages to the target ECU to activate the Stolen Vehicle Modes (Ignore Acceleration | Block Ignition). .	
       * </pre>
       *
       * <code>optional int32 maxNumBlockVehicleAttempts = 4;</code>
       */
      public Builder clearMaxNumBlockVehicleAttempts() {
        bitField0_ = (bitField0_ & ~0x00000008);
        maxNumBlockVehicleAttempts_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.StolenVehicleAssistanceSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.StolenVehicleAssistanceSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<StolenVehicleAssistanceSettings>
        PARSER = new com.google.protobuf.AbstractParser<StolenVehicleAssistanceSettings>() {
      public StolenVehicleAssistanceSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new StolenVehicleAssistanceSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.StolenVehicleAssistanceSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RemoteOperationSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.RemoteOperationSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteDoorExecTimeout = 1;</code>
     */
    boolean hasRemoteDoorExecTimeout();
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteDoorExecTimeout = 1;</code>
     */
    int getRemoteDoorExecTimeout();

    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
     */
    boolean hasRemoteDoorStatusNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
     */
    int getRemoteDoorStatusNotificationInterval();

    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
     */
    boolean hasRemoteHornAndLightsExecTimeout();
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
     */
    int getRemoteHornAndLightsExecTimeout();

    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
     */
    boolean hasRemoteHornAndLightsStatusNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
     */
    int getRemoteHornAndLightsStatusNotificationInterval();

    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteEngineExecTimeout = 5;</code>
     */
    boolean hasRemoteEngineExecTimeout();
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteEngineExecTimeout = 5;</code>
     */
    int getRemoteEngineExecTimeout();

    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
     */
    boolean hasRemoteEngineStatusNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
     */
    int getRemoteEngineStatusNotificationInterval();

    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteClimateExecTimeout = 7;</code>
     */
    boolean hasRemoteClimateExecTimeout();
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteClimateExecTimeout = 7;</code>
     */
    int getRemoteClimateExecTimeout();

    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
     */
    boolean hasRemoteClimateStatusNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
     */
    int getRemoteClimateStatusNotificationInterval();

    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteWindowExecTimeout = 9;</code>
     */
    boolean hasRemoteWindowExecTimeout();
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteWindowExecTimeout = 9;</code>
     */
    int getRemoteWindowExecTimeout();

    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
     */
    boolean hasRemoteWindowStatusNotificationInterval();
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
     */
    int getRemoteWindowStatusNotificationInterval();

    /**
     * <pre>
     *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
     * </pre>
     *
     * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
     */
    boolean hasRemoteEngineStartRecoveryTimeout();
    /**
     * <pre>
     *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
     * </pre>
     *
     * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
     */
    int getRemoteEngineStartRecoveryTimeout();

    /**
     * <pre>
     *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
     * </pre>
     *
     * <code>optional int32 remoteClimateTimeout = 12;</code>
     */
    boolean hasRemoteClimateTimeout();
    /**
     * <pre>
     *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
     * </pre>
     *
     * <code>optional int32 remoteClimateTimeout = 12;</code>
     */
    int getRemoteClimateTimeout();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for Remote Operation features
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.RemoteOperationSettings}
   */
  public  static final class RemoteOperationSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.RemoteOperationSettings)
      RemoteOperationSettingsOrBuilder {
    // Use RemoteOperationSettings.newBuilder() to construct.
    private RemoteOperationSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RemoteOperationSettings() {
      remoteDoorExecTimeout_ = 0;
      remoteDoorStatusNotificationInterval_ = 0;
      remoteHornAndLightsExecTimeout_ = 0;
      remoteHornAndLightsStatusNotificationInterval_ = 0;
      remoteEngineExecTimeout_ = 0;
      remoteEngineStatusNotificationInterval_ = 0;
      remoteClimateExecTimeout_ = 0;
      remoteClimateStatusNotificationInterval_ = 0;
      remoteWindowExecTimeout_ = 0;
      remoteWindowStatusNotificationInterval_ = 0;
      remoteEngineStartRecoveryTimeout_ = 0;
      remoteClimateTimeout_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RemoteOperationSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              remoteDoorExecTimeout_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              remoteDoorStatusNotificationInterval_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              remoteHornAndLightsExecTimeout_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              remoteHornAndLightsStatusNotificationInterval_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              remoteEngineExecTimeout_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              remoteEngineStatusNotificationInterval_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              remoteClimateExecTimeout_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              remoteClimateStatusNotificationInterval_ = input.readInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              remoteWindowExecTimeout_ = input.readInt32();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              remoteWindowStatusNotificationInterval_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              remoteEngineStartRecoveryTimeout_ = input.readInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              remoteClimateTimeout_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_RemoteOperationSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder.class);
    }

    private int bitField0_;
    public static final int REMOTEDOOREXECTIMEOUT_FIELD_NUMBER = 1;
    private int remoteDoorExecTimeout_;
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteDoorExecTimeout = 1;</code>
     */
    public boolean hasRemoteDoorExecTimeout() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteDoorExecTimeout = 1;</code>
     */
    public int getRemoteDoorExecTimeout() {
      return remoteDoorExecTimeout_;
    }

    public static final int REMOTEDOORSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER = 2;
    private int remoteDoorStatusNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
     */
    public boolean hasRemoteDoorStatusNotificationInterval() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
     */
    public int getRemoteDoorStatusNotificationInterval() {
      return remoteDoorStatusNotificationInterval_;
    }

    public static final int REMOTEHORNANDLIGHTSEXECTIMEOUT_FIELD_NUMBER = 3;
    private int remoteHornAndLightsExecTimeout_;
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
     */
    public boolean hasRemoteHornAndLightsExecTimeout() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
     */
    public int getRemoteHornAndLightsExecTimeout() {
      return remoteHornAndLightsExecTimeout_;
    }

    public static final int REMOTEHORNANDLIGHTSSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER = 4;
    private int remoteHornAndLightsStatusNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
     */
    public boolean hasRemoteHornAndLightsStatusNotificationInterval() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
     */
    public int getRemoteHornAndLightsStatusNotificationInterval() {
      return remoteHornAndLightsStatusNotificationInterval_;
    }

    public static final int REMOTEENGINEEXECTIMEOUT_FIELD_NUMBER = 5;
    private int remoteEngineExecTimeout_;
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteEngineExecTimeout = 5;</code>
     */
    public boolean hasRemoteEngineExecTimeout() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteEngineExecTimeout = 5;</code>
     */
    public int getRemoteEngineExecTimeout() {
      return remoteEngineExecTimeout_;
    }

    public static final int REMOTEENGINESTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER = 6;
    private int remoteEngineStatusNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
     */
    public boolean hasRemoteEngineStatusNotificationInterval() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
     */
    public int getRemoteEngineStatusNotificationInterval() {
      return remoteEngineStatusNotificationInterval_;
    }

    public static final int REMOTECLIMATEEXECTIMEOUT_FIELD_NUMBER = 7;
    private int remoteClimateExecTimeout_;
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteClimateExecTimeout = 7;</code>
     */
    public boolean hasRemoteClimateExecTimeout() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteClimateExecTimeout = 7;</code>
     */
    public int getRemoteClimateExecTimeout() {
      return remoteClimateExecTimeout_;
    }

    public static final int REMOTECLIMATESTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER = 8;
    private int remoteClimateStatusNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
     */
    public boolean hasRemoteClimateStatusNotificationInterval() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
     */
    public int getRemoteClimateStatusNotificationInterval() {
      return remoteClimateStatusNotificationInterval_;
    }

    public static final int REMOTEWINDOWEXECTIMEOUT_FIELD_NUMBER = 9;
    private int remoteWindowExecTimeout_;
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteWindowExecTimeout = 9;</code>
     */
    public boolean hasRemoteWindowExecTimeout() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <pre>
     *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
     * </pre>
     *
     * <code>optional int32 remoteWindowExecTimeout = 9;</code>
     */
    public int getRemoteWindowExecTimeout() {
      return remoteWindowExecTimeout_;
    }

    public static final int REMOTEWINDOWSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER = 10;
    private int remoteWindowStatusNotificationInterval_;
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
     */
    public boolean hasRemoteWindowStatusNotificationInterval() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <pre>
     *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
     * </pre>
     *
     * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
     */
    public int getRemoteWindowStatusNotificationInterval() {
      return remoteWindowStatusNotificationInterval_;
    }

    public static final int REMOTEENGINESTARTRECOVERYTIMEOUT_FIELD_NUMBER = 11;
    private int remoteEngineStartRecoveryTimeout_;
    /**
     * <pre>
     *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
     * </pre>
     *
     * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
     */
    public boolean hasRemoteEngineStartRecoveryTimeout() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <pre>
     *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
     * </pre>
     *
     * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
     */
    public int getRemoteEngineStartRecoveryTimeout() {
      return remoteEngineStartRecoveryTimeout_;
    }

    public static final int REMOTECLIMATETIMEOUT_FIELD_NUMBER = 12;
    private int remoteClimateTimeout_;
    /**
     * <pre>
     *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
     * </pre>
     *
     * <code>optional int32 remoteClimateTimeout = 12;</code>
     */
    public boolean hasRemoteClimateTimeout() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <pre>
     *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
     * </pre>
     *
     * <code>optional int32 remoteClimateTimeout = 12;</code>
     */
    public int getRemoteClimateTimeout() {
      return remoteClimateTimeout_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, remoteDoorExecTimeout_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, remoteDoorStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, remoteHornAndLightsExecTimeout_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, remoteHornAndLightsStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, remoteEngineExecTimeout_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, remoteEngineStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, remoteClimateExecTimeout_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(8, remoteClimateStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(9, remoteWindowExecTimeout_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(10, remoteWindowStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(11, remoteEngineStartRecoveryTimeout_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeInt32(12, remoteClimateTimeout_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, remoteDoorExecTimeout_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, remoteDoorStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, remoteHornAndLightsExecTimeout_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, remoteHornAndLightsStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, remoteEngineExecTimeout_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, remoteEngineStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, remoteClimateExecTimeout_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, remoteClimateStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, remoteWindowExecTimeout_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, remoteWindowStatusNotificationInterval_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, remoteEngineStartRecoveryTimeout_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, remoteClimateTimeout_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings) obj;

      boolean result = true;
      result = result && (hasRemoteDoorExecTimeout() == other.hasRemoteDoorExecTimeout());
      if (hasRemoteDoorExecTimeout()) {
        result = result && (getRemoteDoorExecTimeout()
            == other.getRemoteDoorExecTimeout());
      }
      result = result && (hasRemoteDoorStatusNotificationInterval() == other.hasRemoteDoorStatusNotificationInterval());
      if (hasRemoteDoorStatusNotificationInterval()) {
        result = result && (getRemoteDoorStatusNotificationInterval()
            == other.getRemoteDoorStatusNotificationInterval());
      }
      result = result && (hasRemoteHornAndLightsExecTimeout() == other.hasRemoteHornAndLightsExecTimeout());
      if (hasRemoteHornAndLightsExecTimeout()) {
        result = result && (getRemoteHornAndLightsExecTimeout()
            == other.getRemoteHornAndLightsExecTimeout());
      }
      result = result && (hasRemoteHornAndLightsStatusNotificationInterval() == other.hasRemoteHornAndLightsStatusNotificationInterval());
      if (hasRemoteHornAndLightsStatusNotificationInterval()) {
        result = result && (getRemoteHornAndLightsStatusNotificationInterval()
            == other.getRemoteHornAndLightsStatusNotificationInterval());
      }
      result = result && (hasRemoteEngineExecTimeout() == other.hasRemoteEngineExecTimeout());
      if (hasRemoteEngineExecTimeout()) {
        result = result && (getRemoteEngineExecTimeout()
            == other.getRemoteEngineExecTimeout());
      }
      result = result && (hasRemoteEngineStatusNotificationInterval() == other.hasRemoteEngineStatusNotificationInterval());
      if (hasRemoteEngineStatusNotificationInterval()) {
        result = result && (getRemoteEngineStatusNotificationInterval()
            == other.getRemoteEngineStatusNotificationInterval());
      }
      result = result && (hasRemoteClimateExecTimeout() == other.hasRemoteClimateExecTimeout());
      if (hasRemoteClimateExecTimeout()) {
        result = result && (getRemoteClimateExecTimeout()
            == other.getRemoteClimateExecTimeout());
      }
      result = result && (hasRemoteClimateStatusNotificationInterval() == other.hasRemoteClimateStatusNotificationInterval());
      if (hasRemoteClimateStatusNotificationInterval()) {
        result = result && (getRemoteClimateStatusNotificationInterval()
            == other.getRemoteClimateStatusNotificationInterval());
      }
      result = result && (hasRemoteWindowExecTimeout() == other.hasRemoteWindowExecTimeout());
      if (hasRemoteWindowExecTimeout()) {
        result = result && (getRemoteWindowExecTimeout()
            == other.getRemoteWindowExecTimeout());
      }
      result = result && (hasRemoteWindowStatusNotificationInterval() == other.hasRemoteWindowStatusNotificationInterval());
      if (hasRemoteWindowStatusNotificationInterval()) {
        result = result && (getRemoteWindowStatusNotificationInterval()
            == other.getRemoteWindowStatusNotificationInterval());
      }
      result = result && (hasRemoteEngineStartRecoveryTimeout() == other.hasRemoteEngineStartRecoveryTimeout());
      if (hasRemoteEngineStartRecoveryTimeout()) {
        result = result && (getRemoteEngineStartRecoveryTimeout()
            == other.getRemoteEngineStartRecoveryTimeout());
      }
      result = result && (hasRemoteClimateTimeout() == other.hasRemoteClimateTimeout());
      if (hasRemoteClimateTimeout()) {
        result = result && (getRemoteClimateTimeout()
            == other.getRemoteClimateTimeout());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasRemoteDoorExecTimeout()) {
        hash = (37 * hash) + REMOTEDOOREXECTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteDoorExecTimeout();
      }
      if (hasRemoteDoorStatusNotificationInterval()) {
        hash = (37 * hash) + REMOTEDOORSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteDoorStatusNotificationInterval();
      }
      if (hasRemoteHornAndLightsExecTimeout()) {
        hash = (37 * hash) + REMOTEHORNANDLIGHTSEXECTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteHornAndLightsExecTimeout();
      }
      if (hasRemoteHornAndLightsStatusNotificationInterval()) {
        hash = (37 * hash) + REMOTEHORNANDLIGHTSSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteHornAndLightsStatusNotificationInterval();
      }
      if (hasRemoteEngineExecTimeout()) {
        hash = (37 * hash) + REMOTEENGINEEXECTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteEngineExecTimeout();
      }
      if (hasRemoteEngineStatusNotificationInterval()) {
        hash = (37 * hash) + REMOTEENGINESTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteEngineStatusNotificationInterval();
      }
      if (hasRemoteClimateExecTimeout()) {
        hash = (37 * hash) + REMOTECLIMATEEXECTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteClimateExecTimeout();
      }
      if (hasRemoteClimateStatusNotificationInterval()) {
        hash = (37 * hash) + REMOTECLIMATESTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteClimateStatusNotificationInterval();
      }
      if (hasRemoteWindowExecTimeout()) {
        hash = (37 * hash) + REMOTEWINDOWEXECTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteWindowExecTimeout();
      }
      if (hasRemoteWindowStatusNotificationInterval()) {
        hash = (37 * hash) + REMOTEWINDOWSTATUSNOTIFICATIONINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteWindowStatusNotificationInterval();
      }
      if (hasRemoteEngineStartRecoveryTimeout()) {
        hash = (37 * hash) + REMOTEENGINESTARTRECOVERYTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteEngineStartRecoveryTimeout();
      }
      if (hasRemoteClimateTimeout()) {
        hash = (37 * hash) + REMOTECLIMATETIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getRemoteClimateTimeout();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for Remote Operation features
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.RemoteOperationSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.RemoteOperationSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_RemoteOperationSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        remoteDoorExecTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        remoteDoorStatusNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        remoteHornAndLightsExecTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        remoteHornAndLightsStatusNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        remoteEngineExecTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        remoteEngineStatusNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        remoteClimateExecTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        remoteClimateStatusNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        remoteWindowExecTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        remoteWindowStatusNotificationInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        remoteEngineStartRecoveryTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        remoteClimateTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.remoteDoorExecTimeout_ = remoteDoorExecTimeout_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.remoteDoorStatusNotificationInterval_ = remoteDoorStatusNotificationInterval_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.remoteHornAndLightsExecTimeout_ = remoteHornAndLightsExecTimeout_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.remoteHornAndLightsStatusNotificationInterval_ = remoteHornAndLightsStatusNotificationInterval_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.remoteEngineExecTimeout_ = remoteEngineExecTimeout_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.remoteEngineStatusNotificationInterval_ = remoteEngineStatusNotificationInterval_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.remoteClimateExecTimeout_ = remoteClimateExecTimeout_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.remoteClimateStatusNotificationInterval_ = remoteClimateStatusNotificationInterval_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.remoteWindowExecTimeout_ = remoteWindowExecTimeout_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.remoteWindowStatusNotificationInterval_ = remoteWindowStatusNotificationInterval_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.remoteEngineStartRecoveryTimeout_ = remoteEngineStartRecoveryTimeout_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.remoteClimateTimeout_ = remoteClimateTimeout_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings.getDefaultInstance()) return this;
        if (other.hasRemoteDoorExecTimeout()) {
          setRemoteDoorExecTimeout(other.getRemoteDoorExecTimeout());
        }
        if (other.hasRemoteDoorStatusNotificationInterval()) {
          setRemoteDoorStatusNotificationInterval(other.getRemoteDoorStatusNotificationInterval());
        }
        if (other.hasRemoteHornAndLightsExecTimeout()) {
          setRemoteHornAndLightsExecTimeout(other.getRemoteHornAndLightsExecTimeout());
        }
        if (other.hasRemoteHornAndLightsStatusNotificationInterval()) {
          setRemoteHornAndLightsStatusNotificationInterval(other.getRemoteHornAndLightsStatusNotificationInterval());
        }
        if (other.hasRemoteEngineExecTimeout()) {
          setRemoteEngineExecTimeout(other.getRemoteEngineExecTimeout());
        }
        if (other.hasRemoteEngineStatusNotificationInterval()) {
          setRemoteEngineStatusNotificationInterval(other.getRemoteEngineStatusNotificationInterval());
        }
        if (other.hasRemoteClimateExecTimeout()) {
          setRemoteClimateExecTimeout(other.getRemoteClimateExecTimeout());
        }
        if (other.hasRemoteClimateStatusNotificationInterval()) {
          setRemoteClimateStatusNotificationInterval(other.getRemoteClimateStatusNotificationInterval());
        }
        if (other.hasRemoteWindowExecTimeout()) {
          setRemoteWindowExecTimeout(other.getRemoteWindowExecTimeout());
        }
        if (other.hasRemoteWindowStatusNotificationInterval()) {
          setRemoteWindowStatusNotificationInterval(other.getRemoteWindowStatusNotificationInterval());
        }
        if (other.hasRemoteEngineStartRecoveryTimeout()) {
          setRemoteEngineStartRecoveryTimeout(other.getRemoteEngineStartRecoveryTimeout());
        }
        if (other.hasRemoteClimateTimeout()) {
          setRemoteClimateTimeout(other.getRemoteClimateTimeout());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int remoteDoorExecTimeout_ ;
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteDoorExecTimeout = 1;</code>
       */
      public boolean hasRemoteDoorExecTimeout() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteDoorExecTimeout = 1;</code>
       */
      public int getRemoteDoorExecTimeout() {
        return remoteDoorExecTimeout_;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteDoorExecTimeout = 1;</code>
       */
      public Builder setRemoteDoorExecTimeout(int value) {
        bitField0_ |= 0x00000001;
        remoteDoorExecTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteDoorExecTimeout = 1;</code>
       */
      public Builder clearRemoteDoorExecTimeout() {
        bitField0_ = (bitField0_ & ~0x00000001);
        remoteDoorExecTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteDoorStatusNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
       */
      public boolean hasRemoteDoorStatusNotificationInterval() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
       */
      public int getRemoteDoorStatusNotificationInterval() {
        return remoteDoorStatusNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
       */
      public Builder setRemoteDoorStatusNotificationInterval(int value) {
        bitField0_ |= 0x00000002;
        remoteDoorStatusNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteDoorStatusNotificationInterval = 2;</code>
       */
      public Builder clearRemoteDoorStatusNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000002);
        remoteDoorStatusNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int remoteHornAndLightsExecTimeout_ ;
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
       */
      public boolean hasRemoteHornAndLightsExecTimeout() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
       */
      public int getRemoteHornAndLightsExecTimeout() {
        return remoteHornAndLightsExecTimeout_;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
       */
      public Builder setRemoteHornAndLightsExecTimeout(int value) {
        bitField0_ |= 0x00000004;
        remoteHornAndLightsExecTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsExecTimeout = 3;</code>
       */
      public Builder clearRemoteHornAndLightsExecTimeout() {
        bitField0_ = (bitField0_ & ~0x00000004);
        remoteHornAndLightsExecTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteHornAndLightsStatusNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
       */
      public boolean hasRemoteHornAndLightsStatusNotificationInterval() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
       */
      public int getRemoteHornAndLightsStatusNotificationInterval() {
        return remoteHornAndLightsStatusNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
       */
      public Builder setRemoteHornAndLightsStatusNotificationInterval(int value) {
        bitField0_ |= 0x00000008;
        remoteHornAndLightsStatusNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteHornAndLightsStatusNotificationInterval = 4;</code>
       */
      public Builder clearRemoteHornAndLightsStatusNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000008);
        remoteHornAndLightsStatusNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int remoteEngineExecTimeout_ ;
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteEngineExecTimeout = 5;</code>
       */
      public boolean hasRemoteEngineExecTimeout() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteEngineExecTimeout = 5;</code>
       */
      public int getRemoteEngineExecTimeout() {
        return remoteEngineExecTimeout_;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteEngineExecTimeout = 5;</code>
       */
      public Builder setRemoteEngineExecTimeout(int value) {
        bitField0_ |= 0x00000010;
        remoteEngineExecTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteEngineExecTimeout = 5;</code>
       */
      public Builder clearRemoteEngineExecTimeout() {
        bitField0_ = (bitField0_ & ~0x00000010);
        remoteEngineExecTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteEngineStatusNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
       */
      public boolean hasRemoteEngineStatusNotificationInterval() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
       */
      public int getRemoteEngineStatusNotificationInterval() {
        return remoteEngineStatusNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
       */
      public Builder setRemoteEngineStatusNotificationInterval(int value) {
        bitField0_ |= 0x00000020;
        remoteEngineStatusNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteEngineStatusNotificationInterval = 6;</code>
       */
      public Builder clearRemoteEngineStatusNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000020);
        remoteEngineStatusNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int remoteClimateExecTimeout_ ;
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteClimateExecTimeout = 7;</code>
       */
      public boolean hasRemoteClimateExecTimeout() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteClimateExecTimeout = 7;</code>
       */
      public int getRemoteClimateExecTimeout() {
        return remoteClimateExecTimeout_;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteClimateExecTimeout = 7;</code>
       */
      public Builder setRemoteClimateExecTimeout(int value) {
        bitField0_ |= 0x00000040;
        remoteClimateExecTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteClimateExecTimeout = 7;</code>
       */
      public Builder clearRemoteClimateExecTimeout() {
        bitField0_ = (bitField0_ & ~0x00000040);
        remoteClimateExecTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteClimateStatusNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
       */
      public boolean hasRemoteClimateStatusNotificationInterval() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
       */
      public int getRemoteClimateStatusNotificationInterval() {
        return remoteClimateStatusNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
       */
      public Builder setRemoteClimateStatusNotificationInterval(int value) {
        bitField0_ |= 0x00000080;
        remoteClimateStatusNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteClimateStatusNotificationInterval = 8;</code>
       */
      public Builder clearRemoteClimateStatusNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000080);
        remoteClimateStatusNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int remoteWindowExecTimeout_ ;
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteWindowExecTimeout = 9;</code>
       */
      public boolean hasRemoteWindowExecTimeout() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteWindowExecTimeout = 9;</code>
       */
      public int getRemoteWindowExecTimeout() {
        return remoteWindowExecTimeout_;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteWindowExecTimeout = 9;</code>
       */
      public Builder setRemoteWindowExecTimeout(int value) {
        bitField0_ |= 0x00000100;
        remoteWindowExecTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The timeout in seconds for receiving a response that the remote operation completed or failed.
       * </pre>
       *
       * <code>optional int32 remoteWindowExecTimeout = 9;</code>
       */
      public Builder clearRemoteWindowExecTimeout() {
        bitField0_ = (bitField0_ & ~0x00000100);
        remoteWindowExecTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteWindowStatusNotificationInterval_ ;
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
       */
      public boolean hasRemoteWindowStatusNotificationInterval() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
       */
      public int getRemoteWindowStatusNotificationInterval() {
        return remoteWindowStatusNotificationInterval_;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
       */
      public Builder setRemoteWindowStatusNotificationInterval(int value) {
        bitField0_ |= 0x00000200;
        remoteWindowStatusNotificationInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The time interval in seconds for the device to send a status notification message to the SDP.
       * </pre>
       *
       * <code>optional int32 remoteWindowStatusNotificationInterval = 10;</code>
       */
      public Builder clearRemoteWindowStatusNotificationInterval() {
        bitField0_ = (bitField0_ & ~0x00000200);
        remoteWindowStatusNotificationInterval_ = 0;
        onChanged();
        return this;
      }

      private int remoteEngineStartRecoveryTimeout_ ;
      /**
       * <pre>
       *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
       * </pre>
       *
       * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
       */
      public boolean hasRemoteEngineStartRecoveryTimeout() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <pre>
       *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
       * </pre>
       *
       * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
       */
      public int getRemoteEngineStartRecoveryTimeout() {
        return remoteEngineStartRecoveryTimeout_;
      }
      /**
       * <pre>
       *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
       * </pre>
       *
       * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
       */
      public Builder setRemoteEngineStartRecoveryTimeout(int value) {
        bitField0_ |= 0x00000400;
        remoteEngineStartRecoveryTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (RC_RS.recoverTimeout) Duration in minutes for the engine to run.
       * </pre>
       *
       * <code>optional int32 remoteEngineStartRecoveryTimeout = 11;</code>
       */
      public Builder clearRemoteEngineStartRecoveryTimeout() {
        bitField0_ = (bitField0_ & ~0x00000400);
        remoteEngineStartRecoveryTimeout_ = 0;
        onChanged();
        return this;
      }

      private int remoteClimateTimeout_ ;
      /**
       * <pre>
       *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
       * </pre>
       *
       * <code>optional int32 remoteClimateTimeout = 12;</code>
       */
      public boolean hasRemoteClimateTimeout() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <pre>
       *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
       * </pre>
       *
       * <code>optional int32 remoteClimateTimeout = 12;</code>
       */
      public int getRemoteClimateTimeout() {
        return remoteClimateTimeout_;
      }
      /**
       * <pre>
       *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
       * </pre>
       *
       * <code>optional int32 remoteClimateTimeout = 12;</code>
       */
      public Builder setRemoteClimateTimeout(int value) {
        bitField0_ |= 0x00000800;
        remoteClimateTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (RC_PTC.timeout) Duration in minutes for the climate control to run.
       * </pre>
       *
       * <code>optional int32 remoteClimateTimeout = 12;</code>
       */
      public Builder clearRemoteClimateTimeout() {
        bitField0_ = (bitField0_ & ~0x00000800);
        remoteClimateTimeout_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.RemoteOperationSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.RemoteOperationSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<RemoteOperationSettings>
        PARSER = new com.google.protobuf.AbstractParser<RemoteOperationSettings>() {
      public RemoteOperationSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new RemoteOperationSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.RemoteOperationSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ConnectedVehicleSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.ConnectedVehicleSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    boolean hasSdpPrimaryMQTTUrl();
    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    java.lang.String getSdpPrimaryMQTTUrl();
    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    com.google.protobuf.ByteString
        getSdpPrimaryMQTTUrlBytes();

    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    boolean hasSdpBackupMQTTUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    java.lang.String getSdpBackupMQTTUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    com.google.protobuf.ByteString
        getSdpBackupMQTTUrlBytes();

    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    boolean hasFcaPrimaryGPKIUrl();
    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    java.lang.String getFcaPrimaryGPKIUrl();
    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    com.google.protobuf.ByteString
        getFcaPrimaryGPKIUrlBytes();

    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    boolean hasFcaBackupGPKIUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    java.lang.String getFcaBackupGPKIUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    com.google.protobuf.ByteString
        getFcaBackupGPKIUrlBytes();

    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    boolean hasAuthServerPrimaryUrl();
    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    java.lang.String getAuthServerPrimaryUrl();
    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    com.google.protobuf.ByteString
        getAuthServerPrimaryUrlBytes();

    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    boolean hasAuthServerBackupUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    java.lang.String getAuthServerBackupUrl();
    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    com.google.protobuf.ByteString
        getAuthServerBackupUrlBytes();

    /**
     * <pre>
     *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
     * </pre>
     *
     * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
     */
    boolean hasKeyOffKeepConnectionOnTimeout();
    /**
     * <pre>
     *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
     * </pre>
     *
     * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
     */
    int getKeyOffKeepConnectionOnTimeout();

    /**
     * <pre>
     *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
     * </pre>
     *
     * <code>optional int32 maxNumWakeUpMessages = 8;</code>
     */
    boolean hasMaxNumWakeUpMessages();
    /**
     * <pre>
     *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
     * </pre>
     *
     * <code>optional int32 maxNumWakeUpMessages = 8;</code>
     */
    int getMaxNumWakeUpMessages();

    /**
     * <pre>
     *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
     * </pre>
     *
     * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
     */
    boolean hasWakeUpMessageMaxTimeframe();
    /**
     * <pre>
     *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
     * </pre>
     *
     * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
     */
    int getWakeUpMessageMaxTimeframe();

    /**
     * <pre>
     *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
     * </pre>
     *
     * <code>optional bool isPrivacyMode = 10;</code>
     */
    boolean hasIsPrivacyMode();
    /**
     * <pre>
     *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
     * </pre>
     *
     * <code>optional bool isPrivacyMode = 10;</code>
     */
    boolean getIsPrivacyMode();

    /**
     * <pre>
     *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
     * </pre>
     *
     * <code>optional int32 maxNumLoggedOperations = 11;</code>
     */
    boolean hasMaxNumLoggedOperations();
    /**
     * <pre>
     *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
     * </pre>
     *
     * <code>optional int32 maxNumLoggedOperations = 11;</code>
     */
    int getMaxNumLoggedOperations();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for the overall telematics module behavior
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.ConnectedVehicleSettings}
   */
  public  static final class ConnectedVehicleSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.ConnectedVehicleSettings)
      ConnectedVehicleSettingsOrBuilder {
    // Use ConnectedVehicleSettings.newBuilder() to construct.
    private ConnectedVehicleSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ConnectedVehicleSettings() {
      sdpPrimaryMQTTUrl_ = "";
      sdpBackupMQTTUrl_ = "";
      fcaPrimaryGPKIUrl_ = "";
      fcaBackupGPKIUrl_ = "";
      authServerPrimaryUrl_ = "";
      authServerBackupUrl_ = "";
      keyOffKeepConnectionOnTimeout_ = 0;
      maxNumWakeUpMessages_ = 0;
      wakeUpMessageMaxTimeframe_ = 0;
      isPrivacyMode_ = false;
      maxNumLoggedOperations_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ConnectedVehicleSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              sdpPrimaryMQTTUrl_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              sdpBackupMQTTUrl_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              fcaPrimaryGPKIUrl_ = bs;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              fcaBackupGPKIUrl_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              authServerPrimaryUrl_ = bs;
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              authServerBackupUrl_ = bs;
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              keyOffKeepConnectionOnTimeout_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              maxNumWakeUpMessages_ = input.readInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              wakeUpMessageMaxTimeframe_ = input.readInt32();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              isPrivacyMode_ = input.readBool();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              maxNumLoggedOperations_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder.class);
    }

    private int bitField0_;
    public static final int SDPPRIMARYMQTTURL_FIELD_NUMBER = 1;
    private volatile java.lang.Object sdpPrimaryMQTTUrl_;
    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    public boolean hasSdpPrimaryMQTTUrl() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    public java.lang.String getSdpPrimaryMQTTUrl() {
      java.lang.Object ref = sdpPrimaryMQTTUrl_;
      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();
        if (bs.isValidUtf8()) {
          sdpPrimaryMQTTUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSdpPrimaryMQTTUrlBytes() {
      java.lang.Object ref = sdpPrimaryMQTTUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sdpPrimaryMQTTUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SDPBACKUPMQTTURL_FIELD_NUMBER = 2;
    private volatile java.lang.Object sdpBackupMQTTUrl_;
    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    public boolean hasSdpBackupMQTTUrl() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    public java.lang.String getSdpBackupMQTTUrl() {
      java.lang.Object ref = sdpBackupMQTTUrl_;
      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();
        if (bs.isValidUtf8()) {
          sdpBackupMQTTUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
     * </pre>
     *
     * <code>optional string sdpBackupMQTTUrl = 2;</code>
     */
    public com.google.protobuf.ByteString
        getSdpBackupMQTTUrlBytes() {
      java.lang.Object ref = sdpBackupMQTTUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sdpBackupMQTTUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FCAPRIMARYGPKIURL_FIELD_NUMBER = 3;
    private volatile java.lang.Object fcaPrimaryGPKIUrl_;
    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    public boolean hasFcaPrimaryGPKIUrl() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    public java.lang.String getFcaPrimaryGPKIUrl() {
      java.lang.Object ref = fcaPrimaryGPKIUrl_;
      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();
        if (bs.isValidUtf8()) {
          fcaPrimaryGPKIUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
     */
    public com.google.protobuf.ByteString
        getFcaPrimaryGPKIUrlBytes() {
      java.lang.Object ref = fcaPrimaryGPKIUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fcaPrimaryGPKIUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FCABACKUPGPKIURL_FIELD_NUMBER = 4;
    private volatile java.lang.Object fcaBackupGPKIUrl_;
    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    public boolean hasFcaBackupGPKIUrl() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    public java.lang.String getFcaBackupGPKIUrl() {
      java.lang.Object ref = fcaBackupGPKIUrl_;
      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();
        if (bs.isValidUtf8()) {
          fcaBackupGPKIUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
     * </pre>
     *
     * <code>optional string fcaBackupGPKIUrl = 4;</code>
     */
    public com.google.protobuf.ByteString
        getFcaBackupGPKIUrlBytes() {
      java.lang.Object ref = fcaBackupGPKIUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fcaBackupGPKIUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int AUTHSERVERPRIMARYURL_FIELD_NUMBER = 5;
    private volatile java.lang.Object authServerPrimaryUrl_;
    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    public boolean hasAuthServerPrimaryUrl() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    public java.lang.String getAuthServerPrimaryUrl() {
      java.lang.Object ref = authServerPrimaryUrl_;
      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();
        if (bs.isValidUtf8()) {
          authServerPrimaryUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerPrimaryUrl = 5;</code>
     */
    public com.google.protobuf.ByteString
        getAuthServerPrimaryUrlBytes() {
      java.lang.Object ref = authServerPrimaryUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        authServerPrimaryUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int AUTHSERVERBACKUPURL_FIELD_NUMBER = 6;
    private volatile java.lang.Object authServerBackupUrl_;
    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    public boolean hasAuthServerBackupUrl() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    public java.lang.String getAuthServerBackupUrl() {
      java.lang.Object ref = authServerBackupUrl_;
      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();
        if (bs.isValidUtf8()) {
          authServerBackupUrl_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The backup Url for the client to authenticate and acquire an access token.
     * </pre>
     *
     * <code>optional string authServerBackupUrl = 6;</code>
     */
    public com.google.protobuf.ByteString
        getAuthServerBackupUrlBytes() {
      java.lang.Object ref = authServerBackupUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        authServerBackupUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int KEYOFFKEEPCONNECTIONONTIMEOUT_FIELD_NUMBER = 7;
    private int keyOffKeepConnectionOnTimeout_;
    /**
     * <pre>
     *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
     * </pre>
     *
     * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
     */
    public boolean hasKeyOffKeepConnectionOnTimeout() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
     * </pre>
     *
     * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
     */
    public int getKeyOffKeepConnectionOnTimeout() {
      return keyOffKeepConnectionOnTimeout_;
    }

    public static final int MAXNUMWAKEUPMESSAGES_FIELD_NUMBER = 8;
    private int maxNumWakeUpMessages_;
    /**
     * <pre>
     *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
     * </pre>
     *
     * <code>optional int32 maxNumWakeUpMessages = 8;</code>
     */
    public boolean hasMaxNumWakeUpMessages() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <pre>
     *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
     * </pre>
     *
     * <code>optional int32 maxNumWakeUpMessages = 8;</code>
     */
    public int getMaxNumWakeUpMessages() {
      return maxNumWakeUpMessages_;
    }

    public static final int WAKEUPMESSAGEMAXTIMEFRAME_FIELD_NUMBER = 9;
    private int wakeUpMessageMaxTimeframe_;
    /**
     * <pre>
     *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
     * </pre>
     *
     * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
     */
    public boolean hasWakeUpMessageMaxTimeframe() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <pre>
     *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
     * </pre>
     *
     * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
     */
    public int getWakeUpMessageMaxTimeframe() {
      return wakeUpMessageMaxTimeframe_;
    }

    public static final int ISPRIVACYMODE_FIELD_NUMBER = 10;
    private boolean isPrivacyMode_;
    /**
     * <pre>
     *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
     * </pre>
     *
     * <code>optional bool isPrivacyMode = 10;</code>
     */
    public boolean hasIsPrivacyMode() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <pre>
     *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
     * </pre>
     *
     * <code>optional bool isPrivacyMode = 10;</code>
     */
    public boolean getIsPrivacyMode() {
      return isPrivacyMode_;
    }

    public static final int MAXNUMLOGGEDOPERATIONS_FIELD_NUMBER = 11;
    private int maxNumLoggedOperations_;
    /**
     * <pre>
     *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
     * </pre>
     *
     * <code>optional int32 maxNumLoggedOperations = 11;</code>
     */
    public boolean hasMaxNumLoggedOperations() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <pre>
     *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
     * </pre>
     *
     * <code>optional int32 maxNumLoggedOperations = 11;</code>
     */
    public int getMaxNumLoggedOperations() {
      return maxNumLoggedOperations_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, sdpPrimaryMQTTUrl_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sdpBackupMQTTUrl_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, fcaPrimaryGPKIUrl_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, fcaBackupGPKIUrl_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, authServerPrimaryUrl_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, authServerBackupUrl_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, keyOffKeepConnectionOnTimeout_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(8, maxNumWakeUpMessages_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(9, wakeUpMessageMaxTimeframe_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeBool(10, isPrivacyMode_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(11, maxNumLoggedOperations_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, sdpPrimaryMQTTUrl_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sdpBackupMQTTUrl_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, fcaPrimaryGPKIUrl_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, fcaBackupGPKIUrl_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, authServerPrimaryUrl_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, authServerBackupUrl_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, keyOffKeepConnectionOnTimeout_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, maxNumWakeUpMessages_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, wakeUpMessageMaxTimeframe_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, isPrivacyMode_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, maxNumLoggedOperations_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings) obj;

      boolean result = true;
      result = result && (hasSdpPrimaryMQTTUrl() == other.hasSdpPrimaryMQTTUrl());
      if (hasSdpPrimaryMQTTUrl()) {
        result = result && getSdpPrimaryMQTTUrl()
            .equals(other.getSdpPrimaryMQTTUrl());
      }
      result = result && (hasSdpBackupMQTTUrl() == other.hasSdpBackupMQTTUrl());
      if (hasSdpBackupMQTTUrl()) {
        result = result && getSdpBackupMQTTUrl()
            .equals(other.getSdpBackupMQTTUrl());
      }
      result = result && (hasFcaPrimaryGPKIUrl() == other.hasFcaPrimaryGPKIUrl());
      if (hasFcaPrimaryGPKIUrl()) {
        result = result && getFcaPrimaryGPKIUrl()
            .equals(other.getFcaPrimaryGPKIUrl());
      }
      result = result && (hasFcaBackupGPKIUrl() == other.hasFcaBackupGPKIUrl());
      if (hasFcaBackupGPKIUrl()) {
        result = result && getFcaBackupGPKIUrl()
            .equals(other.getFcaBackupGPKIUrl());
      }
      result = result && (hasAuthServerPrimaryUrl() == other.hasAuthServerPrimaryUrl());
      if (hasAuthServerPrimaryUrl()) {
        result = result && getAuthServerPrimaryUrl()
            .equals(other.getAuthServerPrimaryUrl());
      }
      result = result && (hasAuthServerBackupUrl() == other.hasAuthServerBackupUrl());
      if (hasAuthServerBackupUrl()) {
        result = result && getAuthServerBackupUrl()
            .equals(other.getAuthServerBackupUrl());
      }
      result = result && (hasKeyOffKeepConnectionOnTimeout() == other.hasKeyOffKeepConnectionOnTimeout());
      if (hasKeyOffKeepConnectionOnTimeout()) {
        result = result && (getKeyOffKeepConnectionOnTimeout()
            == other.getKeyOffKeepConnectionOnTimeout());
      }
      result = result && (hasMaxNumWakeUpMessages() == other.hasMaxNumWakeUpMessages());
      if (hasMaxNumWakeUpMessages()) {
        result = result && (getMaxNumWakeUpMessages()
            == other.getMaxNumWakeUpMessages());
      }
      result = result && (hasWakeUpMessageMaxTimeframe() == other.hasWakeUpMessageMaxTimeframe());
      if (hasWakeUpMessageMaxTimeframe()) {
        result = result && (getWakeUpMessageMaxTimeframe()
            == other.getWakeUpMessageMaxTimeframe());
      }
      result = result && (hasIsPrivacyMode() == other.hasIsPrivacyMode());
      if (hasIsPrivacyMode()) {
        result = result && (getIsPrivacyMode()
            == other.getIsPrivacyMode());
      }
      result = result && (hasMaxNumLoggedOperations() == other.hasMaxNumLoggedOperations());
      if (hasMaxNumLoggedOperations()) {
        result = result && (getMaxNumLoggedOperations()
            == other.getMaxNumLoggedOperations());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasSdpPrimaryMQTTUrl()) {
        hash = (37 * hash) + SDPPRIMARYMQTTURL_FIELD_NUMBER;
        hash = (53 * hash) + getSdpPrimaryMQTTUrl().hashCode();
      }
      if (hasSdpBackupMQTTUrl()) {
        hash = (37 * hash) + SDPBACKUPMQTTURL_FIELD_NUMBER;
        hash = (53 * hash) + getSdpBackupMQTTUrl().hashCode();
      }
      if (hasFcaPrimaryGPKIUrl()) {
        hash = (37 * hash) + FCAPRIMARYGPKIURL_FIELD_NUMBER;
        hash = (53 * hash) + getFcaPrimaryGPKIUrl().hashCode();
      }
      if (hasFcaBackupGPKIUrl()) {
        hash = (37 * hash) + FCABACKUPGPKIURL_FIELD_NUMBER;
        hash = (53 * hash) + getFcaBackupGPKIUrl().hashCode();
      }
      if (hasAuthServerPrimaryUrl()) {
        hash = (37 * hash) + AUTHSERVERPRIMARYURL_FIELD_NUMBER;
        hash = (53 * hash) + getAuthServerPrimaryUrl().hashCode();
      }
      if (hasAuthServerBackupUrl()) {
        hash = (37 * hash) + AUTHSERVERBACKUPURL_FIELD_NUMBER;
        hash = (53 * hash) + getAuthServerBackupUrl().hashCode();
      }
      if (hasKeyOffKeepConnectionOnTimeout()) {
        hash = (37 * hash) + KEYOFFKEEPCONNECTIONONTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getKeyOffKeepConnectionOnTimeout();
      }
      if (hasMaxNumWakeUpMessages()) {
        hash = (37 * hash) + MAXNUMWAKEUPMESSAGES_FIELD_NUMBER;
        hash = (53 * hash) + getMaxNumWakeUpMessages();
      }
      if (hasWakeUpMessageMaxTimeframe()) {
        hash = (37 * hash) + WAKEUPMESSAGEMAXTIMEFRAME_FIELD_NUMBER;
        hash = (53 * hash) + getWakeUpMessageMaxTimeframe();
      }
      if (hasIsPrivacyMode()) {
        hash = (37 * hash) + ISPRIVACYMODE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsPrivacyMode());
      }
      if (hasMaxNumLoggedOperations()) {
        hash = (37 * hash) + MAXNUMLOGGEDOPERATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getMaxNumLoggedOperations();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for the overall telematics module behavior
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.ConnectedVehicleSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.ConnectedVehicleSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        sdpPrimaryMQTTUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        sdpBackupMQTTUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        fcaPrimaryGPKIUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        fcaBackupGPKIUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        authServerPrimaryUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        authServerBackupUrl_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        keyOffKeepConnectionOnTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        maxNumWakeUpMessages_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        wakeUpMessageMaxTimeframe_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        isPrivacyMode_ = false;
        bitField0_ = (bitField0_ & ~0x00000200);
        maxNumLoggedOperations_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.sdpPrimaryMQTTUrl_ = sdpPrimaryMQTTUrl_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.sdpBackupMQTTUrl_ = sdpBackupMQTTUrl_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fcaPrimaryGPKIUrl_ = fcaPrimaryGPKIUrl_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.fcaBackupGPKIUrl_ = fcaBackupGPKIUrl_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.authServerPrimaryUrl_ = authServerPrimaryUrl_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.authServerBackupUrl_ = authServerBackupUrl_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.keyOffKeepConnectionOnTimeout_ = keyOffKeepConnectionOnTimeout_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.maxNumWakeUpMessages_ = maxNumWakeUpMessages_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.wakeUpMessageMaxTimeframe_ = wakeUpMessageMaxTimeframe_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.isPrivacyMode_ = isPrivacyMode_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.maxNumLoggedOperations_ = maxNumLoggedOperations_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings.getDefaultInstance()) return this;
        if (other.hasSdpPrimaryMQTTUrl()) {
          bitField0_ |= 0x00000001;
          sdpPrimaryMQTTUrl_ = other.sdpPrimaryMQTTUrl_;
          onChanged();
        }
        if (other.hasSdpBackupMQTTUrl()) {
          bitField0_ |= 0x00000002;
          sdpBackupMQTTUrl_ = other.sdpBackupMQTTUrl_;
          onChanged();
        }
        if (other.hasFcaPrimaryGPKIUrl()) {
          bitField0_ |= 0x00000004;
          fcaPrimaryGPKIUrl_ = other.fcaPrimaryGPKIUrl_;
          onChanged();
        }
        if (other.hasFcaBackupGPKIUrl()) {
          bitField0_ |= 0x00000008;
          fcaBackupGPKIUrl_ = other.fcaBackupGPKIUrl_;
          onChanged();
        }
        if (other.hasAuthServerPrimaryUrl()) {
          bitField0_ |= 0x00000010;
          authServerPrimaryUrl_ = other.authServerPrimaryUrl_;
          onChanged();
        }
        if (other.hasAuthServerBackupUrl()) {
          bitField0_ |= 0x00000020;
          authServerBackupUrl_ = other.authServerBackupUrl_;
          onChanged();
        }
        if (other.hasKeyOffKeepConnectionOnTimeout()) {
          setKeyOffKeepConnectionOnTimeout(other.getKeyOffKeepConnectionOnTimeout());
        }
        if (other.hasMaxNumWakeUpMessages()) {
          setMaxNumWakeUpMessages(other.getMaxNumWakeUpMessages());
        }
        if (other.hasWakeUpMessageMaxTimeframe()) {
          setWakeUpMessageMaxTimeframe(other.getWakeUpMessageMaxTimeframe());
        }
        if (other.hasIsPrivacyMode()) {
          setIsPrivacyMode(other.getIsPrivacyMode());
        }
        if (other.hasMaxNumLoggedOperations()) {
          setMaxNumLoggedOperations(other.getMaxNumLoggedOperations());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object sdpPrimaryMQTTUrl_ = "";
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public boolean hasSdpPrimaryMQTTUrl() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public java.lang.String getSdpPrimaryMQTTUrl() {
        java.lang.Object ref = sdpPrimaryMQTTUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            sdpPrimaryMQTTUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSdpPrimaryMQTTUrlBytes() {
        java.lang.Object ref = sdpPrimaryMQTTUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sdpPrimaryMQTTUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public Builder setSdpPrimaryMQTTUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        sdpPrimaryMQTTUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public Builder clearSdpPrimaryMQTTUrl() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sdpPrimaryMQTTUrl_ = getDefaultInstance().getSdpPrimaryMQTTUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (MQTT_BROKER_URL) The primary Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpPrimaryMQTTUrl = 1;</code>
       */
      public Builder setSdpPrimaryMQTTUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        sdpPrimaryMQTTUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object sdpBackupMQTTUrl_ = "";
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public boolean hasSdpBackupMQTTUrl() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public java.lang.String getSdpBackupMQTTUrl() {
        java.lang.Object ref = sdpBackupMQTTUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            sdpBackupMQTTUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSdpBackupMQTTUrlBytes() {
        java.lang.Object ref = sdpBackupMQTTUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sdpBackupMQTTUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public Builder setSdpBackupMQTTUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sdpBackupMQTTUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public Builder clearSdpBackupMQTTUrl() {
        bitField0_ = (bitField0_ & ~0x00000002);
        sdpBackupMQTTUrl_ = getDefaultInstance().getSdpBackupMQTTUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to establish an MQTT connection with the SDP.
       * </pre>
       *
       * <code>optional string sdpBackupMQTTUrl = 2;</code>
       */
      public Builder setSdpBackupMQTTUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sdpBackupMQTTUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object fcaPrimaryGPKIUrl_ = "";
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public boolean hasFcaPrimaryGPKIUrl() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public java.lang.String getFcaPrimaryGPKIUrl() {
        java.lang.Object ref = fcaPrimaryGPKIUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            fcaPrimaryGPKIUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public com.google.protobuf.ByteString
          getFcaPrimaryGPKIUrlBytes() {
        java.lang.Object ref = fcaPrimaryGPKIUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fcaPrimaryGPKIUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public Builder setFcaPrimaryGPKIUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        fcaPrimaryGPKIUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public Builder clearFcaPrimaryGPKIUrl() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fcaPrimaryGPKIUrl_ = getDefaultInstance().getFcaPrimaryGPKIUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaPrimaryGPKIUrl = 3;</code>
       */
      public Builder setFcaPrimaryGPKIUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        fcaPrimaryGPKIUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object fcaBackupGPKIUrl_ = "";
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public boolean hasFcaBackupGPKIUrl() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public java.lang.String getFcaBackupGPKIUrl() {
        java.lang.Object ref = fcaBackupGPKIUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            fcaBackupGPKIUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public com.google.protobuf.ByteString
          getFcaBackupGPKIUrlBytes() {
        java.lang.Object ref = fcaBackupGPKIUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fcaBackupGPKIUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public Builder setFcaBackupGPKIUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        fcaBackupGPKIUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public Builder clearFcaBackupGPKIUrl() {
        bitField0_ = (bitField0_ & ~0x00000008);
        fcaBackupGPKIUrl_ = getDefaultInstance().getFcaBackupGPKIUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to connect with the Global PKI Service for Certificate Management.
       * </pre>
       *
       * <code>optional string fcaBackupGPKIUrl = 4;</code>
       */
      public Builder setFcaBackupGPKIUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        fcaBackupGPKIUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object authServerPrimaryUrl_ = "";
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public boolean hasAuthServerPrimaryUrl() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public java.lang.String getAuthServerPrimaryUrl() {
        java.lang.Object ref = authServerPrimaryUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            authServerPrimaryUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public com.google.protobuf.ByteString
          getAuthServerPrimaryUrlBytes() {
        java.lang.Object ref = authServerPrimaryUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          authServerPrimaryUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public Builder setAuthServerPrimaryUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        authServerPrimaryUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public Builder clearAuthServerPrimaryUrl() {
        bitField0_ = (bitField0_ & ~0x00000010);
        authServerPrimaryUrl_ = getDefaultInstance().getAuthServerPrimaryUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (AUTH_SERVER_URL) The primary Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerPrimaryUrl = 5;</code>
       */
      public Builder setAuthServerPrimaryUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        authServerPrimaryUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object authServerBackupUrl_ = "";
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public boolean hasAuthServerBackupUrl() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public java.lang.String getAuthServerBackupUrl() {
        java.lang.Object ref = authServerBackupUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            authServerBackupUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public com.google.protobuf.ByteString
          getAuthServerBackupUrlBytes() {
        java.lang.Object ref = authServerBackupUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          authServerBackupUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public Builder setAuthServerBackupUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        authServerBackupUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public Builder clearAuthServerBackupUrl() {
        bitField0_ = (bitField0_ & ~0x00000020);
        authServerBackupUrl_ = getDefaultInstance().getAuthServerBackupUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup Url for the client to authenticate and acquire an access token.
       * </pre>
       *
       * <code>optional string authServerBackupUrl = 6;</code>
       */
      public Builder setAuthServerBackupUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        authServerBackupUrl_ = value;
        onChanged();
        return this;
      }

      private int keyOffKeepConnectionOnTimeout_ ;
      /**
       * <pre>
       *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
       * </pre>
       *
       * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
       */
      public boolean hasKeyOffKeepConnectionOnTimeout() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
       * </pre>
       *
       * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
       */
      public int getKeyOffKeepConnectionOnTimeout() {
        return keyOffKeepConnectionOnTimeout_;
      }
      /**
       * <pre>
       *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
       * </pre>
       *
       * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
       */
      public Builder setKeyOffKeepConnectionOnTimeout(int value) {
        bitField0_ |= 0x00000040;
        keyOffKeepConnectionOnTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (KEY_OFF_KEEP_CONN_ON_TIME) The timeframe in minutes during which the MQTT CONNECT shall be kept open also after a Key OFF.
       * </pre>
       *
       * <code>optional int32 keyOffKeepConnectionOnTimeout = 7;</code>
       */
      public Builder clearKeyOffKeepConnectionOnTimeout() {
        bitField0_ = (bitField0_ & ~0x00000040);
        keyOffKeepConnectionOnTimeout_ = 0;
        onChanged();
        return this;
      }

      private int maxNumWakeUpMessages_ ;
      /**
       * <pre>
       *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
       * </pre>
       *
       * <code>optional int32 maxNumWakeUpMessages = 8;</code>
       */
      public boolean hasMaxNumWakeUpMessages() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <pre>
       *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
       * </pre>
       *
       * <code>optional int32 maxNumWakeUpMessages = 8;</code>
       */
      public int getMaxNumWakeUpMessages() {
        return maxNumWakeUpMessages_;
      }
      /**
       * <pre>
       *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
       * </pre>
       *
       * <code>optional int32 maxNumWakeUpMessages = 8;</code>
       */
      public Builder setMaxNumWakeUpMessages(int value) {
        bitField0_ |= 0x00000080;
        maxNumWakeUpMessages_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (MAX_NUM_WAKE_UP_MSG) The maximum number of subsequent wake up messages to be processed by the device.
       * </pre>
       *
       * <code>optional int32 maxNumWakeUpMessages = 8;</code>
       */
      public Builder clearMaxNumWakeUpMessages() {
        bitField0_ = (bitField0_ & ~0x00000080);
        maxNumWakeUpMessages_ = 0;
        onChanged();
        return this;
      }

      private int wakeUpMessageMaxTimeframe_ ;
      /**
       * <pre>
       *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
       * </pre>
       *
       * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
       */
      public boolean hasWakeUpMessageMaxTimeframe() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <pre>
       *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
       * </pre>
       *
       * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
       */
      public int getWakeUpMessageMaxTimeframe() {
        return wakeUpMessageMaxTimeframe_;
      }
      /**
       * <pre>
       *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
       * </pre>
       *
       * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
       */
      public Builder setWakeUpMessageMaxTimeframe(int value) {
        bitField0_ |= 0x00000100;
        wakeUpMessageMaxTimeframe_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (WAKE_UP_MSG_MAX_TIMEFRAME) The timeframe in minutes during which the received wake up messages shall be processed starting from the 1st wake up message.
       * </pre>
       *
       * <code>optional int32 wakeUpMessageMaxTimeframe = 9;</code>
       */
      public Builder clearWakeUpMessageMaxTimeframe() {
        bitField0_ = (bitField0_ & ~0x00000100);
        wakeUpMessageMaxTimeframe_ = 0;
        onChanged();
        return this;
      }

      private boolean isPrivacyMode_ ;
      /**
       * <pre>
       *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
       * </pre>
       *
       * <code>optional bool isPrivacyMode = 10;</code>
       */
      public boolean hasIsPrivacyMode() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <pre>
       *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
       * </pre>
       *
       * <code>optional bool isPrivacyMode = 10;</code>
       */
      public boolean getIsPrivacyMode() {
        return isPrivacyMode_;
      }
      /**
       * <pre>
       *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
       * </pre>
       *
       * <code>optional bool isPrivacyMode = 10;</code>
       */
      public Builder setIsPrivacyMode(boolean value) {
        bitField0_ |= 0x00000200;
        isPrivacyMode_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (privacy_mode) Indicates if the user preference is to not share GPS geolocation data for privacy.
       * </pre>
       *
       * <code>optional bool isPrivacyMode = 10;</code>
       */
      public Builder clearIsPrivacyMode() {
        bitField0_ = (bitField0_ & ~0x00000200);
        isPrivacyMode_ = false;
        onChanged();
        return this;
      }

      private int maxNumLoggedOperations_ ;
      /**
       * <pre>
       *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
       * </pre>
       *
       * <code>optional int32 maxNumLoggedOperations = 11;</code>
       */
      public boolean hasMaxNumLoggedOperations() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <pre>
       *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
       * </pre>
       *
       * <code>optional int32 maxNumLoggedOperations = 11;</code>
       */
      public int getMaxNumLoggedOperations() {
        return maxNumLoggedOperations_;
      }
      /**
       * <pre>
       *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
       * </pre>
       *
       * <code>optional int32 maxNumLoggedOperations = 11;</code>
       */
      public Builder setMaxNumLoggedOperations(int value) {
        bitField0_ |= 0x00000400;
        maxNumLoggedOperations_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (NUM_MAX_OP_LOG) The maximum number of operations to log and record on the device.
       * </pre>
       *
       * <code>optional int32 maxNumLoggedOperations = 11;</code>
       */
      public Builder clearMaxNumLoggedOperations() {
        bitField0_ = (bitField0_ & ~0x00000400);
        maxNumLoggedOperations_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.ConnectedVehicleSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.ConnectedVehicleSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<ConnectedVehicleSettings>
        PARSER = new com.google.protobuf.AbstractParser<ConnectedVehicleSettings>() {
      public ConnectedVehicleSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new ConnectedVehicleSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ConnectedVehicleSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ECallSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.ECallSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    boolean hasCallCenterPrimaryPhoneNumber();
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    java.lang.String getCallCenterPrimaryPhoneNumber();
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    com.google.protobuf.ByteString
        getCallCenterPrimaryPhoneNumberBytes();

    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    boolean hasCallCenterBackupPhoneNumber();
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    java.lang.String getCallCenterBackupPhoneNumber();
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    com.google.protobuf.ByteString
        getCallCenterBackupPhoneNumberBytes();

    /**
     * <pre>
     *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
     * </pre>
     *
     * <code>optional bool inboundCallEnabled = 3;</code>
     */
    boolean hasInboundCallEnabled();
    /**
     * <pre>
     *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
     * </pre>
     *
     * <code>optional bool inboundCallEnabled = 3;</code>
     */
    boolean getInboundCallEnabled();

    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    boolean hasMobileDeviceSMSNumber();
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    java.lang.String getMobileDeviceSMSNumber();
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    com.google.protobuf.ByteString
        getMobileDeviceSMSNumberBytes();

    /**
     * <pre>
     *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 5;</code>
     */
    boolean hasButtonPressTime();
    /**
     * <pre>
     *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 5;</code>
     */
    int getButtonPressTime();

    /**
     * <pre>
     *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 6;</code>
     */
    boolean hasCallConnectTimeLimit();
    /**
     * <pre>
     *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 6;</code>
     */
    int getCallConnectTimeLimit();

    /**
     * <pre>
     *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
     * </pre>
     *
     * <code>optional int32 cancelTime = 7;</code>
     */
    boolean hasCancelTime();
    /**
     * <pre>
     *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
     * </pre>
     *
     * <code>optional int32 cancelTime = 7;</code>
     */
    int getCancelTime();

    /**
     * <pre>
     *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
     * </pre>
     *
     * <code>optional int32 retryTime = 8;</code>
     */
    boolean hasRetryTime();
    /**
     * <pre>
     *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
     * </pre>
     *
     * <code>optional int32 retryTime = 8;</code>
     */
    int getRetryTime();

    /**
     * <pre>
     *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
     * </pre>
     *
     * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
     */
    boolean hasAcceptInboundCallTimeLimit();
    /**
     * <pre>
     *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
     * </pre>
     *
     * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
     */
    int getAcceptInboundCallTimeLimit();

    /**
     * <pre>
     *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
     * </pre>
     *
     * <code>optional int32 statusNotificationTimeInterval = 10;</code>
     */
    boolean hasStatusNotificationTimeInterval();
    /**
     * <pre>
     *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
     * </pre>
     *
     * <code>optional int32 statusNotificationTimeInterval = 10;</code>
     */
    int getStatusNotificationTimeInterval();

    /**
     * <pre>
     *&#47; (max_attempts) The maximum number of dialing retries.
     * </pre>
     *
     * <code>optional int32 maxNumDialRetries = 11;</code>
     */
    boolean hasMaxNumDialRetries();
    /**
     * <pre>
     *&#47; (max_attempts) The maximum number of dialing retries.
     * </pre>
     *
     * <code>optional int32 maxNumDialRetries = 11;</code>
     */
    int getMaxNumDialRetries();

    /**
     * <pre>
     *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
     * </pre>
     *
     * <code>optional int32 initCancelTimeout = 12;</code>
     */
    boolean hasInitCancelTimeout();
    /**
     * <pre>
     *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
     * </pre>
     *
     * <code>optional int32 initCancelTimeout = 12;</code>
     */
    int getInitCancelTimeout();

    /**
     * <pre>
     *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
     * </pre>
     *
     * <code>optional bool isDTMFDataTransfer = 13;</code>
     */
    boolean hasIsDTMFDataTransfer();
    /**
     * <pre>
     *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
     * </pre>
     *
     * <code>optional bool isDTMFDataTransfer = 13;</code>
     */
    boolean getIsDTMFDataTransfer();

    /**
     * <pre>
     *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
     * </pre>
     *
     * <code>optional int32 accelDataSampleInterval = 14;</code>
     */
    boolean hasAccelDataSampleInterval();
    /**
     * <pre>
     *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
     * </pre>
     *
     * <code>optional int32 accelDataSampleInterval = 14;</code>
     */
    int getAccelDataSampleInterval();

    /**
     * <pre>
     *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
     * </pre>
     *
     * <code>optional int32 bubCallTimeout = 15;</code>
     */
    boolean hasBubCallTimeout();
    /**
     * <pre>
     *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
     * </pre>
     *
     * <code>optional int32 bubCallTimeout = 15;</code>
     */
    int getBubCallTimeout();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for the ECall or SOS application
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.ECallSettings}
   */
  public  static final class ECallSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.ECallSettings)
      ECallSettingsOrBuilder {
    // Use ECallSettings.newBuilder() to construct.
    private ECallSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ECallSettings() {
      callCenterPrimaryPhoneNumber_ = "";
      callCenterBackupPhoneNumber_ = "";
      inboundCallEnabled_ = false;
      mobileDeviceSMSNumber_ = "";
      buttonPressTime_ = 0;
      callConnectTimeLimit_ = 0;
      cancelTime_ = 0;
      retryTime_ = 0;
      acceptInboundCallTimeLimit_ = 0;
      statusNotificationTimeInterval_ = 0;
      maxNumDialRetries_ = 0;
      initCancelTimeout_ = 0;
      isDTMFDataTransfer_ = false;
      accelDataSampleInterval_ = 0;
      bubCallTimeout_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ECallSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              callCenterPrimaryPhoneNumber_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              callCenterBackupPhoneNumber_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              inboundCallEnabled_ = input.readBool();
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              mobileDeviceSMSNumber_ = bs;
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              buttonPressTime_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              callConnectTimeLimit_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              cancelTime_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              retryTime_ = input.readInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              acceptInboundCallTimeLimit_ = input.readInt32();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              statusNotificationTimeInterval_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              maxNumDialRetries_ = input.readInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              initCancelTimeout_ = input.readInt32();
              break;
            }
            case 104: {
              bitField0_ |= 0x00001000;
              isDTMFDataTransfer_ = input.readBool();
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              accelDataSampleInterval_ = input.readInt32();
              break;
            }
            case 120: {
              bitField0_ |= 0x00004000;
              bubCallTimeout_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ECallSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ECallSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder.class);
    }

    private int bitField0_;
    public static final int CALLCENTERPRIMARYPHONENUMBER_FIELD_NUMBER = 1;
    private volatile java.lang.Object callCenterPrimaryPhoneNumber_;
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public boolean hasCallCenterPrimaryPhoneNumber() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public java.lang.String getCallCenterPrimaryPhoneNumber() {
      java.lang.Object ref = callCenterPrimaryPhoneNumber_;
      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();
        if (bs.isValidUtf8()) {
          callCenterPrimaryPhoneNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public com.google.protobuf.ByteString
        getCallCenterPrimaryPhoneNumberBytes() {
      java.lang.Object ref = callCenterPrimaryPhoneNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        callCenterPrimaryPhoneNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CALLCENTERBACKUPPHONENUMBER_FIELD_NUMBER = 2;
    private volatile java.lang.Object callCenterBackupPhoneNumber_;
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public boolean hasCallCenterBackupPhoneNumber() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public java.lang.String getCallCenterBackupPhoneNumber() {
      java.lang.Object ref = callCenterBackupPhoneNumber_;
      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();
        if (bs.isValidUtf8()) {
          callCenterBackupPhoneNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public com.google.protobuf.ByteString
        getCallCenterBackupPhoneNumberBytes() {
      java.lang.Object ref = callCenterBackupPhoneNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        callCenterBackupPhoneNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int INBOUNDCALLENABLED_FIELD_NUMBER = 3;
    private boolean inboundCallEnabled_;
    /**
     * <pre>
     *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
     * </pre>
     *
     * <code>optional bool inboundCallEnabled = 3;</code>
     */
    public boolean hasInboundCallEnabled() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
     * </pre>
     *
     * <code>optional bool inboundCallEnabled = 3;</code>
     */
    public boolean getInboundCallEnabled() {
      return inboundCallEnabled_;
    }

    public static final int MOBILEDEVICESMSNUMBER_FIELD_NUMBER = 4;
    private volatile java.lang.Object mobileDeviceSMSNumber_;
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    public boolean hasMobileDeviceSMSNumber() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    public java.lang.String getMobileDeviceSMSNumber() {
      java.lang.Object ref = mobileDeviceSMSNumber_;
      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();
        if (bs.isValidUtf8()) {
          mobileDeviceSMSNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 4;</code>
     */
    public com.google.protobuf.ByteString
        getMobileDeviceSMSNumberBytes() {
      java.lang.Object ref = mobileDeviceSMSNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mobileDeviceSMSNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BUTTONPRESSTIME_FIELD_NUMBER = 5;
    private int buttonPressTime_;
    /**
     * <pre>
     *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 5;</code>
     */
    public boolean hasButtonPressTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 5;</code>
     */
    public int getButtonPressTime() {
      return buttonPressTime_;
    }

    public static final int CALLCONNECTTIMELIMIT_FIELD_NUMBER = 6;
    private int callConnectTimeLimit_;
    /**
     * <pre>
     *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 6;</code>
     */
    public boolean hasCallConnectTimeLimit() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 6;</code>
     */
    public int getCallConnectTimeLimit() {
      return callConnectTimeLimit_;
    }

    public static final int CANCELTIME_FIELD_NUMBER = 7;
    private int cancelTime_;
    /**
     * <pre>
     *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
     * </pre>
     *
     * <code>optional int32 cancelTime = 7;</code>
     */
    public boolean hasCancelTime() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
     * </pre>
     *
     * <code>optional int32 cancelTime = 7;</code>
     */
    public int getCancelTime() {
      return cancelTime_;
    }

    public static final int RETRYTIME_FIELD_NUMBER = 8;
    private int retryTime_;
    /**
     * <pre>
     *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
     * </pre>
     *
     * <code>optional int32 retryTime = 8;</code>
     */
    public boolean hasRetryTime() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <pre>
     *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
     * </pre>
     *
     * <code>optional int32 retryTime = 8;</code>
     */
    public int getRetryTime() {
      return retryTime_;
    }

    public static final int ACCEPTINBOUNDCALLTIMELIMIT_FIELD_NUMBER = 9;
    private int acceptInboundCallTimeLimit_;
    /**
     * <pre>
     *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
     * </pre>
     *
     * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
     */
    public boolean hasAcceptInboundCallTimeLimit() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <pre>
     *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
     * </pre>
     *
     * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
     */
    public int getAcceptInboundCallTimeLimit() {
      return acceptInboundCallTimeLimit_;
    }

    public static final int STATUSNOTIFICATIONTIMEINTERVAL_FIELD_NUMBER = 10;
    private int statusNotificationTimeInterval_;
    /**
     * <pre>
     *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
     * </pre>
     *
     * <code>optional int32 statusNotificationTimeInterval = 10;</code>
     */
    public boolean hasStatusNotificationTimeInterval() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <pre>
     *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
     * </pre>
     *
     * <code>optional int32 statusNotificationTimeInterval = 10;</code>
     */
    public int getStatusNotificationTimeInterval() {
      return statusNotificationTimeInterval_;
    }

    public static final int MAXNUMDIALRETRIES_FIELD_NUMBER = 11;
    private int maxNumDialRetries_;
    /**
     * <pre>
     *&#47; (max_attempts) The maximum number of dialing retries.
     * </pre>
     *
     * <code>optional int32 maxNumDialRetries = 11;</code>
     */
    public boolean hasMaxNumDialRetries() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <pre>
     *&#47; (max_attempts) The maximum number of dialing retries.
     * </pre>
     *
     * <code>optional int32 maxNumDialRetries = 11;</code>
     */
    public int getMaxNumDialRetries() {
      return maxNumDialRetries_;
    }

    public static final int INITCANCELTIMEOUT_FIELD_NUMBER = 12;
    private int initCancelTimeout_;
    /**
     * <pre>
     *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
     * </pre>
     *
     * <code>optional int32 initCancelTimeout = 12;</code>
     */
    public boolean hasInitCancelTimeout() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <pre>
     *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
     * </pre>
     *
     * <code>optional int32 initCancelTimeout = 12;</code>
     */
    public int getInitCancelTimeout() {
      return initCancelTimeout_;
    }

    public static final int ISDTMFDATATRANSFER_FIELD_NUMBER = 13;
    private boolean isDTMFDataTransfer_;
    /**
     * <pre>
     *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
     * </pre>
     *
     * <code>optional bool isDTMFDataTransfer = 13;</code>
     */
    public boolean hasIsDTMFDataTransfer() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <pre>
     *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
     * </pre>
     *
     * <code>optional bool isDTMFDataTransfer = 13;</code>
     */
    public boolean getIsDTMFDataTransfer() {
      return isDTMFDataTransfer_;
    }

    public static final int ACCELDATASAMPLEINTERVAL_FIELD_NUMBER = 14;
    private int accelDataSampleInterval_;
    /**
     * <pre>
     *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
     * </pre>
     *
     * <code>optional int32 accelDataSampleInterval = 14;</code>
     */
    public boolean hasAccelDataSampleInterval() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * <pre>
     *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
     * </pre>
     *
     * <code>optional int32 accelDataSampleInterval = 14;</code>
     */
    public int getAccelDataSampleInterval() {
      return accelDataSampleInterval_;
    }

    public static final int BUBCALLTIMEOUT_FIELD_NUMBER = 15;
    private int bubCallTimeout_;
    /**
     * <pre>
     *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
     * </pre>
     *
     * <code>optional int32 bubCallTimeout = 15;</code>
     */
    public boolean hasBubCallTimeout() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * <pre>
     *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
     * </pre>
     *
     * <code>optional int32 bubCallTimeout = 15;</code>
     */
    public int getBubCallTimeout() {
      return bubCallTimeout_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, callCenterPrimaryPhoneNumber_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, callCenterBackupPhoneNumber_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, inboundCallEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, mobileDeviceSMSNumber_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, buttonPressTime_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, callConnectTimeLimit_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, cancelTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(8, retryTime_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(9, acceptInboundCallTimeLimit_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(10, statusNotificationTimeInterval_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(11, maxNumDialRetries_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeInt32(12, initCancelTimeout_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBool(13, isDTMFDataTransfer_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeInt32(14, accelDataSampleInterval_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeInt32(15, bubCallTimeout_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, callCenterPrimaryPhoneNumber_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, callCenterBackupPhoneNumber_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, inboundCallEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, mobileDeviceSMSNumber_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, buttonPressTime_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, callConnectTimeLimit_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, cancelTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, retryTime_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, acceptInboundCallTimeLimit_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, statusNotificationTimeInterval_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, maxNumDialRetries_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, initCancelTimeout_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, isDTMFDataTransfer_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(14, accelDataSampleInterval_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(15, bubCallTimeout_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings) obj;

      boolean result = true;
      result = result && (hasCallCenterPrimaryPhoneNumber() == other.hasCallCenterPrimaryPhoneNumber());
      if (hasCallCenterPrimaryPhoneNumber()) {
        result = result && getCallCenterPrimaryPhoneNumber()
            .equals(other.getCallCenterPrimaryPhoneNumber());
      }
      result = result && (hasCallCenterBackupPhoneNumber() == other.hasCallCenterBackupPhoneNumber());
      if (hasCallCenterBackupPhoneNumber()) {
        result = result && getCallCenterBackupPhoneNumber()
            .equals(other.getCallCenterBackupPhoneNumber());
      }
      result = result && (hasInboundCallEnabled() == other.hasInboundCallEnabled());
      if (hasInboundCallEnabled()) {
        result = result && (getInboundCallEnabled()
            == other.getInboundCallEnabled());
      }
      result = result && (hasMobileDeviceSMSNumber() == other.hasMobileDeviceSMSNumber());
      if (hasMobileDeviceSMSNumber()) {
        result = result && getMobileDeviceSMSNumber()
            .equals(other.getMobileDeviceSMSNumber());
      }
      result = result && (hasButtonPressTime() == other.hasButtonPressTime());
      if (hasButtonPressTime()) {
        result = result && (getButtonPressTime()
            == other.getButtonPressTime());
      }
      result = result && (hasCallConnectTimeLimit() == other.hasCallConnectTimeLimit());
      if (hasCallConnectTimeLimit()) {
        result = result && (getCallConnectTimeLimit()
            == other.getCallConnectTimeLimit());
      }
      result = result && (hasCancelTime() == other.hasCancelTime());
      if (hasCancelTime()) {
        result = result && (getCancelTime()
            == other.getCancelTime());
      }
      result = result && (hasRetryTime() == other.hasRetryTime());
      if (hasRetryTime()) {
        result = result && (getRetryTime()
            == other.getRetryTime());
      }
      result = result && (hasAcceptInboundCallTimeLimit() == other.hasAcceptInboundCallTimeLimit());
      if (hasAcceptInboundCallTimeLimit()) {
        result = result && (getAcceptInboundCallTimeLimit()
            == other.getAcceptInboundCallTimeLimit());
      }
      result = result && (hasStatusNotificationTimeInterval() == other.hasStatusNotificationTimeInterval());
      if (hasStatusNotificationTimeInterval()) {
        result = result && (getStatusNotificationTimeInterval()
            == other.getStatusNotificationTimeInterval());
      }
      result = result && (hasMaxNumDialRetries() == other.hasMaxNumDialRetries());
      if (hasMaxNumDialRetries()) {
        result = result && (getMaxNumDialRetries()
            == other.getMaxNumDialRetries());
      }
      result = result && (hasInitCancelTimeout() == other.hasInitCancelTimeout());
      if (hasInitCancelTimeout()) {
        result = result && (getInitCancelTimeout()
            == other.getInitCancelTimeout());
      }
      result = result && (hasIsDTMFDataTransfer() == other.hasIsDTMFDataTransfer());
      if (hasIsDTMFDataTransfer()) {
        result = result && (getIsDTMFDataTransfer()
            == other.getIsDTMFDataTransfer());
      }
      result = result && (hasAccelDataSampleInterval() == other.hasAccelDataSampleInterval());
      if (hasAccelDataSampleInterval()) {
        result = result && (getAccelDataSampleInterval()
            == other.getAccelDataSampleInterval());
      }
      result = result && (hasBubCallTimeout() == other.hasBubCallTimeout());
      if (hasBubCallTimeout()) {
        result = result && (getBubCallTimeout()
            == other.getBubCallTimeout());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasCallCenterPrimaryPhoneNumber()) {
        hash = (37 * hash) + CALLCENTERPRIMARYPHONENUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getCallCenterPrimaryPhoneNumber().hashCode();
      }
      if (hasCallCenterBackupPhoneNumber()) {
        hash = (37 * hash) + CALLCENTERBACKUPPHONENUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getCallCenterBackupPhoneNumber().hashCode();
      }
      if (hasInboundCallEnabled()) {
        hash = (37 * hash) + INBOUNDCALLENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getInboundCallEnabled());
      }
      if (hasMobileDeviceSMSNumber()) {
        hash = (37 * hash) + MOBILEDEVICESMSNUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getMobileDeviceSMSNumber().hashCode();
      }
      if (hasButtonPressTime()) {
        hash = (37 * hash) + BUTTONPRESSTIME_FIELD_NUMBER;
        hash = (53 * hash) + getButtonPressTime();
      }
      if (hasCallConnectTimeLimit()) {
        hash = (37 * hash) + CALLCONNECTTIMELIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getCallConnectTimeLimit();
      }
      if (hasCancelTime()) {
        hash = (37 * hash) + CANCELTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCancelTime();
      }
      if (hasRetryTime()) {
        hash = (37 * hash) + RETRYTIME_FIELD_NUMBER;
        hash = (53 * hash) + getRetryTime();
      }
      if (hasAcceptInboundCallTimeLimit()) {
        hash = (37 * hash) + ACCEPTINBOUNDCALLTIMELIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getAcceptInboundCallTimeLimit();
      }
      if (hasStatusNotificationTimeInterval()) {
        hash = (37 * hash) + STATUSNOTIFICATIONTIMEINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getStatusNotificationTimeInterval();
      }
      if (hasMaxNumDialRetries()) {
        hash = (37 * hash) + MAXNUMDIALRETRIES_FIELD_NUMBER;
        hash = (53 * hash) + getMaxNumDialRetries();
      }
      if (hasInitCancelTimeout()) {
        hash = (37 * hash) + INITCANCELTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getInitCancelTimeout();
      }
      if (hasIsDTMFDataTransfer()) {
        hash = (37 * hash) + ISDTMFDATATRANSFER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsDTMFDataTransfer());
      }
      if (hasAccelDataSampleInterval()) {
        hash = (37 * hash) + ACCELDATASAMPLEINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + getAccelDataSampleInterval();
      }
      if (hasBubCallTimeout()) {
        hash = (37 * hash) + BUBCALLTIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getBubCallTimeout();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for the ECall or SOS application
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.ECallSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.ECallSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ECallSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ECallSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        callCenterPrimaryPhoneNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        callCenterBackupPhoneNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        inboundCallEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        mobileDeviceSMSNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        buttonPressTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        callConnectTimeLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        cancelTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        retryTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        acceptInboundCallTimeLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        statusNotificationTimeInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        maxNumDialRetries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        initCancelTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        isDTMFDataTransfer_ = false;
        bitField0_ = (bitField0_ & ~0x00001000);
        accelDataSampleInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x00002000);
        bubCallTimeout_ = 0;
        bitField0_ = (bitField0_ & ~0x00004000);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ECallSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.callCenterPrimaryPhoneNumber_ = callCenterPrimaryPhoneNumber_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.callCenterBackupPhoneNumber_ = callCenterBackupPhoneNumber_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.inboundCallEnabled_ = inboundCallEnabled_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.mobileDeviceSMSNumber_ = mobileDeviceSMSNumber_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.buttonPressTime_ = buttonPressTime_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.callConnectTimeLimit_ = callConnectTimeLimit_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.cancelTime_ = cancelTime_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.retryTime_ = retryTime_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.acceptInboundCallTimeLimit_ = acceptInboundCallTimeLimit_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.statusNotificationTimeInterval_ = statusNotificationTimeInterval_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.maxNumDialRetries_ = maxNumDialRetries_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.initCancelTimeout_ = initCancelTimeout_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.isDTMFDataTransfer_ = isDTMFDataTransfer_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.accelDataSampleInterval_ = accelDataSampleInterval_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.bubCallTimeout_ = bubCallTimeout_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings.getDefaultInstance()) return this;
        if (other.hasCallCenterPrimaryPhoneNumber()) {
          bitField0_ |= 0x00000001;
          callCenterPrimaryPhoneNumber_ = other.callCenterPrimaryPhoneNumber_;
          onChanged();
        }
        if (other.hasCallCenterBackupPhoneNumber()) {
          bitField0_ |= 0x00000002;
          callCenterBackupPhoneNumber_ = other.callCenterBackupPhoneNumber_;
          onChanged();
        }
        if (other.hasInboundCallEnabled()) {
          setInboundCallEnabled(other.getInboundCallEnabled());
        }
        if (other.hasMobileDeviceSMSNumber()) {
          bitField0_ |= 0x00000008;
          mobileDeviceSMSNumber_ = other.mobileDeviceSMSNumber_;
          onChanged();
        }
        if (other.hasButtonPressTime()) {
          setButtonPressTime(other.getButtonPressTime());
        }
        if (other.hasCallConnectTimeLimit()) {
          setCallConnectTimeLimit(other.getCallConnectTimeLimit());
        }
        if (other.hasCancelTime()) {
          setCancelTime(other.getCancelTime());
        }
        if (other.hasRetryTime()) {
          setRetryTime(other.getRetryTime());
        }
        if (other.hasAcceptInboundCallTimeLimit()) {
          setAcceptInboundCallTimeLimit(other.getAcceptInboundCallTimeLimit());
        }
        if (other.hasStatusNotificationTimeInterval()) {
          setStatusNotificationTimeInterval(other.getStatusNotificationTimeInterval());
        }
        if (other.hasMaxNumDialRetries()) {
          setMaxNumDialRetries(other.getMaxNumDialRetries());
        }
        if (other.hasInitCancelTimeout()) {
          setInitCancelTimeout(other.getInitCancelTimeout());
        }
        if (other.hasIsDTMFDataTransfer()) {
          setIsDTMFDataTransfer(other.getIsDTMFDataTransfer());
        }
        if (other.hasAccelDataSampleInterval()) {
          setAccelDataSampleInterval(other.getAccelDataSampleInterval());
        }
        if (other.hasBubCallTimeout()) {
          setBubCallTimeout(other.getBubCallTimeout());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object callCenterPrimaryPhoneNumber_ = "";
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public boolean hasCallCenterPrimaryPhoneNumber() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public java.lang.String getCallCenterPrimaryPhoneNumber() {
        java.lang.Object ref = callCenterPrimaryPhoneNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            callCenterPrimaryPhoneNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public com.google.protobuf.ByteString
          getCallCenterPrimaryPhoneNumberBytes() {
        java.lang.Object ref = callCenterPrimaryPhoneNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          callCenterPrimaryPhoneNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder setCallCenterPrimaryPhoneNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        callCenterPrimaryPhoneNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder clearCallCenterPrimaryPhoneNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        callCenterPrimaryPhoneNumber_ = getDefaultInstance().getCallCenterPrimaryPhoneNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder setCallCenterPrimaryPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        callCenterPrimaryPhoneNumber_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object callCenterBackupPhoneNumber_ = "";
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public boolean hasCallCenterBackupPhoneNumber() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public java.lang.String getCallCenterBackupPhoneNumber() {
        java.lang.Object ref = callCenterBackupPhoneNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            callCenterBackupPhoneNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public com.google.protobuf.ByteString
          getCallCenterBackupPhoneNumberBytes() {
        java.lang.Object ref = callCenterBackupPhoneNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          callCenterBackupPhoneNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder setCallCenterBackupPhoneNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        callCenterBackupPhoneNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder clearCallCenterBackupPhoneNumber() {
        bitField0_ = (bitField0_ & ~0x00000002);
        callCenterBackupPhoneNumber_ = getDefaultInstance().getCallCenterBackupPhoneNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder setCallCenterBackupPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        callCenterBackupPhoneNumber_ = value;
        onChanged();
        return this;
      }

      private boolean inboundCallEnabled_ ;
      /**
       * <pre>
       *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
       * </pre>
       *
       * <code>optional bool inboundCallEnabled = 3;</code>
       */
      public boolean hasInboundCallEnabled() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
       * </pre>
       *
       * <code>optional bool inboundCallEnabled = 3;</code>
       */
      public boolean getInboundCallEnabled() {
        return inboundCallEnabled_;
      }
      /**
       * <pre>
       *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
       * </pre>
       *
       * <code>optional bool inboundCallEnabled = 3;</code>
       */
      public Builder setInboundCallEnabled(boolean value) {
        bitField0_ |= 0x00000004;
        inboundCallEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (incoming_calls_allowed) Indicates if the vehicle is to accept inbound calls associated with the ECall event.
       * </pre>
       *
       * <code>optional bool inboundCallEnabled = 3;</code>
       */
      public Builder clearInboundCallEnabled() {
        bitField0_ = (bitField0_ & ~0x00000004);
        inboundCallEnabled_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object mobileDeviceSMSNumber_ = "";
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public boolean hasMobileDeviceSMSNumber() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public java.lang.String getMobileDeviceSMSNumber() {
        java.lang.Object ref = mobileDeviceSMSNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            mobileDeviceSMSNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public com.google.protobuf.ByteString
          getMobileDeviceSMSNumberBytes() {
        java.lang.Object ref = mobileDeviceSMSNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mobileDeviceSMSNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public Builder setMobileDeviceSMSNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        mobileDeviceSMSNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public Builder clearMobileDeviceSMSNumber() {
        bitField0_ = (bitField0_ & ~0x00000008);
        mobileDeviceSMSNumber_ = getDefaultInstance().getMobileDeviceSMSNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 4;</code>
       */
      public Builder setMobileDeviceSMSNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        mobileDeviceSMSNumber_ = value;
        onChanged();
        return this;
      }

      private int buttonPressTime_ ;
      /**
       * <pre>
       *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 5;</code>
       */
      public boolean hasButtonPressTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 5;</code>
       */
      public int getButtonPressTime() {
        return buttonPressTime_;
      }
      /**
       * <pre>
       *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 5;</code>
       */
      public Builder setButtonPressTime(int value) {
        bitField0_ |= 0x00000010;
        buttonPressTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (SOS_PRESS_TIMING) Setting for T_SOS_Button_Press.  The timer threshold in seconds to exceed prior to processing the button press.
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 5;</code>
       */
      public Builder clearButtonPressTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        buttonPressTime_ = 0;
        onChanged();
        return this;
      }

      private int callConnectTimeLimit_ ;
      /**
       * <pre>
       *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 6;</code>
       */
      public boolean hasCallConnectTimeLimit() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 6;</code>
       */
      public int getCallConnectTimeLimit() {
        return callConnectTimeLimit_;
      }
      /**
       * <pre>
       *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 6;</code>
       */
      public Builder setCallConnectTimeLimit(int value) {
        bitField0_ |= 0x00000020;
        callConnectTimeLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (call_connect_timeout) Setting for T_SOS_Call_Connect_Time_Limit.  If a call is not connected within the time limit in seconds, then retry.
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 6;</code>
       */
      public Builder clearCallConnectTimeLimit() {
        bitField0_ = (bitField0_ & ~0x00000020);
        callConnectTimeLimit_ = 0;
        onChanged();
        return this;
      }

      private int cancelTime_ ;
      /**
       * <pre>
       *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
       * </pre>
       *
       * <code>optional int32 cancelTime = 7;</code>
       */
      public boolean hasCancelTime() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
       * </pre>
       *
       * <code>optional int32 cancelTime = 7;</code>
       */
      public int getCancelTime() {
        return cancelTime_;
      }
      /**
       * <pre>
       *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
       * </pre>
       *
       * <code>optional int32 cancelTime = 7;</code>
       */
      public Builder setCancelTime(int value) {
        bitField0_ |= 0x00000040;
        cancelTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (T_Min_Termination) Setting for T_SOS_Cancel_Timer.  A call termination is ignored if received within this time limit in seconds. 
       * </pre>
       *
       * <code>optional int32 cancelTime = 7;</code>
       */
      public Builder clearCancelTime() {
        bitField0_ = (bitField0_ & ~0x00000040);
        cancelTime_ = 0;
        onChanged();
        return this;
      }

      private int retryTime_ ;
      /**
       * <pre>
       *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
       * </pre>
       *
       * <code>optional int32 retryTime = 8;</code>
       */
      public boolean hasRetryTime() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <pre>
       *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
       * </pre>
       *
       * <code>optional int32 retryTime = 8;</code>
       */
      public int getRetryTime() {
        return retryTime_;
      }
      /**
       * <pre>
       *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
       * </pre>
       *
       * <code>optional int32 retryTime = 8;</code>
       */
      public Builder setRetryTime(int value) {
        bitField0_ |= 0x00000080;
        retryTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (call_retry_timeout) Setting for T_SOS_Retry_Timer.  The call is retried for this amount of time in minutes.
       * </pre>
       *
       * <code>optional int32 retryTime = 8;</code>
       */
      public Builder clearRetryTime() {
        bitField0_ = (bitField0_ & ~0x00000080);
        retryTime_ = 0;
        onChanged();
        return this;
      }

      private int acceptInboundCallTimeLimit_ ;
      /**
       * <pre>
       *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
       * </pre>
       *
       * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
       */
      public boolean hasAcceptInboundCallTimeLimit() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <pre>
       *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
       * </pre>
       *
       * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
       */
      public int getAcceptInboundCallTimeLimit() {
        return acceptInboundCallTimeLimit_;
      }
      /**
       * <pre>
       *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
       * </pre>
       *
       * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
       */
      public Builder setAcceptInboundCallTimeLimit(int value) {
        bitField0_ |= 0x00000100;
        acceptInboundCallTimeLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (incoming_call_timer) Inbound calls will be accepted if received within this time limit in minutes.
       * </pre>
       *
       * <code>optional int32 acceptInboundCallTimeLimit = 9;</code>
       */
      public Builder clearAcceptInboundCallTimeLimit() {
        bitField0_ = (bitField0_ & ~0x00000100);
        acceptInboundCallTimeLimit_ = 0;
        onChanged();
        return this;
      }

      private int statusNotificationTimeInterval_ ;
      /**
       * <pre>
       *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
       * </pre>
       *
       * <code>optional int32 statusNotificationTimeInterval = 10;</code>
       */
      public boolean hasStatusNotificationTimeInterval() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <pre>
       *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
       * </pre>
       *
       * <code>optional int32 statusNotificationTimeInterval = 10;</code>
       */
      public int getStatusNotificationTimeInterval() {
        return statusNotificationTimeInterval_;
      }
      /**
       * <pre>
       *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
       * </pre>
       *
       * <code>optional int32 statusNotificationTimeInterval = 10;</code>
       */
      public Builder setStatusNotificationTimeInterval(int value) {
        bitField0_ |= 0x00000200;
        statusNotificationTimeInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (notification_time) The time interval in seconds to send status notifications over CAN to external ECUs.
       * </pre>
       *
       * <code>optional int32 statusNotificationTimeInterval = 10;</code>
       */
      public Builder clearStatusNotificationTimeInterval() {
        bitField0_ = (bitField0_ & ~0x00000200);
        statusNotificationTimeInterval_ = 0;
        onChanged();
        return this;
      }

      private int maxNumDialRetries_ ;
      /**
       * <pre>
       *&#47; (max_attempts) The maximum number of dialing retries.
       * </pre>
       *
       * <code>optional int32 maxNumDialRetries = 11;</code>
       */
      public boolean hasMaxNumDialRetries() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <pre>
       *&#47; (max_attempts) The maximum number of dialing retries.
       * </pre>
       *
       * <code>optional int32 maxNumDialRetries = 11;</code>
       */
      public int getMaxNumDialRetries() {
        return maxNumDialRetries_;
      }
      /**
       * <pre>
       *&#47; (max_attempts) The maximum number of dialing retries.
       * </pre>
       *
       * <code>optional int32 maxNumDialRetries = 11;</code>
       */
      public Builder setMaxNumDialRetries(int value) {
        bitField0_ |= 0x00000400;
        maxNumDialRetries_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (max_attempts) The maximum number of dialing retries.
       * </pre>
       *
       * <code>optional int32 maxNumDialRetries = 11;</code>
       */
      public Builder clearMaxNumDialRetries() {
        bitField0_ = (bitField0_ & ~0x00000400);
        maxNumDialRetries_ = 0;
        onChanged();
        return this;
      }

      private int initCancelTimeout_ ;
      /**
       * <pre>
       *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
       * </pre>
       *
       * <code>optional int32 initCancelTimeout = 12;</code>
       */
      public boolean hasInitCancelTimeout() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <pre>
       *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
       * </pre>
       *
       * <code>optional int32 initCancelTimeout = 12;</code>
       */
      public int getInitCancelTimeout() {
        return initCancelTimeout_;
      }
      /**
       * <pre>
       *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
       * </pre>
       *
       * <code>optional int32 initCancelTimeout = 12;</code>
       */
      public Builder setInitCancelTimeout(int value) {
        bitField0_ |= 0x00000800;
        initCancelTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (INIT_TIMEOUT) The timeframe in seconds for call cancellation during initialization phase.
       * </pre>
       *
       * <code>optional int32 initCancelTimeout = 12;</code>
       */
      public Builder clearInitCancelTimeout() {
        bitField0_ = (bitField0_ & ~0x00000800);
        initCancelTimeout_ = 0;
        onChanged();
        return this;
      }

      private boolean isDTMFDataTransfer_ ;
      /**
       * <pre>
       *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
       * </pre>
       *
       * <code>optional bool isDTMFDataTransfer = 13;</code>
       */
      public boolean hasIsDTMFDataTransfer() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <pre>
       *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
       * </pre>
       *
       * <code>optional bool isDTMFDataTransfer = 13;</code>
       */
      public boolean getIsDTMFDataTransfer() {
        return isDTMFDataTransfer_;
      }
      /**
       * <pre>
       *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
       * </pre>
       *
       * <code>optional bool isDTMFDataTransfer = 13;</code>
       */
      public Builder setIsDTMFDataTransfer(boolean value) {
        bitField0_ |= 0x00001000;
        isDTMFDataTransfer_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (SOS_DTMF_transfer) Indicates if the data is sent via DTMF tones.
       * </pre>
       *
       * <code>optional bool isDTMFDataTransfer = 13;</code>
       */
      public Builder clearIsDTMFDataTransfer() {
        bitField0_ = (bitField0_ & ~0x00001000);
        isDTMFDataTransfer_ = false;
        onChanged();
        return this;
      }

      private int accelDataSampleInterval_ ;
      /**
       * <pre>
       *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
       * </pre>
       *
       * <code>optional int32 accelDataSampleInterval = 14;</code>
       */
      public boolean hasAccelDataSampleInterval() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * <pre>
       *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
       * </pre>
       *
       * <code>optional int32 accelDataSampleInterval = 14;</code>
       */
      public int getAccelDataSampleInterval() {
        return accelDataSampleInterval_;
      }
      /**
       * <pre>
       *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
       * </pre>
       *
       * <code>optional int32 accelDataSampleInterval = 14;</code>
       */
      public Builder setAccelDataSampleInterval(int value) {
        bitField0_ |= 0x00002000;
        accelDataSampleInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (T_sample_interval) The time interval in seconds for recording vehicle acceleration.
       * </pre>
       *
       * <code>optional int32 accelDataSampleInterval = 14;</code>
       */
      public Builder clearAccelDataSampleInterval() {
        bitField0_ = (bitField0_ & ~0x00002000);
        accelDataSampleInterval_ = 0;
        onChanged();
        return this;
      }

      private int bubCallTimeout_ ;
      /**
       * <pre>
       *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
       * </pre>
       *
       * <code>optional int32 bubCallTimeout = 15;</code>
       */
      public boolean hasBubCallTimeout() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * <pre>
       *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
       * </pre>
       *
       * <code>optional int32 bubCallTimeout = 15;</code>
       */
      public int getBubCallTimeout() {
        return bubCallTimeout_;
      }
      /**
       * <pre>
       *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
       * </pre>
       *
       * <code>optional int32 bubCallTimeout = 15;</code>
       */
      public Builder setBubCallTimeout(int value) {
        bitField0_ |= 0x00004000;
        bubCallTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; (T_BUB) The time interval in minutes where the TBM will allow initiating a call when powered by the Backup Battery.
       * </pre>
       *
       * <code>optional int32 bubCallTimeout = 15;</code>
       */
      public Builder clearBubCallTimeout() {
        bitField0_ = (bitField0_ & ~0x00004000);
        bubCallTimeout_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.ECallSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.ECallSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<ECallSettings>
        PARSER = new com.google.protobuf.AbstractParser<ECallSettings>() {
      public ECallSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new ECallSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ECallSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface BCallSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.BCallSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    boolean hasCallCenterPrimaryPhoneNumber();
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    java.lang.String getCallCenterPrimaryPhoneNumber();
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    com.google.protobuf.ByteString
        getCallCenterPrimaryPhoneNumberBytes();

    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    boolean hasCallCenterBackupPhoneNumber();
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    java.lang.String getCallCenterBackupPhoneNumber();
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    com.google.protobuf.ByteString
        getCallCenterBackupPhoneNumberBytes();

    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    boolean hasMobileDeviceSMSNumber();
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    java.lang.String getMobileDeviceSMSNumber();
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    com.google.protobuf.ByteString
        getMobileDeviceSMSNumberBytes();

    /**
     * <pre>
     *&#47; Setting for T_BCall_Button_Press
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 4;</code>
     */
    boolean hasButtonPressTime();
    /**
     * <pre>
     *&#47; Setting for T_BCall_Button_Press
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 4;</code>
     */
    int getButtonPressTime();

    /**
     * <pre>
     *&#47; Setting for T_BCall_Call_Connect_Time_Limit
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 5;</code>
     */
    boolean hasCallConnectTimeLimit();
    /**
     * <pre>
     *&#47; Setting for T_BCall_Call_Connect_Time_Limit
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 5;</code>
     */
    int getCallConnectTimeLimit();

    /**
     * <pre>
     *&#47; Setting for T_BCall_Cancel_Timer
     * </pre>
     *
     * <code>optional int32 cancelTime = 6;</code>
     */
    boolean hasCancelTime();
    /**
     * <pre>
     *&#47; Setting for T_BCall_Cancel_Timer
     * </pre>
     *
     * <code>optional int32 cancelTime = 6;</code>
     */
    int getCancelTime();

    /**
     * <pre>
     *&#47; Setting for T_BCall_Retry_Timer
     * </pre>
     *
     * <code>optional int32 retryTime = 7;</code>
     */
    boolean hasRetryTime();
    /**
     * <pre>
     *&#47; Setting for T_BCall_Retry_Timer
     * </pre>
     *
     * <code>optional int32 retryTime = 7;</code>
     */
    int getRetryTime();
  }
  /**
   * <pre>
   **
   * This Message contains configuration settings for the BCall or Roadside Assistance application
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.BCallSettings}
   */
  public  static final class BCallSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.BCallSettings)
      BCallSettingsOrBuilder {
    // Use BCallSettings.newBuilder() to construct.
    private BCallSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private BCallSettings() {
      callCenterPrimaryPhoneNumber_ = "";
      callCenterBackupPhoneNumber_ = "";
      mobileDeviceSMSNumber_ = "";
      buttonPressTime_ = 0;
      callConnectTimeLimit_ = 0;
      cancelTime_ = 0;
      retryTime_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private BCallSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              callCenterPrimaryPhoneNumber_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              callCenterBackupPhoneNumber_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              mobileDeviceSMSNumber_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              buttonPressTime_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              callConnectTimeLimit_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              cancelTime_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              retryTime_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_BCallSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_BCallSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder.class);
    }

    private int bitField0_;
    public static final int CALLCENTERPRIMARYPHONENUMBER_FIELD_NUMBER = 1;
    private volatile java.lang.Object callCenterPrimaryPhoneNumber_;
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public boolean hasCallCenterPrimaryPhoneNumber() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public java.lang.String getCallCenterPrimaryPhoneNumber() {
      java.lang.Object ref = callCenterPrimaryPhoneNumber_;
      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();
        if (bs.isValidUtf8()) {
          callCenterPrimaryPhoneNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
     */
    public com.google.protobuf.ByteString
        getCallCenterPrimaryPhoneNumberBytes() {
      java.lang.Object ref = callCenterPrimaryPhoneNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        callCenterPrimaryPhoneNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CALLCENTERBACKUPPHONENUMBER_FIELD_NUMBER = 2;
    private volatile java.lang.Object callCenterBackupPhoneNumber_;
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public boolean hasCallCenterBackupPhoneNumber() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public java.lang.String getCallCenterBackupPhoneNumber() {
      java.lang.Object ref = callCenterBackupPhoneNumber_;
      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();
        if (bs.isValidUtf8()) {
          callCenterBackupPhoneNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
     * </pre>
     *
     * <code>optional string callCenterBackupPhoneNumber = 2;</code>
     */
    public com.google.protobuf.ByteString
        getCallCenterBackupPhoneNumberBytes() {
      java.lang.Object ref = callCenterBackupPhoneNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        callCenterBackupPhoneNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MOBILEDEVICESMSNUMBER_FIELD_NUMBER = 3;
    private volatile java.lang.Object mobileDeviceSMSNumber_;
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    public boolean hasMobileDeviceSMSNumber() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    public java.lang.String getMobileDeviceSMSNumber() {
      java.lang.Object ref = mobileDeviceSMSNumber_;
      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();
        if (bs.isValidUtf8()) {
          mobileDeviceSMSNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The number for SMS.
     * </pre>
     *
     * <code>optional string mobileDeviceSMSNumber = 3;</code>
     */
    public com.google.protobuf.ByteString
        getMobileDeviceSMSNumberBytes() {
      java.lang.Object ref = mobileDeviceSMSNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mobileDeviceSMSNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BUTTONPRESSTIME_FIELD_NUMBER = 4;
    private int buttonPressTime_;
    /**
     * <pre>
     *&#47; Setting for T_BCall_Button_Press
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 4;</code>
     */
    public boolean hasButtonPressTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; Setting for T_BCall_Button_Press
     * </pre>
     *
     * <code>optional int32 buttonPressTime = 4;</code>
     */
    public int getButtonPressTime() {
      return buttonPressTime_;
    }

    public static final int CALLCONNECTTIMELIMIT_FIELD_NUMBER = 5;
    private int callConnectTimeLimit_;
    /**
     * <pre>
     *&#47; Setting for T_BCall_Call_Connect_Time_Limit
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 5;</code>
     */
    public boolean hasCallConnectTimeLimit() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; Setting for T_BCall_Call_Connect_Time_Limit
     * </pre>
     *
     * <code>optional int32 callConnectTimeLimit = 5;</code>
     */
    public int getCallConnectTimeLimit() {
      return callConnectTimeLimit_;
    }

    public static final int CANCELTIME_FIELD_NUMBER = 6;
    private int cancelTime_;
    /**
     * <pre>
     *&#47; Setting for T_BCall_Cancel_Timer
     * </pre>
     *
     * <code>optional int32 cancelTime = 6;</code>
     */
    public boolean hasCancelTime() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; Setting for T_BCall_Cancel_Timer
     * </pre>
     *
     * <code>optional int32 cancelTime = 6;</code>
     */
    public int getCancelTime() {
      return cancelTime_;
    }

    public static final int RETRYTIME_FIELD_NUMBER = 7;
    private int retryTime_;
    /**
     * <pre>
     *&#47; Setting for T_BCall_Retry_Timer
     * </pre>
     *
     * <code>optional int32 retryTime = 7;</code>
     */
    public boolean hasRetryTime() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; Setting for T_BCall_Retry_Timer
     * </pre>
     *
     * <code>optional int32 retryTime = 7;</code>
     */
    public int getRetryTime() {
      return retryTime_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, callCenterPrimaryPhoneNumber_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, callCenterBackupPhoneNumber_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, mobileDeviceSMSNumber_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, buttonPressTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, callConnectTimeLimit_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, cancelTime_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, retryTime_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, callCenterPrimaryPhoneNumber_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, callCenterBackupPhoneNumber_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, mobileDeviceSMSNumber_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, buttonPressTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, callConnectTimeLimit_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, cancelTime_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, retryTime_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings) obj;

      boolean result = true;
      result = result && (hasCallCenterPrimaryPhoneNumber() == other.hasCallCenterPrimaryPhoneNumber());
      if (hasCallCenterPrimaryPhoneNumber()) {
        result = result && getCallCenterPrimaryPhoneNumber()
            .equals(other.getCallCenterPrimaryPhoneNumber());
      }
      result = result && (hasCallCenterBackupPhoneNumber() == other.hasCallCenterBackupPhoneNumber());
      if (hasCallCenterBackupPhoneNumber()) {
        result = result && getCallCenterBackupPhoneNumber()
            .equals(other.getCallCenterBackupPhoneNumber());
      }
      result = result && (hasMobileDeviceSMSNumber() == other.hasMobileDeviceSMSNumber());
      if (hasMobileDeviceSMSNumber()) {
        result = result && getMobileDeviceSMSNumber()
            .equals(other.getMobileDeviceSMSNumber());
      }
      result = result && (hasButtonPressTime() == other.hasButtonPressTime());
      if (hasButtonPressTime()) {
        result = result && (getButtonPressTime()
            == other.getButtonPressTime());
      }
      result = result && (hasCallConnectTimeLimit() == other.hasCallConnectTimeLimit());
      if (hasCallConnectTimeLimit()) {
        result = result && (getCallConnectTimeLimit()
            == other.getCallConnectTimeLimit());
      }
      result = result && (hasCancelTime() == other.hasCancelTime());
      if (hasCancelTime()) {
        result = result && (getCancelTime()
            == other.getCancelTime());
      }
      result = result && (hasRetryTime() == other.hasRetryTime());
      if (hasRetryTime()) {
        result = result && (getRetryTime()
            == other.getRetryTime());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasCallCenterPrimaryPhoneNumber()) {
        hash = (37 * hash) + CALLCENTERPRIMARYPHONENUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getCallCenterPrimaryPhoneNumber().hashCode();
      }
      if (hasCallCenterBackupPhoneNumber()) {
        hash = (37 * hash) + CALLCENTERBACKUPPHONENUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getCallCenterBackupPhoneNumber().hashCode();
      }
      if (hasMobileDeviceSMSNumber()) {
        hash = (37 * hash) + MOBILEDEVICESMSNUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getMobileDeviceSMSNumber().hashCode();
      }
      if (hasButtonPressTime()) {
        hash = (37 * hash) + BUTTONPRESSTIME_FIELD_NUMBER;
        hash = (53 * hash) + getButtonPressTime();
      }
      if (hasCallConnectTimeLimit()) {
        hash = (37 * hash) + CALLCONNECTTIMELIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getCallConnectTimeLimit();
      }
      if (hasCancelTime()) {
        hash = (37 * hash) + CANCELTIME_FIELD_NUMBER;
        hash = (53 * hash) + getCancelTime();
      }
      if (hasRetryTime()) {
        hash = (37 * hash) + RETRYTIME_FIELD_NUMBER;
        hash = (53 * hash) + getRetryTime();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message contains configuration settings for the BCall or Roadside Assistance application
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.BCallSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.BCallSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_BCallSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_BCallSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        callCenterPrimaryPhoneNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        callCenterBackupPhoneNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        mobileDeviceSMSNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        buttonPressTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        callConnectTimeLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        cancelTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        retryTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_BCallSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.callCenterPrimaryPhoneNumber_ = callCenterPrimaryPhoneNumber_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.callCenterBackupPhoneNumber_ = callCenterBackupPhoneNumber_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.mobileDeviceSMSNumber_ = mobileDeviceSMSNumber_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.buttonPressTime_ = buttonPressTime_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.callConnectTimeLimit_ = callConnectTimeLimit_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.cancelTime_ = cancelTime_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.retryTime_ = retryTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings.getDefaultInstance()) return this;
        if (other.hasCallCenterPrimaryPhoneNumber()) {
          bitField0_ |= 0x00000001;
          callCenterPrimaryPhoneNumber_ = other.callCenterPrimaryPhoneNumber_;
          onChanged();
        }
        if (other.hasCallCenterBackupPhoneNumber()) {
          bitField0_ |= 0x00000002;
          callCenterBackupPhoneNumber_ = other.callCenterBackupPhoneNumber_;
          onChanged();
        }
        if (other.hasMobileDeviceSMSNumber()) {
          bitField0_ |= 0x00000004;
          mobileDeviceSMSNumber_ = other.mobileDeviceSMSNumber_;
          onChanged();
        }
        if (other.hasButtonPressTime()) {
          setButtonPressTime(other.getButtonPressTime());
        }
        if (other.hasCallConnectTimeLimit()) {
          setCallConnectTimeLimit(other.getCallConnectTimeLimit());
        }
        if (other.hasCancelTime()) {
          setCancelTime(other.getCancelTime());
        }
        if (other.hasRetryTime()) {
          setRetryTime(other.getRetryTime());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object callCenterPrimaryPhoneNumber_ = "";
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public boolean hasCallCenterPrimaryPhoneNumber() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public java.lang.String getCallCenterPrimaryPhoneNumber() {
        java.lang.Object ref = callCenterPrimaryPhoneNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            callCenterPrimaryPhoneNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public com.google.protobuf.ByteString
          getCallCenterPrimaryPhoneNumberBytes() {
        java.lang.Object ref = callCenterPrimaryPhoneNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          callCenterPrimaryPhoneNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder setCallCenterPrimaryPhoneNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        callCenterPrimaryPhoneNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder clearCallCenterPrimaryPhoneNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        callCenterPrimaryPhoneNumber_ = getDefaultInstance().getCallCenterPrimaryPhoneNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The primary phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterPrimaryPhoneNumber = 1;</code>
       */
      public Builder setCallCenterPrimaryPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        callCenterPrimaryPhoneNumber_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object callCenterBackupPhoneNumber_ = "";
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public boolean hasCallCenterBackupPhoneNumber() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public java.lang.String getCallCenterBackupPhoneNumber() {
        java.lang.Object ref = callCenterBackupPhoneNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            callCenterBackupPhoneNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public com.google.protobuf.ByteString
          getCallCenterBackupPhoneNumberBytes() {
        java.lang.Object ref = callCenterBackupPhoneNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          callCenterBackupPhoneNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder setCallCenterBackupPhoneNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        callCenterBackupPhoneNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder clearCallCenterBackupPhoneNumber() {
        bitField0_ = (bitField0_ & ~0x00000002);
        callCenterBackupPhoneNumber_ = getDefaultInstance().getCallCenterBackupPhoneNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The backup phone number for the vehicle to call in the case of an ECall event.
       * </pre>
       *
       * <code>optional string callCenterBackupPhoneNumber = 2;</code>
       */
      public Builder setCallCenterBackupPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        callCenterBackupPhoneNumber_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object mobileDeviceSMSNumber_ = "";
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public boolean hasMobileDeviceSMSNumber() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public java.lang.String getMobileDeviceSMSNumber() {
        java.lang.Object ref = mobileDeviceSMSNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            mobileDeviceSMSNumber_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public com.google.protobuf.ByteString
          getMobileDeviceSMSNumberBytes() {
        java.lang.Object ref = mobileDeviceSMSNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mobileDeviceSMSNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public Builder setMobileDeviceSMSNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        mobileDeviceSMSNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public Builder clearMobileDeviceSMSNumber() {
        bitField0_ = (bitField0_ & ~0x00000004);
        mobileDeviceSMSNumber_ = getDefaultInstance().getMobileDeviceSMSNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The number for SMS.
       * </pre>
       *
       * <code>optional string mobileDeviceSMSNumber = 3;</code>
       */
      public Builder setMobileDeviceSMSNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        mobileDeviceSMSNumber_ = value;
        onChanged();
        return this;
      }

      private int buttonPressTime_ ;
      /**
       * <pre>
       *&#47; Setting for T_BCall_Button_Press
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 4;</code>
       */
      public boolean hasButtonPressTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Button_Press
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 4;</code>
       */
      public int getButtonPressTime() {
        return buttonPressTime_;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Button_Press
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 4;</code>
       */
      public Builder setButtonPressTime(int value) {
        bitField0_ |= 0x00000008;
        buttonPressTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Button_Press
       * </pre>
       *
       * <code>optional int32 buttonPressTime = 4;</code>
       */
      public Builder clearButtonPressTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        buttonPressTime_ = 0;
        onChanged();
        return this;
      }

      private int callConnectTimeLimit_ ;
      /**
       * <pre>
       *&#47; Setting for T_BCall_Call_Connect_Time_Limit
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 5;</code>
       */
      public boolean hasCallConnectTimeLimit() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Call_Connect_Time_Limit
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 5;</code>
       */
      public int getCallConnectTimeLimit() {
        return callConnectTimeLimit_;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Call_Connect_Time_Limit
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 5;</code>
       */
      public Builder setCallConnectTimeLimit(int value) {
        bitField0_ |= 0x00000010;
        callConnectTimeLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Call_Connect_Time_Limit
       * </pre>
       *
       * <code>optional int32 callConnectTimeLimit = 5;</code>
       */
      public Builder clearCallConnectTimeLimit() {
        bitField0_ = (bitField0_ & ~0x00000010);
        callConnectTimeLimit_ = 0;
        onChanged();
        return this;
      }

      private int cancelTime_ ;
      /**
       * <pre>
       *&#47; Setting for T_BCall_Cancel_Timer
       * </pre>
       *
       * <code>optional int32 cancelTime = 6;</code>
       */
      public boolean hasCancelTime() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Cancel_Timer
       * </pre>
       *
       * <code>optional int32 cancelTime = 6;</code>
       */
      public int getCancelTime() {
        return cancelTime_;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Cancel_Timer
       * </pre>
       *
       * <code>optional int32 cancelTime = 6;</code>
       */
      public Builder setCancelTime(int value) {
        bitField0_ |= 0x00000020;
        cancelTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Cancel_Timer
       * </pre>
       *
       * <code>optional int32 cancelTime = 6;</code>
       */
      public Builder clearCancelTime() {
        bitField0_ = (bitField0_ & ~0x00000020);
        cancelTime_ = 0;
        onChanged();
        return this;
      }

      private int retryTime_ ;
      /**
       * <pre>
       *&#47; Setting for T_BCall_Retry_Timer
       * </pre>
       *
       * <code>optional int32 retryTime = 7;</code>
       */
      public boolean hasRetryTime() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Retry_Timer
       * </pre>
       *
       * <code>optional int32 retryTime = 7;</code>
       */
      public int getRetryTime() {
        return retryTime_;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Retry_Timer
       * </pre>
       *
       * <code>optional int32 retryTime = 7;</code>
       */
      public Builder setRetryTime(int value) {
        bitField0_ |= 0x00000040;
        retryTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Setting for T_BCall_Retry_Timer
       * </pre>
       *
       * <code>optional int32 retryTime = 7;</code>
       */
      public Builder clearRetryTime() {
        bitField0_ = (bitField0_ & ~0x00000040);
        retryTime_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.BCallSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.BCallSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<BCallSettings>
        PARSER = new com.google.protobuf.AbstractParser<BCallSettings>() {
      public BCallSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new BCallSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.BCallSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SQDFSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47;Indicates if SQDF feature enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    boolean hasIsEnabled();
    /**
     * <pre>
     *&#47;Indicates if SQDF feature enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    boolean getIsEnabled();

    /**
     * <pre>
     *&#47;Indicates if Vehicle Health Report upload enabled.
     * </pre>
     *
     * <code>optional bool isVRCUploadEnabled = 2;</code>
     */
    boolean hasIsVRCUploadEnabled();
    /**
     * <pre>
     *&#47;Indicates if Vehicle Health Report upload enabled.
     * </pre>
     *
     * <code>optional bool isVRCUploadEnabled = 2;</code>
     */
    boolean getIsVRCUploadEnabled();

    /**
     * <pre>
     *&#47;Indicates if Diagnostic Trouble Code upload enabled.
     * </pre>
     *
     * <code>optional bool isDTCUploadEnabled = 3;</code>
     */
    boolean hasIsDTCUploadEnabled();
    /**
     * <pre>
     *&#47;Indicates if Diagnostic Trouble Code upload enabled.
     * </pre>
     *
     * <code>optional bool isDTCUploadEnabled = 3;</code>
     */
    boolean getIsDTCUploadEnabled();

    /**
     * <pre>
     *&#47;Indicates if Generic Car Data upload enabled.
     * </pre>
     *
     * <code>optional bool isGCDUploadEnabled = 4;</code>
     */
    boolean hasIsGCDUploadEnabled();
    /**
     * <pre>
     *&#47;Indicates if Generic Car Data upload enabled.
     * </pre>
     *
     * <code>optional bool isGCDUploadEnabled = 4;</code>
     */
    boolean getIsGCDUploadEnabled();

    /**
     * <pre>
     *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
     * </pre>
     *
     * <code>optional bool isMTRUploadEnabled = 5;</code>
     */
    boolean hasIsMTRUploadEnabled();
    /**
     * <pre>
     *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
     * </pre>
     *
     * <code>optional bool isMTRUploadEnabled = 5;</code>
     */
    boolean getIsMTRUploadEnabled();

    /**
     * <pre>
     *&#47; Indicates if Security Gateway upload enabled.
     * </pre>
     *
     * <code>optional bool isSGWUploadEnabled = 6;</code>
     */
    boolean hasIsSGWUploadEnabled();
    /**
     * <pre>
     *&#47; Indicates if Security Gateway upload enabled.
     * </pre>
     *
     * <code>optional bool isSGWUploadEnabled = 6;</code>
     */
    boolean getIsSGWUploadEnabled();

    /**
     * <pre>
     *&#47; Indicates if QuickScan enabled
     * </pre>
     *
     * <code>optional bool isQuickScanEnabled = 7;</code>
     */
    boolean hasIsQuickScanEnabled();
    /**
     * <pre>
     *&#47; Indicates if QuickScan enabled
     * </pre>
     *
     * <code>optional bool isQuickScanEnabled = 7;</code>
     */
    boolean getIsQuickScanEnabled();

    /**
     * <pre>
     *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 quickScanECURetryCnt = 8;</code>
     */
    boolean hasQuickScanECURetryCnt();
    /**
     * <pre>
     *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 quickScanECURetryCnt = 8;</code>
     */
    int getQuickScanECURetryCnt();

    /**
     * <pre>
     *&#47;bool Indicates if DTCScan is enabled.
     * </pre>
     *
     * <code>optional bool isDTCScanEnabled = 9;</code>
     */
    boolean hasIsDTCScanEnabled();
    /**
     * <pre>
     *&#47;bool Indicates if DTCScan is enabled.
     * </pre>
     *
     * <code>optional bool isDTCScanEnabled = 9;</code>
     */
    boolean getIsDTCScanEnabled();

    /**
     * <pre>
     *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 dtcScanECURetryCnt = 10;</code>
     */
    boolean hasDtcScanECURetryCnt();
    /**
     * <pre>
     *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 dtcScanECURetryCnt = 10;</code>
     */
    int getDtcScanECURetryCnt();

    /**
     * <pre>
     *&#47; Indicates if Generic Car Data is enabled.
     * </pre>
     *
     * <code>optional bool isGCDEnabled = 11;</code>
     */
    boolean hasIsGCDEnabled();
    /**
     * <pre>
     *&#47; Indicates if Generic Car Data is enabled.
     * </pre>
     *
     * <code>optional bool isGCDEnabled = 11;</code>
     */
    boolean getIsGCDEnabled();

    /**
     * <pre>
     *&#47; Indicates if Histogram is enabled.
     * </pre>
     *
     * <code>optional bool isHistogramEnabled = 12;</code>
     */
    boolean hasIsHistogramEnabled();
    /**
     * <pre>
     *&#47; Indicates if Histogram is enabled.
     * </pre>
     *
     * <code>optional bool isHistogramEnabled = 12;</code>
     */
    boolean getIsHistogramEnabled();

    /**
     * <pre>
     *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
     * </pre>
     *
     * <code>optional bool isDatalogShortEnabled = 13;</code>
     */
    boolean hasIsDatalogShortEnabled();
    /**
     * <pre>
     *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
     * </pre>
     *
     * <code>optional bool isDatalogShortEnabled = 13;</code>
     */
    boolean getIsDatalogShortEnabled();

    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
     * </pre>
     *
     * <code>optional int32 gcdTriggerEventLimit = 14;</code>
     */
    boolean hasGcdTriggerEventLimit();
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
     * </pre>
     *
     * <code>optional int32 gcdTriggerEventLimit = 14;</code>
     */
    int getGcdTriggerEventLimit();

    /**
     * <pre>
     *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
     * </pre>
     *
     * <code>optional int32 sensorCalibrationTime = 15;</code>
     */
    boolean hasSensorCalibrationTime();
    /**
     * <pre>
     *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
     * </pre>
     *
     * <code>optional int32 sensorCalibrationTime = 15;</code>
     */
    int getSensorCalibrationTime();

    /**
     * <pre>
     *&#47;Max number of pending uploads (min = 0 , max = 10)
     * </pre>
     *
     * <code>optional int32 maxPendingUploads = 16;</code>
     */
    boolean hasMaxPendingUploads();
    /**
     * <pre>
     *&#47;Max number of pending uploads (min = 0 , max = 10)
     * </pre>
     *
     * <code>optional int32 maxPendingUploads = 16;</code>
     */
    int getMaxPendingUploads();

    /**
     * <pre>
     *&#47;Indicates the GPS location privacy is included in uploads.
     * </pre>
     *
     * <code>optional bool isGPSPrivacyEnabled = 17;</code>
     */
    boolean hasIsGPSPrivacyEnabled();
    /**
     * <pre>
     *&#47;Indicates the GPS location privacy is included in uploads.
     * </pre>
     *
     * <code>optional bool isGPSPrivacyEnabled = 17;</code>
     */
    boolean getIsGPSPrivacyEnabled();

    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
     * </pre>
     *
     * <code>optional int32 mtrTriggerEventLimit = 18;</code>
     */
    boolean hasMtrTriggerEventLimit();
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
     * </pre>
     *
     * <code>optional int32 mtrTriggerEventLimit = 18;</code>
     */
    int getMtrTriggerEventLimit();

    /**
     * <pre>
     *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
     * </pre>
     *
     * <code>optional int32 quickScanPeriod = 19;</code>
     */
    boolean hasQuickScanPeriod();
    /**
     * <pre>
     *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
     * </pre>
     *
     * <code>optional int32 quickScanPeriod = 19;</code>
     */
    int getQuickScanPeriod();

    /**
     * <pre>
     *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 diagnosticRequestRate = 21;</code>
     */
    boolean hasDiagnosticRequestRate();
    /**
     * <pre>
     *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 diagnosticRequestRate = 21;</code>
     */
    int getDiagnosticRequestRate();

    /**
     * <pre>
     *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadPerECU = 22;</code>
     */
    boolean hasDtcUploadPerECU();
    /**
     * <pre>
     *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadPerECU = 22;</code>
     */
    int getDtcUploadPerECU();

    /**
     * <pre>
     *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimit = 23;</code>
     */
    boolean hasDtcUploadEventLimit();
    /**
     * <pre>
     *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimit = 23;</code>
     */
    int getDtcUploadEventLimit();

    /**
     * <pre>
     *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
     */
    boolean hasDtcUploadEventLimitPeriod();
    /**
     * <pre>
     *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
     */
    int getDtcUploadEventLimitPeriod();

    /**
     * <pre>
     *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
     */
    boolean hasDtcUploadEventLimitExpire();
    /**
     * <pre>
     *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
     */
    int getDtcUploadEventLimitExpire();

    /**
     * <pre>
     *&#47;Monthly cadiance for upload.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
     */
    boolean hasUploadInterval();
    /**
     * <pre>
     *&#47;Monthly cadiance for upload.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum getUploadInterval();

    /**
     * <pre>
     *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
     */
    boolean hasSgwIDSEventDeltaCnt();
    /**
     * <pre>
     *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
     */
    int getSgwIDSEventDeltaCnt();

    /**
     * <pre>
     *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
     */
    boolean hasSgwGatewayEventDeltaCnt();
    /**
     * <pre>
     *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
     */
    int getSgwGatewayEventDeltaCnt();

    /**
     * <pre>
     *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
     * </pre>
     *
     * <code>optional int32 sgwDayLimit = 29;</code>
     */
    boolean hasSgwDayLimit();
    /**
     * <pre>
     *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
     * </pre>
     *
     * <code>optional int32 sgwDayLimit = 29;</code>
     */
    int getSgwDayLimit();

    /**
     * <pre>
     *&#47;Indicates if Return On Event (ROE) is supported.
     * </pre>
     *
     * <code>optional bool isROESupported = 30;</code>
     */
    boolean hasIsROESupported();
    /**
     * <pre>
     *&#47;Indicates if Return On Event (ROE) is supported.
     * </pre>
     *
     * <code>optional bool isROESupported = 30;</code>
     */
    boolean getIsROESupported();

    /**
     * <pre>
     *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
     */
    boolean hasTestToolDetectionTimeoutViaTU();
    /**
     * <pre>
     *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
     */
    int getTestToolDetectionTimeoutViaTU();

    /**
     * <pre>
     *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
     */
    boolean hasTestToolDetectionTimeoutViaApplication();
    /**
     * <pre>
     *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
     */
    int getTestToolDetectionTimeoutViaApplication();

    /**
     * <pre>
     *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
     * </pre>
     *
     * <code>optional int32 minEngineRPMToScan = 33;</code>
     */
    boolean hasMinEngineRPMToScan();
    /**
     * <pre>
     *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
     * </pre>
     *
     * <code>optional int32 minEngineRPMToScan = 33;</code>
     */
    int getMinEngineRPMToScan();

    /**
     * <pre>
     *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
     * </pre>
     *
     * <code>optional int32 maxEngineRPMToScan = 34;</code>
     */
    boolean hasMaxEngineRPMToScan();
    /**
     * <pre>
     *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
     * </pre>
     *
     * <code>optional int32 maxEngineRPMToScan = 34;</code>
     */
    int getMaxEngineRPMToScan();

    /**
     * <pre>
     *&#47;Minimun Vehicle Speed value for SQDF to start scanning
     * </pre>
     *
     * <code>optional int32 minVehicleSpeedToScan = 35;</code>
     */
    boolean hasMinVehicleSpeedToScan();
    /**
     * <pre>
     *&#47;Minimun Vehicle Speed value for SQDF to start scanning
     * </pre>
     *
     * <code>optional int32 minVehicleSpeedToScan = 35;</code>
     */
    int getMinVehicleSpeedToScan();

    /**
     * <pre>
     *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
     */
    boolean hasMaxVehicleSpeedToScan();
    /**
     * <pre>
     *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
     */
    int getMaxVehicleSpeedToScan();

    /**
     * <pre>
     *&#47; Day Of Month for SQDF to upload data.
     * </pre>
     *
     * <code>optional int32 uploadDayOfMonth = 37;</code>
     */
    boolean hasUploadDayOfMonth();
    /**
     * <pre>
     *&#47; Day Of Month for SQDF to upload data.
     * </pre>
     *
     * <code>optional int32 uploadDayOfMonth = 37;</code>
     */
    int getUploadDayOfMonth();

    /**
     * <pre>
     *&#47; Time of Day for SQDF to upload data.
     * </pre>
     *
     * <code>optional int64 uploadTimestamp = 38;</code>
     */
    boolean hasUploadTimestamp();
    /**
     * <pre>
     *&#47; Time of Day for SQDF to upload data.
     * </pre>
     *
     * <code>optional int64 uploadTimestamp = 38;</code>
     */
    long getUploadTimestamp();
  }
  /**
   * <pre>
   **
   * This Message includes the SQDF settings for configuring the application behavior
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.SQDFSettings}
   */
  public  static final class SQDFSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFSettings)
      SQDFSettingsOrBuilder {
    // Use SQDFSettings.newBuilder() to construct.
    private SQDFSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SQDFSettings() {
      isEnabled_ = false;
      isVRCUploadEnabled_ = false;
      isDTCUploadEnabled_ = false;
      isGCDUploadEnabled_ = false;
      isMTRUploadEnabled_ = false;
      isSGWUploadEnabled_ = false;
      isQuickScanEnabled_ = false;
      quickScanECURetryCnt_ = 0;
      isDTCScanEnabled_ = false;
      dtcScanECURetryCnt_ = 0;
      isGCDEnabled_ = false;
      isHistogramEnabled_ = false;
      isDatalogShortEnabled_ = false;
      gcdTriggerEventLimit_ = 0;
      sensorCalibrationTime_ = 0;
      maxPendingUploads_ = 0;
      isGPSPrivacyEnabled_ = false;
      mtrTriggerEventLimit_ = 0;
      quickScanPeriod_ = 0;
      diagnosticRequestRate_ = 0;
      dtcUploadPerECU_ = 0;
      dtcUploadEventLimit_ = 0;
      dtcUploadEventLimitPeriod_ = 0;
      dtcUploadEventLimitExpire_ = 0;
      uploadInterval_ = 0;
      sgwIDSEventDeltaCnt_ = 0;
      sgwGatewayEventDeltaCnt_ = 0;
      sgwDayLimit_ = 0;
      isROESupported_ = false;
      testToolDetectionTimeoutViaTU_ = 0;
      testToolDetectionTimeoutViaApplication_ = 0;
      minEngineRPMToScan_ = 0;
      maxEngineRPMToScan_ = 0;
      minVehicleSpeedToScan_ = 0;
      maxVehicleSpeedToScan_ = 0;
      uploadDayOfMonth_ = 0;
      uploadTimestamp_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SQDFSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      int mutable_bitField1_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isEnabled_ = input.readBool();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              isVRCUploadEnabled_ = input.readBool();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isDTCUploadEnabled_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              isGCDUploadEnabled_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              isMTRUploadEnabled_ = input.readBool();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              isSGWUploadEnabled_ = input.readBool();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              isQuickScanEnabled_ = input.readBool();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              quickScanECURetryCnt_ = input.readInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              isDTCScanEnabled_ = input.readBool();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              dtcScanECURetryCnt_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              isGCDEnabled_ = input.readBool();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              isHistogramEnabled_ = input.readBool();
              break;
            }
            case 104: {
              bitField0_ |= 0x00001000;
              isDatalogShortEnabled_ = input.readBool();
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              gcdTriggerEventLimit_ = input.readInt32();
              break;
            }
            case 120: {
              bitField0_ |= 0x00004000;
              sensorCalibrationTime_ = input.readInt32();
              break;
            }
            case 128: {
              bitField0_ |= 0x00008000;
              maxPendingUploads_ = input.readInt32();
              break;
            }
            case 136: {
              bitField0_ |= 0x00010000;
              isGPSPrivacyEnabled_ = input.readBool();
              break;
            }
            case 144: {
              bitField0_ |= 0x00020000;
              mtrTriggerEventLimit_ = input.readInt32();
              break;
            }
            case 152: {
              bitField0_ |= 0x00040000;
              quickScanPeriod_ = input.readInt32();
              break;
            }
            case 168: {
              bitField0_ |= 0x00080000;
              diagnosticRequestRate_ = input.readInt32();
              break;
            }
            case 176: {
              bitField0_ |= 0x00100000;
              dtcUploadPerECU_ = input.readInt32();
              break;
            }
            case 184: {
              bitField0_ |= 0x00200000;
              dtcUploadEventLimit_ = input.readInt32();
              break;
            }
            case 192: {
              bitField0_ |= 0x00400000;
              dtcUploadEventLimitPeriod_ = input.readInt32();
              break;
            }
            case 200: {
              bitField0_ |= 0x00800000;
              dtcUploadEventLimitExpire_ = input.readInt32();
              break;
            }
            case 208: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum value = com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(26, rawValue);
              } else {
                bitField0_ |= 0x01000000;
                uploadInterval_ = rawValue;
              }
              break;
            }
            case 216: {
              bitField0_ |= 0x02000000;
              sgwIDSEventDeltaCnt_ = input.readInt32();
              break;
            }
            case 224: {
              bitField0_ |= 0x04000000;
              sgwGatewayEventDeltaCnt_ = input.readInt32();
              break;
            }
            case 232: {
              bitField0_ |= 0x08000000;
              sgwDayLimit_ = input.readInt32();
              break;
            }
            case 240: {
              bitField0_ |= 0x10000000;
              isROESupported_ = input.readBool();
              break;
            }
            case 248: {
              bitField0_ |= 0x20000000;
              testToolDetectionTimeoutViaTU_ = input.readInt32();
              break;
            }
            case 256: {
              bitField0_ |= 0x40000000;
              testToolDetectionTimeoutViaApplication_ = input.readInt32();
              break;
            }
            case 264: {
              bitField0_ |= 0x80000000;
              minEngineRPMToScan_ = input.readInt32();
              break;
            }
            case 272: {
              bitField1_ |= 0x00000001;
              maxEngineRPMToScan_ = input.readInt32();
              break;
            }
            case 280: {
              bitField1_ |= 0x00000002;
              minVehicleSpeedToScan_ = input.readInt32();
              break;
            }
            case 288: {
              bitField1_ |= 0x00000004;
              maxVehicleSpeedToScan_ = input.readInt32();
              break;
            }
            case 296: {
              bitField1_ |= 0x00000008;
              uploadDayOfMonth_ = input.readInt32();
              break;
            }
            case 304: {
              bitField1_ |= 0x00000010;
              uploadTimestamp_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_SQDFSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_SQDFSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum}
     */
    public enum UploadIntervalEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <pre>
       *&#47; follows normal monthly upload date
       * </pre>
       *
       * <code>NO_TEST = 0;</code>
       */
      NO_TEST(0),
      /**
       * <code>UPLOAD_WEEKLY = 1;</code>
       */
      UPLOAD_WEEKLY(1),
      /**
       * <code>UPLOAD_DAILY = 2;</code>
       */
      UPLOAD_DAILY(2),
      /**
       * <code>UPLOAD_HOURLY = 3;</code>
       */
      UPLOAD_HOURLY(3),
      ;

      /**
       * <pre>
       *&#47; follows normal monthly upload date
       * </pre>
       *
       * <code>NO_TEST = 0;</code>
       */
      public static final int NO_TEST_VALUE = 0;
      /**
       * <code>UPLOAD_WEEKLY = 1;</code>
       */
      public static final int UPLOAD_WEEKLY_VALUE = 1;
      /**
       * <code>UPLOAD_DAILY = 2;</code>
       */
      public static final int UPLOAD_DAILY_VALUE = 2;
      /**
       * <code>UPLOAD_HOURLY = 3;</code>
       */
      public static final int UPLOAD_HOURLY_VALUE = 3;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static UploadIntervalEnum valueOf(int value) {
        return forNumber(value);
      }

      public static UploadIntervalEnum forNumber(int value) {
        switch (value) {
          case 0: return NO_TEST;
          case 1: return UPLOAD_WEEKLY;
          case 2: return UPLOAD_DAILY;
          case 3: return UPLOAD_HOURLY;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<UploadIntervalEnum>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          UploadIntervalEnum> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<UploadIntervalEnum>() {
              public UploadIntervalEnum findValueByNumber(int number) {
                return UploadIntervalEnum.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDescriptor().getEnumTypes().get(0);
      }

      private static final UploadIntervalEnum[] VALUES = values();

      public static UploadIntervalEnum valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private UploadIntervalEnum(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum)
    }

    private int bitField0_;
    private int bitField1_;
    public static final int ISENABLED_FIELD_NUMBER = 1;
    private boolean isEnabled_;
    /**
     * <pre>
     *&#47;Indicates if SQDF feature enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    public boolean hasIsEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;Indicates if SQDF feature enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 1;</code>
     */
    public boolean getIsEnabled() {
      return isEnabled_;
    }

    public static final int ISVRCUPLOADENABLED_FIELD_NUMBER = 2;
    private boolean isVRCUploadEnabled_;
    /**
     * <pre>
     *&#47;Indicates if Vehicle Health Report upload enabled.
     * </pre>
     *
     * <code>optional bool isVRCUploadEnabled = 2;</code>
     */
    public boolean hasIsVRCUploadEnabled() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47;Indicates if Vehicle Health Report upload enabled.
     * </pre>
     *
     * <code>optional bool isVRCUploadEnabled = 2;</code>
     */
    public boolean getIsVRCUploadEnabled() {
      return isVRCUploadEnabled_;
    }

    public static final int ISDTCUPLOADENABLED_FIELD_NUMBER = 3;
    private boolean isDTCUploadEnabled_;
    /**
     * <pre>
     *&#47;Indicates if Diagnostic Trouble Code upload enabled.
     * </pre>
     *
     * <code>optional bool isDTCUploadEnabled = 3;</code>
     */
    public boolean hasIsDTCUploadEnabled() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47;Indicates if Diagnostic Trouble Code upload enabled.
     * </pre>
     *
     * <code>optional bool isDTCUploadEnabled = 3;</code>
     */
    public boolean getIsDTCUploadEnabled() {
      return isDTCUploadEnabled_;
    }

    public static final int ISGCDUPLOADENABLED_FIELD_NUMBER = 4;
    private boolean isGCDUploadEnabled_;
    /**
     * <pre>
     *&#47;Indicates if Generic Car Data upload enabled.
     * </pre>
     *
     * <code>optional bool isGCDUploadEnabled = 4;</code>
     */
    public boolean hasIsGCDUploadEnabled() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47;Indicates if Generic Car Data upload enabled.
     * </pre>
     *
     * <code>optional bool isGCDUploadEnabled = 4;</code>
     */
    public boolean getIsGCDUploadEnabled() {
      return isGCDUploadEnabled_;
    }

    public static final int ISMTRUPLOADENABLED_FIELD_NUMBER = 5;
    private boolean isMTRUploadEnabled_;
    /**
     * <pre>
     *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
     * </pre>
     *
     * <code>optional bool isMTRUploadEnabled = 5;</code>
     */
    public boolean hasIsMTRUploadEnabled() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
     * </pre>
     *
     * <code>optional bool isMTRUploadEnabled = 5;</code>
     */
    public boolean getIsMTRUploadEnabled() {
      return isMTRUploadEnabled_;
    }

    public static final int ISSGWUPLOADENABLED_FIELD_NUMBER = 6;
    private boolean isSGWUploadEnabled_;
    /**
     * <pre>
     *&#47; Indicates if Security Gateway upload enabled.
     * </pre>
     *
     * <code>optional bool isSGWUploadEnabled = 6;</code>
     */
    public boolean hasIsSGWUploadEnabled() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; Indicates if Security Gateway upload enabled.
     * </pre>
     *
     * <code>optional bool isSGWUploadEnabled = 6;</code>
     */
    public boolean getIsSGWUploadEnabled() {
      return isSGWUploadEnabled_;
    }

    public static final int ISQUICKSCANENABLED_FIELD_NUMBER = 7;
    private boolean isQuickScanEnabled_;
    /**
     * <pre>
     *&#47; Indicates if QuickScan enabled
     * </pre>
     *
     * <code>optional bool isQuickScanEnabled = 7;</code>
     */
    public boolean hasIsQuickScanEnabled() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; Indicates if QuickScan enabled
     * </pre>
     *
     * <code>optional bool isQuickScanEnabled = 7;</code>
     */
    public boolean getIsQuickScanEnabled() {
      return isQuickScanEnabled_;
    }

    public static final int QUICKSCANECURETRYCNT_FIELD_NUMBER = 8;
    private int quickScanECURetryCnt_;
    /**
     * <pre>
     *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 quickScanECURetryCnt = 8;</code>
     */
    public boolean hasQuickScanECURetryCnt() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <pre>
     *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 quickScanECURetryCnt = 8;</code>
     */
    public int getQuickScanECURetryCnt() {
      return quickScanECURetryCnt_;
    }

    public static final int ISDTCSCANENABLED_FIELD_NUMBER = 9;
    private boolean isDTCScanEnabled_;
    /**
     * <pre>
     *&#47;bool Indicates if DTCScan is enabled.
     * </pre>
     *
     * <code>optional bool isDTCScanEnabled = 9;</code>
     */
    public boolean hasIsDTCScanEnabled() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <pre>
     *&#47;bool Indicates if DTCScan is enabled.
     * </pre>
     *
     * <code>optional bool isDTCScanEnabled = 9;</code>
     */
    public boolean getIsDTCScanEnabled() {
      return isDTCScanEnabled_;
    }

    public static final int DTCSCANECURETRYCNT_FIELD_NUMBER = 10;
    private int dtcScanECURetryCnt_;
    /**
     * <pre>
     *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 dtcScanECURetryCnt = 10;</code>
     */
    public boolean hasDtcScanECURetryCnt() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <pre>
     *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
     * </pre>
     *
     * <code>optional int32 dtcScanECURetryCnt = 10;</code>
     */
    public int getDtcScanECURetryCnt() {
      return dtcScanECURetryCnt_;
    }

    public static final int ISGCDENABLED_FIELD_NUMBER = 11;
    private boolean isGCDEnabled_;
    /**
     * <pre>
     *&#47; Indicates if Generic Car Data is enabled.
     * </pre>
     *
     * <code>optional bool isGCDEnabled = 11;</code>
     */
    public boolean hasIsGCDEnabled() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <pre>
     *&#47; Indicates if Generic Car Data is enabled.
     * </pre>
     *
     * <code>optional bool isGCDEnabled = 11;</code>
     */
    public boolean getIsGCDEnabled() {
      return isGCDEnabled_;
    }

    public static final int ISHISTOGRAMENABLED_FIELD_NUMBER = 12;
    private boolean isHistogramEnabled_;
    /**
     * <pre>
     *&#47; Indicates if Histogram is enabled.
     * </pre>
     *
     * <code>optional bool isHistogramEnabled = 12;</code>
     */
    public boolean hasIsHistogramEnabled() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <pre>
     *&#47; Indicates if Histogram is enabled.
     * </pre>
     *
     * <code>optional bool isHistogramEnabled = 12;</code>
     */
    public boolean getIsHistogramEnabled() {
      return isHistogramEnabled_;
    }

    public static final int ISDATALOGSHORTENABLED_FIELD_NUMBER = 13;
    private boolean isDatalogShortEnabled_;
    /**
     * <pre>
     *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
     * </pre>
     *
     * <code>optional bool isDatalogShortEnabled = 13;</code>
     */
    public boolean hasIsDatalogShortEnabled() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <pre>
     *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
     * </pre>
     *
     * <code>optional bool isDatalogShortEnabled = 13;</code>
     */
    public boolean getIsDatalogShortEnabled() {
      return isDatalogShortEnabled_;
    }

    public static final int GCDTRIGGEREVENTLIMIT_FIELD_NUMBER = 14;
    private int gcdTriggerEventLimit_;
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
     * </pre>
     *
     * <code>optional int32 gcdTriggerEventLimit = 14;</code>
     */
    public boolean hasGcdTriggerEventLimit() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
     * </pre>
     *
     * <code>optional int32 gcdTriggerEventLimit = 14;</code>
     */
    public int getGcdTriggerEventLimit() {
      return gcdTriggerEventLimit_;
    }

    public static final int SENSORCALIBRATIONTIME_FIELD_NUMBER = 15;
    private int sensorCalibrationTime_;
    /**
     * <pre>
     *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
     * </pre>
     *
     * <code>optional int32 sensorCalibrationTime = 15;</code>
     */
    public boolean hasSensorCalibrationTime() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * <pre>
     *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
     * </pre>
     *
     * <code>optional int32 sensorCalibrationTime = 15;</code>
     */
    public int getSensorCalibrationTime() {
      return sensorCalibrationTime_;
    }

    public static final int MAXPENDINGUPLOADS_FIELD_NUMBER = 16;
    private int maxPendingUploads_;
    /**
     * <pre>
     *&#47;Max number of pending uploads (min = 0 , max = 10)
     * </pre>
     *
     * <code>optional int32 maxPendingUploads = 16;</code>
     */
    public boolean hasMaxPendingUploads() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * <pre>
     *&#47;Max number of pending uploads (min = 0 , max = 10)
     * </pre>
     *
     * <code>optional int32 maxPendingUploads = 16;</code>
     */
    public int getMaxPendingUploads() {
      return maxPendingUploads_;
    }

    public static final int ISGPSPRIVACYENABLED_FIELD_NUMBER = 17;
    private boolean isGPSPrivacyEnabled_;
    /**
     * <pre>
     *&#47;Indicates the GPS location privacy is included in uploads.
     * </pre>
     *
     * <code>optional bool isGPSPrivacyEnabled = 17;</code>
     */
    public boolean hasIsGPSPrivacyEnabled() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * <pre>
     *&#47;Indicates the GPS location privacy is included in uploads.
     * </pre>
     *
     * <code>optional bool isGPSPrivacyEnabled = 17;</code>
     */
    public boolean getIsGPSPrivacyEnabled() {
      return isGPSPrivacyEnabled_;
    }

    public static final int MTRTRIGGEREVENTLIMIT_FIELD_NUMBER = 18;
    private int mtrTriggerEventLimit_;
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
     * </pre>
     *
     * <code>optional int32 mtrTriggerEventLimit = 18;</code>
     */
    public boolean hasMtrTriggerEventLimit() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * <pre>
     *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
     * </pre>
     *
     * <code>optional int32 mtrTriggerEventLimit = 18;</code>
     */
    public int getMtrTriggerEventLimit() {
      return mtrTriggerEventLimit_;
    }

    public static final int QUICKSCANPERIOD_FIELD_NUMBER = 19;
    private int quickScanPeriod_;
    /**
     * <pre>
     *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
     * </pre>
     *
     * <code>optional int32 quickScanPeriod = 19;</code>
     */
    public boolean hasQuickScanPeriod() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * <pre>
     *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
     * </pre>
     *
     * <code>optional int32 quickScanPeriod = 19;</code>
     */
    public int getQuickScanPeriod() {
      return quickScanPeriod_;
    }

    public static final int DIAGNOSTICREQUESTRATE_FIELD_NUMBER = 21;
    private int diagnosticRequestRate_;
    /**
     * <pre>
     *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 diagnosticRequestRate = 21;</code>
     */
    public boolean hasDiagnosticRequestRate() {
      return ((bitField0_ & 0x00080000) == 0x00080000);
    }
    /**
     * <pre>
     *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 diagnosticRequestRate = 21;</code>
     */
    public int getDiagnosticRequestRate() {
      return diagnosticRequestRate_;
    }

    public static final int DTCUPLOADPERECU_FIELD_NUMBER = 22;
    private int dtcUploadPerECU_;
    /**
     * <pre>
     *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadPerECU = 22;</code>
     */
    public boolean hasDtcUploadPerECU() {
      return ((bitField0_ & 0x00100000) == 0x00100000);
    }
    /**
     * <pre>
     *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadPerECU = 22;</code>
     */
    public int getDtcUploadPerECU() {
      return dtcUploadPerECU_;
    }

    public static final int DTCUPLOADEVENTLIMIT_FIELD_NUMBER = 23;
    private int dtcUploadEventLimit_;
    /**
     * <pre>
     *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimit = 23;</code>
     */
    public boolean hasDtcUploadEventLimit() {
      return ((bitField0_ & 0x00200000) == 0x00200000);
    }
    /**
     * <pre>
     *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimit = 23;</code>
     */
    public int getDtcUploadEventLimit() {
      return dtcUploadEventLimit_;
    }

    public static final int DTCUPLOADEVENTLIMITPERIOD_FIELD_NUMBER = 24;
    private int dtcUploadEventLimitPeriod_;
    /**
     * <pre>
     *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
     */
    public boolean hasDtcUploadEventLimitPeriod() {
      return ((bitField0_ & 0x00400000) == 0x00400000);
    }
    /**
     * <pre>
     *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
     */
    public int getDtcUploadEventLimitPeriod() {
      return dtcUploadEventLimitPeriod_;
    }

    public static final int DTCUPLOADEVENTLIMITEXPIRE_FIELD_NUMBER = 25;
    private int dtcUploadEventLimitExpire_;
    /**
     * <pre>
     *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
     */
    public boolean hasDtcUploadEventLimitExpire() {
      return ((bitField0_ & 0x00800000) == 0x00800000);
    }
    /**
     * <pre>
     *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
     * </pre>
     *
     * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
     */
    public int getDtcUploadEventLimitExpire() {
      return dtcUploadEventLimitExpire_;
    }

    public static final int UPLOADINTERVAL_FIELD_NUMBER = 26;
    private int uploadInterval_;
    /**
     * <pre>
     *&#47;Monthly cadiance for upload.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
     */
    public boolean hasUploadInterval() {
      return ((bitField0_ & 0x01000000) == 0x01000000);
    }
    /**
     * <pre>
     *&#47;Monthly cadiance for upload.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum getUploadInterval() {
      com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum.valueOf(uploadInterval_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum.NO_TEST : result;
    }

    public static final int SGWIDSEVENTDELTACNT_FIELD_NUMBER = 27;
    private int sgwIDSEventDeltaCnt_;
    /**
     * <pre>
     *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
     */
    public boolean hasSgwIDSEventDeltaCnt() {
      return ((bitField0_ & 0x02000000) == 0x02000000);
    }
    /**
     * <pre>
     *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
     */
    public int getSgwIDSEventDeltaCnt() {
      return sgwIDSEventDeltaCnt_;
    }

    public static final int SGWGATEWAYEVENTDELTACNT_FIELD_NUMBER = 28;
    private int sgwGatewayEventDeltaCnt_;
    /**
     * <pre>
     *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
     */
    public boolean hasSgwGatewayEventDeltaCnt() {
      return ((bitField0_ & 0x04000000) == 0x04000000);
    }
    /**
     * <pre>
     *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
     * </pre>
     *
     * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
     */
    public int getSgwGatewayEventDeltaCnt() {
      return sgwGatewayEventDeltaCnt_;
    }

    public static final int SGWDAYLIMIT_FIELD_NUMBER = 29;
    private int sgwDayLimit_;
    /**
     * <pre>
     *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
     * </pre>
     *
     * <code>optional int32 sgwDayLimit = 29;</code>
     */
    public boolean hasSgwDayLimit() {
      return ((bitField0_ & 0x08000000) == 0x08000000);
    }
    /**
     * <pre>
     *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
     * </pre>
     *
     * <code>optional int32 sgwDayLimit = 29;</code>
     */
    public int getSgwDayLimit() {
      return sgwDayLimit_;
    }

    public static final int ISROESUPPORTED_FIELD_NUMBER = 30;
    private boolean isROESupported_;
    /**
     * <pre>
     *&#47;Indicates if Return On Event (ROE) is supported.
     * </pre>
     *
     * <code>optional bool isROESupported = 30;</code>
     */
    public boolean hasIsROESupported() {
      return ((bitField0_ & 0x10000000) == 0x10000000);
    }
    /**
     * <pre>
     *&#47;Indicates if Return On Event (ROE) is supported.
     * </pre>
     *
     * <code>optional bool isROESupported = 30;</code>
     */
    public boolean getIsROESupported() {
      return isROESupported_;
    }

    public static final int TESTTOOLDETECTIONTIMEOUTVIATU_FIELD_NUMBER = 31;
    private int testToolDetectionTimeoutViaTU_;
    /**
     * <pre>
     *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
     */
    public boolean hasTestToolDetectionTimeoutViaTU() {
      return ((bitField0_ & 0x20000000) == 0x20000000);
    }
    /**
     * <pre>
     *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
     */
    public int getTestToolDetectionTimeoutViaTU() {
      return testToolDetectionTimeoutViaTU_;
    }

    public static final int TESTTOOLDETECTIONTIMEOUTVIAAPPLICATION_FIELD_NUMBER = 32;
    private int testToolDetectionTimeoutViaApplication_;
    /**
     * <pre>
     *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
     */
    public boolean hasTestToolDetectionTimeoutViaApplication() {
      return ((bitField0_ & 0x40000000) == 0x40000000);
    }
    /**
     * <pre>
     *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
     * </pre>
     *
     * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
     */
    public int getTestToolDetectionTimeoutViaApplication() {
      return testToolDetectionTimeoutViaApplication_;
    }

    public static final int MINENGINERPMTOSCAN_FIELD_NUMBER = 33;
    private int minEngineRPMToScan_;
    /**
     * <pre>
     *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
     * </pre>
     *
     * <code>optional int32 minEngineRPMToScan = 33;</code>
     */
    public boolean hasMinEngineRPMToScan() {
      return ((bitField0_ & 0x80000000) == 0x80000000);
    }
    /**
     * <pre>
     *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
     * </pre>
     *
     * <code>optional int32 minEngineRPMToScan = 33;</code>
     */
    public int getMinEngineRPMToScan() {
      return minEngineRPMToScan_;
    }

    public static final int MAXENGINERPMTOSCAN_FIELD_NUMBER = 34;
    private int maxEngineRPMToScan_;
    /**
     * <pre>
     *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
     * </pre>
     *
     * <code>optional int32 maxEngineRPMToScan = 34;</code>
     */
    public boolean hasMaxEngineRPMToScan() {
      return ((bitField1_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
     * </pre>
     *
     * <code>optional int32 maxEngineRPMToScan = 34;</code>
     */
    public int getMaxEngineRPMToScan() {
      return maxEngineRPMToScan_;
    }

    public static final int MINVEHICLESPEEDTOSCAN_FIELD_NUMBER = 35;
    private int minVehicleSpeedToScan_;
    /**
     * <pre>
     *&#47;Minimun Vehicle Speed value for SQDF to start scanning
     * </pre>
     *
     * <code>optional int32 minVehicleSpeedToScan = 35;</code>
     */
    public boolean hasMinVehicleSpeedToScan() {
      return ((bitField1_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47;Minimun Vehicle Speed value for SQDF to start scanning
     * </pre>
     *
     * <code>optional int32 minVehicleSpeedToScan = 35;</code>
     */
    public int getMinVehicleSpeedToScan() {
      return minVehicleSpeedToScan_;
    }

    public static final int MAXVEHICLESPEEDTOSCAN_FIELD_NUMBER = 36;
    private int maxVehicleSpeedToScan_;
    /**
     * <pre>
     *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
     */
    public boolean hasMaxVehicleSpeedToScan() {
      return ((bitField1_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
     * </pre>
     *
     * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
     */
    public int getMaxVehicleSpeedToScan() {
      return maxVehicleSpeedToScan_;
    }

    public static final int UPLOADDAYOFMONTH_FIELD_NUMBER = 37;
    private int uploadDayOfMonth_;
    /**
     * <pre>
     *&#47; Day Of Month for SQDF to upload data.
     * </pre>
     *
     * <code>optional int32 uploadDayOfMonth = 37;</code>
     */
    public boolean hasUploadDayOfMonth() {
      return ((bitField1_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; Day Of Month for SQDF to upload data.
     * </pre>
     *
     * <code>optional int32 uploadDayOfMonth = 37;</code>
     */
    public int getUploadDayOfMonth() {
      return uploadDayOfMonth_;
    }

    public static final int UPLOADTIMESTAMP_FIELD_NUMBER = 38;
    private long uploadTimestamp_;
    /**
     * <pre>
     *&#47; Time of Day for SQDF to upload data.
     * </pre>
     *
     * <code>optional int64 uploadTimestamp = 38;</code>
     */
    public boolean hasUploadTimestamp() {
      return ((bitField1_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; Time of Day for SQDF to upload data.
     * </pre>
     *
     * <code>optional int64 uploadTimestamp = 38;</code>
     */
    public long getUploadTimestamp() {
      return uploadTimestamp_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, isVRCUploadEnabled_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isDTCUploadEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, isGCDUploadEnabled_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBool(5, isMTRUploadEnabled_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBool(6, isSGWUploadEnabled_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBool(7, isQuickScanEnabled_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(8, quickScanECURetryCnt_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBool(9, isDTCScanEnabled_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(10, dtcScanECURetryCnt_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeBool(11, isGCDEnabled_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBool(12, isHistogramEnabled_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBool(13, isDatalogShortEnabled_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeInt32(14, gcdTriggerEventLimit_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeInt32(15, sensorCalibrationTime_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeInt32(16, maxPendingUploads_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeBool(17, isGPSPrivacyEnabled_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeInt32(18, mtrTriggerEventLimit_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeInt32(19, quickScanPeriod_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        output.writeInt32(21, diagnosticRequestRate_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        output.writeInt32(22, dtcUploadPerECU_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        output.writeInt32(23, dtcUploadEventLimit_);
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        output.writeInt32(24, dtcUploadEventLimitPeriod_);
      }
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        output.writeInt32(25, dtcUploadEventLimitExpire_);
      }
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        output.writeEnum(26, uploadInterval_);
      }
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        output.writeInt32(27, sgwIDSEventDeltaCnt_);
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        output.writeInt32(28, sgwGatewayEventDeltaCnt_);
      }
      if (((bitField0_ & 0x08000000) == 0x08000000)) {
        output.writeInt32(29, sgwDayLimit_);
      }
      if (((bitField0_ & 0x10000000) == 0x10000000)) {
        output.writeBool(30, isROESupported_);
      }
      if (((bitField0_ & 0x20000000) == 0x20000000)) {
        output.writeInt32(31, testToolDetectionTimeoutViaTU_);
      }
      if (((bitField0_ & 0x40000000) == 0x40000000)) {
        output.writeInt32(32, testToolDetectionTimeoutViaApplication_);
      }
      if (((bitField0_ & 0x80000000) == 0x80000000)) {
        output.writeInt32(33, minEngineRPMToScan_);
      }
      if (((bitField1_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(34, maxEngineRPMToScan_);
      }
      if (((bitField1_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(35, minVehicleSpeedToScan_);
      }
      if (((bitField1_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(36, maxVehicleSpeedToScan_);
      }
      if (((bitField1_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(37, uploadDayOfMonth_);
      }
      if (((bitField1_ & 0x00000010) == 0x00000010)) {
        output.writeInt64(38, uploadTimestamp_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, isVRCUploadEnabled_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isDTCUploadEnabled_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isGCDUploadEnabled_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, isMTRUploadEnabled_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, isSGWUploadEnabled_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, isQuickScanEnabled_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, quickScanECURetryCnt_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, isDTCScanEnabled_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, dtcScanECURetryCnt_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(11, isGCDEnabled_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(12, isHistogramEnabled_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, isDatalogShortEnabled_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(14, gcdTriggerEventLimit_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(15, sensorCalibrationTime_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(16, maxPendingUploads_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(17, isGPSPrivacyEnabled_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(18, mtrTriggerEventLimit_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(19, quickScanPeriod_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(21, diagnosticRequestRate_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(22, dtcUploadPerECU_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(23, dtcUploadEventLimit_);
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(24, dtcUploadEventLimitPeriod_);
      }
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(25, dtcUploadEventLimitExpire_);
      }
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(26, uploadInterval_);
      }
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(27, sgwIDSEventDeltaCnt_);
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(28, sgwGatewayEventDeltaCnt_);
      }
      if (((bitField0_ & 0x08000000) == 0x08000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(29, sgwDayLimit_);
      }
      if (((bitField0_ & 0x10000000) == 0x10000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(30, isROESupported_);
      }
      if (((bitField0_ & 0x20000000) == 0x20000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(31, testToolDetectionTimeoutViaTU_);
      }
      if (((bitField0_ & 0x40000000) == 0x40000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(32, testToolDetectionTimeoutViaApplication_);
      }
      if (((bitField0_ & 0x80000000) == 0x80000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(33, minEngineRPMToScan_);
      }
      if (((bitField1_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(34, maxEngineRPMToScan_);
      }
      if (((bitField1_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(35, minVehicleSpeedToScan_);
      }
      if (((bitField1_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(36, maxVehicleSpeedToScan_);
      }
      if (((bitField1_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(37, uploadDayOfMonth_);
      }
      if (((bitField1_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(38, uploadTimestamp_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings) obj;

      boolean result = true;
      result = result && (hasIsEnabled() == other.hasIsEnabled());
      if (hasIsEnabled()) {
        result = result && (getIsEnabled()
            == other.getIsEnabled());
      }
      result = result && (hasIsVRCUploadEnabled() == other.hasIsVRCUploadEnabled());
      if (hasIsVRCUploadEnabled()) {
        result = result && (getIsVRCUploadEnabled()
            == other.getIsVRCUploadEnabled());
      }
      result = result && (hasIsDTCUploadEnabled() == other.hasIsDTCUploadEnabled());
      if (hasIsDTCUploadEnabled()) {
        result = result && (getIsDTCUploadEnabled()
            == other.getIsDTCUploadEnabled());
      }
      result = result && (hasIsGCDUploadEnabled() == other.hasIsGCDUploadEnabled());
      if (hasIsGCDUploadEnabled()) {
        result = result && (getIsGCDUploadEnabled()
            == other.getIsGCDUploadEnabled());
      }
      result = result && (hasIsMTRUploadEnabled() == other.hasIsMTRUploadEnabled());
      if (hasIsMTRUploadEnabled()) {
        result = result && (getIsMTRUploadEnabled()
            == other.getIsMTRUploadEnabled());
      }
      result = result && (hasIsSGWUploadEnabled() == other.hasIsSGWUploadEnabled());
      if (hasIsSGWUploadEnabled()) {
        result = result && (getIsSGWUploadEnabled()
            == other.getIsSGWUploadEnabled());
      }
      result = result && (hasIsQuickScanEnabled() == other.hasIsQuickScanEnabled());
      if (hasIsQuickScanEnabled()) {
        result = result && (getIsQuickScanEnabled()
            == other.getIsQuickScanEnabled());
      }
      result = result && (hasQuickScanECURetryCnt() == other.hasQuickScanECURetryCnt());
      if (hasQuickScanECURetryCnt()) {
        result = result && (getQuickScanECURetryCnt()
            == other.getQuickScanECURetryCnt());
      }
      result = result && (hasIsDTCScanEnabled() == other.hasIsDTCScanEnabled());
      if (hasIsDTCScanEnabled()) {
        result = result && (getIsDTCScanEnabled()
            == other.getIsDTCScanEnabled());
      }
      result = result && (hasDtcScanECURetryCnt() == other.hasDtcScanECURetryCnt());
      if (hasDtcScanECURetryCnt()) {
        result = result && (getDtcScanECURetryCnt()
            == other.getDtcScanECURetryCnt());
      }
      result = result && (hasIsGCDEnabled() == other.hasIsGCDEnabled());
      if (hasIsGCDEnabled()) {
        result = result && (getIsGCDEnabled()
            == other.getIsGCDEnabled());
      }
      result = result && (hasIsHistogramEnabled() == other.hasIsHistogramEnabled());
      if (hasIsHistogramEnabled()) {
        result = result && (getIsHistogramEnabled()
            == other.getIsHistogramEnabled());
      }
      result = result && (hasIsDatalogShortEnabled() == other.hasIsDatalogShortEnabled());
      if (hasIsDatalogShortEnabled()) {
        result = result && (getIsDatalogShortEnabled()
            == other.getIsDatalogShortEnabled());
      }
      result = result && (hasGcdTriggerEventLimit() == other.hasGcdTriggerEventLimit());
      if (hasGcdTriggerEventLimit()) {
        result = result && (getGcdTriggerEventLimit()
            == other.getGcdTriggerEventLimit());
      }
      result = result && (hasSensorCalibrationTime() == other.hasSensorCalibrationTime());
      if (hasSensorCalibrationTime()) {
        result = result && (getSensorCalibrationTime()
            == other.getSensorCalibrationTime());
      }
      result = result && (hasMaxPendingUploads() == other.hasMaxPendingUploads());
      if (hasMaxPendingUploads()) {
        result = result && (getMaxPendingUploads()
            == other.getMaxPendingUploads());
      }
      result = result && (hasIsGPSPrivacyEnabled() == other.hasIsGPSPrivacyEnabled());
      if (hasIsGPSPrivacyEnabled()) {
        result = result && (getIsGPSPrivacyEnabled()
            == other.getIsGPSPrivacyEnabled());
      }
      result = result && (hasMtrTriggerEventLimit() == other.hasMtrTriggerEventLimit());
      if (hasMtrTriggerEventLimit()) {
        result = result && (getMtrTriggerEventLimit()
            == other.getMtrTriggerEventLimit());
      }
      result = result && (hasQuickScanPeriod() == other.hasQuickScanPeriod());
      if (hasQuickScanPeriod()) {
        result = result && (getQuickScanPeriod()
            == other.getQuickScanPeriod());
      }
      result = result && (hasDiagnosticRequestRate() == other.hasDiagnosticRequestRate());
      if (hasDiagnosticRequestRate()) {
        result = result && (getDiagnosticRequestRate()
            == other.getDiagnosticRequestRate());
      }
      result = result && (hasDtcUploadPerECU() == other.hasDtcUploadPerECU());
      if (hasDtcUploadPerECU()) {
        result = result && (getDtcUploadPerECU()
            == other.getDtcUploadPerECU());
      }
      result = result && (hasDtcUploadEventLimit() == other.hasDtcUploadEventLimit());
      if (hasDtcUploadEventLimit()) {
        result = result && (getDtcUploadEventLimit()
            == other.getDtcUploadEventLimit());
      }
      result = result && (hasDtcUploadEventLimitPeriod() == other.hasDtcUploadEventLimitPeriod());
      if (hasDtcUploadEventLimitPeriod()) {
        result = result && (getDtcUploadEventLimitPeriod()
            == other.getDtcUploadEventLimitPeriod());
      }
      result = result && (hasDtcUploadEventLimitExpire() == other.hasDtcUploadEventLimitExpire());
      if (hasDtcUploadEventLimitExpire()) {
        result = result && (getDtcUploadEventLimitExpire()
            == other.getDtcUploadEventLimitExpire());
      }
      result = result && (hasUploadInterval() == other.hasUploadInterval());
      if (hasUploadInterval()) {
        result = result && uploadInterval_ == other.uploadInterval_;
      }
      result = result && (hasSgwIDSEventDeltaCnt() == other.hasSgwIDSEventDeltaCnt());
      if (hasSgwIDSEventDeltaCnt()) {
        result = result && (getSgwIDSEventDeltaCnt()
            == other.getSgwIDSEventDeltaCnt());
      }
      result = result && (hasSgwGatewayEventDeltaCnt() == other.hasSgwGatewayEventDeltaCnt());
      if (hasSgwGatewayEventDeltaCnt()) {
        result = result && (getSgwGatewayEventDeltaCnt()
            == other.getSgwGatewayEventDeltaCnt());
      }
      result = result && (hasSgwDayLimit() == other.hasSgwDayLimit());
      if (hasSgwDayLimit()) {
        result = result && (getSgwDayLimit()
            == other.getSgwDayLimit());
      }
      result = result && (hasIsROESupported() == other.hasIsROESupported());
      if (hasIsROESupported()) {
        result = result && (getIsROESupported()
            == other.getIsROESupported());
      }
      result = result && (hasTestToolDetectionTimeoutViaTU() == other.hasTestToolDetectionTimeoutViaTU());
      if (hasTestToolDetectionTimeoutViaTU()) {
        result = result && (getTestToolDetectionTimeoutViaTU()
            == other.getTestToolDetectionTimeoutViaTU());
      }
      result = result && (hasTestToolDetectionTimeoutViaApplication() == other.hasTestToolDetectionTimeoutViaApplication());
      if (hasTestToolDetectionTimeoutViaApplication()) {
        result = result && (getTestToolDetectionTimeoutViaApplication()
            == other.getTestToolDetectionTimeoutViaApplication());
      }
      result = result && (hasMinEngineRPMToScan() == other.hasMinEngineRPMToScan());
      if (hasMinEngineRPMToScan()) {
        result = result && (getMinEngineRPMToScan()
            == other.getMinEngineRPMToScan());
      }
      result = result && (hasMaxEngineRPMToScan() == other.hasMaxEngineRPMToScan());
      if (hasMaxEngineRPMToScan()) {
        result = result && (getMaxEngineRPMToScan()
            == other.getMaxEngineRPMToScan());
      }
      result = result && (hasMinVehicleSpeedToScan() == other.hasMinVehicleSpeedToScan());
      if (hasMinVehicleSpeedToScan()) {
        result = result && (getMinVehicleSpeedToScan()
            == other.getMinVehicleSpeedToScan());
      }
      result = result && (hasMaxVehicleSpeedToScan() == other.hasMaxVehicleSpeedToScan());
      if (hasMaxVehicleSpeedToScan()) {
        result = result && (getMaxVehicleSpeedToScan()
            == other.getMaxVehicleSpeedToScan());
      }
      result = result && (hasUploadDayOfMonth() == other.hasUploadDayOfMonth());
      if (hasUploadDayOfMonth()) {
        result = result && (getUploadDayOfMonth()
            == other.getUploadDayOfMonth());
      }
      result = result && (hasUploadTimestamp() == other.hasUploadTimestamp());
      if (hasUploadTimestamp()) {
        result = result && (getUploadTimestamp()
            == other.getUploadTimestamp());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasIsEnabled()) {
        hash = (37 * hash) + ISENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsEnabled());
      }
      if (hasIsVRCUploadEnabled()) {
        hash = (37 * hash) + ISVRCUPLOADENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsVRCUploadEnabled());
      }
      if (hasIsDTCUploadEnabled()) {
        hash = (37 * hash) + ISDTCUPLOADENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsDTCUploadEnabled());
      }
      if (hasIsGCDUploadEnabled()) {
        hash = (37 * hash) + ISGCDUPLOADENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsGCDUploadEnabled());
      }
      if (hasIsMTRUploadEnabled()) {
        hash = (37 * hash) + ISMTRUPLOADENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsMTRUploadEnabled());
      }
      if (hasIsSGWUploadEnabled()) {
        hash = (37 * hash) + ISSGWUPLOADENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsSGWUploadEnabled());
      }
      if (hasIsQuickScanEnabled()) {
        hash = (37 * hash) + ISQUICKSCANENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsQuickScanEnabled());
      }
      if (hasQuickScanECURetryCnt()) {
        hash = (37 * hash) + QUICKSCANECURETRYCNT_FIELD_NUMBER;
        hash = (53 * hash) + getQuickScanECURetryCnt();
      }
      if (hasIsDTCScanEnabled()) {
        hash = (37 * hash) + ISDTCSCANENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsDTCScanEnabled());
      }
      if (hasDtcScanECURetryCnt()) {
        hash = (37 * hash) + DTCSCANECURETRYCNT_FIELD_NUMBER;
        hash = (53 * hash) + getDtcScanECURetryCnt();
      }
      if (hasIsGCDEnabled()) {
        hash = (37 * hash) + ISGCDENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsGCDEnabled());
      }
      if (hasIsHistogramEnabled()) {
        hash = (37 * hash) + ISHISTOGRAMENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsHistogramEnabled());
      }
      if (hasIsDatalogShortEnabled()) {
        hash = (37 * hash) + ISDATALOGSHORTENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsDatalogShortEnabled());
      }
      if (hasGcdTriggerEventLimit()) {
        hash = (37 * hash) + GCDTRIGGEREVENTLIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getGcdTriggerEventLimit();
      }
      if (hasSensorCalibrationTime()) {
        hash = (37 * hash) + SENSORCALIBRATIONTIME_FIELD_NUMBER;
        hash = (53 * hash) + getSensorCalibrationTime();
      }
      if (hasMaxPendingUploads()) {
        hash = (37 * hash) + MAXPENDINGUPLOADS_FIELD_NUMBER;
        hash = (53 * hash) + getMaxPendingUploads();
      }
      if (hasIsGPSPrivacyEnabled()) {
        hash = (37 * hash) + ISGPSPRIVACYENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsGPSPrivacyEnabled());
      }
      if (hasMtrTriggerEventLimit()) {
        hash = (37 * hash) + MTRTRIGGEREVENTLIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getMtrTriggerEventLimit();
      }
      if (hasQuickScanPeriod()) {
        hash = (37 * hash) + QUICKSCANPERIOD_FIELD_NUMBER;
        hash = (53 * hash) + getQuickScanPeriod();
      }
      if (hasDiagnosticRequestRate()) {
        hash = (37 * hash) + DIAGNOSTICREQUESTRATE_FIELD_NUMBER;
        hash = (53 * hash) + getDiagnosticRequestRate();
      }
      if (hasDtcUploadPerECU()) {
        hash = (37 * hash) + DTCUPLOADPERECU_FIELD_NUMBER;
        hash = (53 * hash) + getDtcUploadPerECU();
      }
      if (hasDtcUploadEventLimit()) {
        hash = (37 * hash) + DTCUPLOADEVENTLIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getDtcUploadEventLimit();
      }
      if (hasDtcUploadEventLimitPeriod()) {
        hash = (37 * hash) + DTCUPLOADEVENTLIMITPERIOD_FIELD_NUMBER;
        hash = (53 * hash) + getDtcUploadEventLimitPeriod();
      }
      if (hasDtcUploadEventLimitExpire()) {
        hash = (37 * hash) + DTCUPLOADEVENTLIMITEXPIRE_FIELD_NUMBER;
        hash = (53 * hash) + getDtcUploadEventLimitExpire();
      }
      if (hasUploadInterval()) {
        hash = (37 * hash) + UPLOADINTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + uploadInterval_;
      }
      if (hasSgwIDSEventDeltaCnt()) {
        hash = (37 * hash) + SGWIDSEVENTDELTACNT_FIELD_NUMBER;
        hash = (53 * hash) + getSgwIDSEventDeltaCnt();
      }
      if (hasSgwGatewayEventDeltaCnt()) {
        hash = (37 * hash) + SGWGATEWAYEVENTDELTACNT_FIELD_NUMBER;
        hash = (53 * hash) + getSgwGatewayEventDeltaCnt();
      }
      if (hasSgwDayLimit()) {
        hash = (37 * hash) + SGWDAYLIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getSgwDayLimit();
      }
      if (hasIsROESupported()) {
        hash = (37 * hash) + ISROESUPPORTED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsROESupported());
      }
      if (hasTestToolDetectionTimeoutViaTU()) {
        hash = (37 * hash) + TESTTOOLDETECTIONTIMEOUTVIATU_FIELD_NUMBER;
        hash = (53 * hash) + getTestToolDetectionTimeoutViaTU();
      }
      if (hasTestToolDetectionTimeoutViaApplication()) {
        hash = (37 * hash) + TESTTOOLDETECTIONTIMEOUTVIAAPPLICATION_FIELD_NUMBER;
        hash = (53 * hash) + getTestToolDetectionTimeoutViaApplication();
      }
      if (hasMinEngineRPMToScan()) {
        hash = (37 * hash) + MINENGINERPMTOSCAN_FIELD_NUMBER;
        hash = (53 * hash) + getMinEngineRPMToScan();
      }
      if (hasMaxEngineRPMToScan()) {
        hash = (37 * hash) + MAXENGINERPMTOSCAN_FIELD_NUMBER;
        hash = (53 * hash) + getMaxEngineRPMToScan();
      }
      if (hasMinVehicleSpeedToScan()) {
        hash = (37 * hash) + MINVEHICLESPEEDTOSCAN_FIELD_NUMBER;
        hash = (53 * hash) + getMinVehicleSpeedToScan();
      }
      if (hasMaxVehicleSpeedToScan()) {
        hash = (37 * hash) + MAXVEHICLESPEEDTOSCAN_FIELD_NUMBER;
        hash = (53 * hash) + getMaxVehicleSpeedToScan();
      }
      if (hasUploadDayOfMonth()) {
        hash = (37 * hash) + UPLOADDAYOFMONTH_FIELD_NUMBER;
        hash = (53 * hash) + getUploadDayOfMonth();
      }
      if (hasUploadTimestamp()) {
        hash = (37 * hash) + UPLOADTIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getUploadTimestamp());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message includes the SQDF settings for configuring the application behavior
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.SQDFSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_SQDFSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_SQDFSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        isEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        isVRCUploadEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        isDTCUploadEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        isGCDUploadEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        isMTRUploadEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        isSGWUploadEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000020);
        isQuickScanEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000040);
        quickScanECURetryCnt_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        isDTCScanEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        dtcScanECURetryCnt_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        isGCDEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000400);
        isHistogramEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000800);
        isDatalogShortEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00001000);
        gcdTriggerEventLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00002000);
        sensorCalibrationTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00004000);
        maxPendingUploads_ = 0;
        bitField0_ = (bitField0_ & ~0x00008000);
        isGPSPrivacyEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00010000);
        mtrTriggerEventLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00020000);
        quickScanPeriod_ = 0;
        bitField0_ = (bitField0_ & ~0x00040000);
        diagnosticRequestRate_ = 0;
        bitField0_ = (bitField0_ & ~0x00080000);
        dtcUploadPerECU_ = 0;
        bitField0_ = (bitField0_ & ~0x00100000);
        dtcUploadEventLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x00200000);
        dtcUploadEventLimitPeriod_ = 0;
        bitField0_ = (bitField0_ & ~0x00400000);
        dtcUploadEventLimitExpire_ = 0;
        bitField0_ = (bitField0_ & ~0x00800000);
        uploadInterval_ = 0;
        bitField0_ = (bitField0_ & ~0x01000000);
        sgwIDSEventDeltaCnt_ = 0;
        bitField0_ = (bitField0_ & ~0x02000000);
        sgwGatewayEventDeltaCnt_ = 0;
        bitField0_ = (bitField0_ & ~0x04000000);
        sgwDayLimit_ = 0;
        bitField0_ = (bitField0_ & ~0x08000000);
        isROESupported_ = false;
        bitField0_ = (bitField0_ & ~0x10000000);
        testToolDetectionTimeoutViaTU_ = 0;
        bitField0_ = (bitField0_ & ~0x20000000);
        testToolDetectionTimeoutViaApplication_ = 0;
        bitField0_ = (bitField0_ & ~0x40000000);
        minEngineRPMToScan_ = 0;
        bitField0_ = (bitField0_ & ~0x80000000);
        maxEngineRPMToScan_ = 0;
        bitField1_ = (bitField1_ & ~0x00000001);
        minVehicleSpeedToScan_ = 0;
        bitField1_ = (bitField1_ & ~0x00000002);
        maxVehicleSpeedToScan_ = 0;
        bitField1_ = (bitField1_ & ~0x00000004);
        uploadDayOfMonth_ = 0;
        bitField1_ = (bitField1_ & ~0x00000008);
        uploadTimestamp_ = 0L;
        bitField1_ = (bitField1_ & ~0x00000010);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_SQDFSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings(this);
        int from_bitField0_ = bitField0_;
        int from_bitField1_ = bitField1_;
        int to_bitField0_ = 0;
        int to_bitField1_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isEnabled_ = isEnabled_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.isVRCUploadEnabled_ = isVRCUploadEnabled_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isDTCUploadEnabled_ = isDTCUploadEnabled_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.isGCDUploadEnabled_ = isGCDUploadEnabled_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.isMTRUploadEnabled_ = isMTRUploadEnabled_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.isSGWUploadEnabled_ = isSGWUploadEnabled_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.isQuickScanEnabled_ = isQuickScanEnabled_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.quickScanECURetryCnt_ = quickScanECURetryCnt_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.isDTCScanEnabled_ = isDTCScanEnabled_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.dtcScanECURetryCnt_ = dtcScanECURetryCnt_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.isGCDEnabled_ = isGCDEnabled_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.isHistogramEnabled_ = isHistogramEnabled_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.isDatalogShortEnabled_ = isDatalogShortEnabled_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.gcdTriggerEventLimit_ = gcdTriggerEventLimit_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.sensorCalibrationTime_ = sensorCalibrationTime_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.maxPendingUploads_ = maxPendingUploads_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.isGPSPrivacyEnabled_ = isGPSPrivacyEnabled_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.mtrTriggerEventLimit_ = mtrTriggerEventLimit_;
        if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.quickScanPeriod_ = quickScanPeriod_;
        if (((from_bitField0_ & 0x00080000) == 0x00080000)) {
          to_bitField0_ |= 0x00080000;
        }
        result.diagnosticRequestRate_ = diagnosticRequestRate_;
        if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
          to_bitField0_ |= 0x00100000;
        }
        result.dtcUploadPerECU_ = dtcUploadPerECU_;
        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
          to_bitField0_ |= 0x00200000;
        }
        result.dtcUploadEventLimit_ = dtcUploadEventLimit_;
        if (((from_bitField0_ & 0x00400000) == 0x00400000)) {
          to_bitField0_ |= 0x00400000;
        }
        result.dtcUploadEventLimitPeriod_ = dtcUploadEventLimitPeriod_;
        if (((from_bitField0_ & 0x00800000) == 0x00800000)) {
          to_bitField0_ |= 0x00800000;
        }
        result.dtcUploadEventLimitExpire_ = dtcUploadEventLimitExpire_;
        if (((from_bitField0_ & 0x01000000) == 0x01000000)) {
          to_bitField0_ |= 0x01000000;
        }
        result.uploadInterval_ = uploadInterval_;
        if (((from_bitField0_ & 0x02000000) == 0x02000000)) {
          to_bitField0_ |= 0x02000000;
        }
        result.sgwIDSEventDeltaCnt_ = sgwIDSEventDeltaCnt_;
        if (((from_bitField0_ & 0x04000000) == 0x04000000)) {
          to_bitField0_ |= 0x04000000;
        }
        result.sgwGatewayEventDeltaCnt_ = sgwGatewayEventDeltaCnt_;
        if (((from_bitField0_ & 0x08000000) == 0x08000000)) {
          to_bitField0_ |= 0x08000000;
        }
        result.sgwDayLimit_ = sgwDayLimit_;
        if (((from_bitField0_ & 0x10000000) == 0x10000000)) {
          to_bitField0_ |= 0x10000000;
        }
        result.isROESupported_ = isROESupported_;
        if (((from_bitField0_ & 0x20000000) == 0x20000000)) {
          to_bitField0_ |= 0x20000000;
        }
        result.testToolDetectionTimeoutViaTU_ = testToolDetectionTimeoutViaTU_;
        if (((from_bitField0_ & 0x40000000) == 0x40000000)) {
          to_bitField0_ |= 0x40000000;
        }
        result.testToolDetectionTimeoutViaApplication_ = testToolDetectionTimeoutViaApplication_;
        if (((from_bitField0_ & 0x80000000) == 0x80000000)) {
          to_bitField0_ |= 0x80000000;
        }
        result.minEngineRPMToScan_ = minEngineRPMToScan_;
        if (((from_bitField1_ & 0x00000001) == 0x00000001)) {
          to_bitField1_ |= 0x00000001;
        }
        result.maxEngineRPMToScan_ = maxEngineRPMToScan_;
        if (((from_bitField1_ & 0x00000002) == 0x00000002)) {
          to_bitField1_ |= 0x00000002;
        }
        result.minVehicleSpeedToScan_ = minVehicleSpeedToScan_;
        if (((from_bitField1_ & 0x00000004) == 0x00000004)) {
          to_bitField1_ |= 0x00000004;
        }
        result.maxVehicleSpeedToScan_ = maxVehicleSpeedToScan_;
        if (((from_bitField1_ & 0x00000008) == 0x00000008)) {
          to_bitField1_ |= 0x00000008;
        }
        result.uploadDayOfMonth_ = uploadDayOfMonth_;
        if (((from_bitField1_ & 0x00000010) == 0x00000010)) {
          to_bitField1_ |= 0x00000010;
        }
        result.uploadTimestamp_ = uploadTimestamp_;
        result.bitField0_ = to_bitField0_;
        result.bitField1_ = to_bitField1_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.getDefaultInstance()) return this;
        if (other.hasIsEnabled()) {
          setIsEnabled(other.getIsEnabled());
        }
        if (other.hasIsVRCUploadEnabled()) {
          setIsVRCUploadEnabled(other.getIsVRCUploadEnabled());
        }
        if (other.hasIsDTCUploadEnabled()) {
          setIsDTCUploadEnabled(other.getIsDTCUploadEnabled());
        }
        if (other.hasIsGCDUploadEnabled()) {
          setIsGCDUploadEnabled(other.getIsGCDUploadEnabled());
        }
        if (other.hasIsMTRUploadEnabled()) {
          setIsMTRUploadEnabled(other.getIsMTRUploadEnabled());
        }
        if (other.hasIsSGWUploadEnabled()) {
          setIsSGWUploadEnabled(other.getIsSGWUploadEnabled());
        }
        if (other.hasIsQuickScanEnabled()) {
          setIsQuickScanEnabled(other.getIsQuickScanEnabled());
        }
        if (other.hasQuickScanECURetryCnt()) {
          setQuickScanECURetryCnt(other.getQuickScanECURetryCnt());
        }
        if (other.hasIsDTCScanEnabled()) {
          setIsDTCScanEnabled(other.getIsDTCScanEnabled());
        }
        if (other.hasDtcScanECURetryCnt()) {
          setDtcScanECURetryCnt(other.getDtcScanECURetryCnt());
        }
        if (other.hasIsGCDEnabled()) {
          setIsGCDEnabled(other.getIsGCDEnabled());
        }
        if (other.hasIsHistogramEnabled()) {
          setIsHistogramEnabled(other.getIsHistogramEnabled());
        }
        if (other.hasIsDatalogShortEnabled()) {
          setIsDatalogShortEnabled(other.getIsDatalogShortEnabled());
        }
        if (other.hasGcdTriggerEventLimit()) {
          setGcdTriggerEventLimit(other.getGcdTriggerEventLimit());
        }
        if (other.hasSensorCalibrationTime()) {
          setSensorCalibrationTime(other.getSensorCalibrationTime());
        }
        if (other.hasMaxPendingUploads()) {
          setMaxPendingUploads(other.getMaxPendingUploads());
        }
        if (other.hasIsGPSPrivacyEnabled()) {
          setIsGPSPrivacyEnabled(other.getIsGPSPrivacyEnabled());
        }
        if (other.hasMtrTriggerEventLimit()) {
          setMtrTriggerEventLimit(other.getMtrTriggerEventLimit());
        }
        if (other.hasQuickScanPeriod()) {
          setQuickScanPeriod(other.getQuickScanPeriod());
        }
        if (other.hasDiagnosticRequestRate()) {
          setDiagnosticRequestRate(other.getDiagnosticRequestRate());
        }
        if (other.hasDtcUploadPerECU()) {
          setDtcUploadPerECU(other.getDtcUploadPerECU());
        }
        if (other.hasDtcUploadEventLimit()) {
          setDtcUploadEventLimit(other.getDtcUploadEventLimit());
        }
        if (other.hasDtcUploadEventLimitPeriod()) {
          setDtcUploadEventLimitPeriod(other.getDtcUploadEventLimitPeriod());
        }
        if (other.hasDtcUploadEventLimitExpire()) {
          setDtcUploadEventLimitExpire(other.getDtcUploadEventLimitExpire());
        }
        if (other.hasUploadInterval()) {
          setUploadInterval(other.getUploadInterval());
        }
        if (other.hasSgwIDSEventDeltaCnt()) {
          setSgwIDSEventDeltaCnt(other.getSgwIDSEventDeltaCnt());
        }
        if (other.hasSgwGatewayEventDeltaCnt()) {
          setSgwGatewayEventDeltaCnt(other.getSgwGatewayEventDeltaCnt());
        }
        if (other.hasSgwDayLimit()) {
          setSgwDayLimit(other.getSgwDayLimit());
        }
        if (other.hasIsROESupported()) {
          setIsROESupported(other.getIsROESupported());
        }
        if (other.hasTestToolDetectionTimeoutViaTU()) {
          setTestToolDetectionTimeoutViaTU(other.getTestToolDetectionTimeoutViaTU());
        }
        if (other.hasTestToolDetectionTimeoutViaApplication()) {
          setTestToolDetectionTimeoutViaApplication(other.getTestToolDetectionTimeoutViaApplication());
        }
        if (other.hasMinEngineRPMToScan()) {
          setMinEngineRPMToScan(other.getMinEngineRPMToScan());
        }
        if (other.hasMaxEngineRPMToScan()) {
          setMaxEngineRPMToScan(other.getMaxEngineRPMToScan());
        }
        if (other.hasMinVehicleSpeedToScan()) {
          setMinVehicleSpeedToScan(other.getMinVehicleSpeedToScan());
        }
        if (other.hasMaxVehicleSpeedToScan()) {
          setMaxVehicleSpeedToScan(other.getMaxVehicleSpeedToScan());
        }
        if (other.hasUploadDayOfMonth()) {
          setUploadDayOfMonth(other.getUploadDayOfMonth());
        }
        if (other.hasUploadTimestamp()) {
          setUploadTimestamp(other.getUploadTimestamp());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private int bitField1_;

      private boolean isEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates if SQDF feature enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public boolean hasIsEnabled() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;Indicates if SQDF feature enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public boolean getIsEnabled() {
        return isEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates if SQDF feature enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public Builder setIsEnabled(boolean value) {
        bitField0_ |= 0x00000001;
        isEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if SQDF feature enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 1;</code>
       */
      public Builder clearIsEnabled() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isVRCUploadEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates if Vehicle Health Report upload enabled.
       * </pre>
       *
       * <code>optional bool isVRCUploadEnabled = 2;</code>
       */
      public boolean hasIsVRCUploadEnabled() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47;Indicates if Vehicle Health Report upload enabled.
       * </pre>
       *
       * <code>optional bool isVRCUploadEnabled = 2;</code>
       */
      public boolean getIsVRCUploadEnabled() {
        return isVRCUploadEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates if Vehicle Health Report upload enabled.
       * </pre>
       *
       * <code>optional bool isVRCUploadEnabled = 2;</code>
       */
      public Builder setIsVRCUploadEnabled(boolean value) {
        bitField0_ |= 0x00000002;
        isVRCUploadEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if Vehicle Health Report upload enabled.
       * </pre>
       *
       * <code>optional bool isVRCUploadEnabled = 2;</code>
       */
      public Builder clearIsVRCUploadEnabled() {
        bitField0_ = (bitField0_ & ~0x00000002);
        isVRCUploadEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isDTCUploadEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates if Diagnostic Trouble Code upload enabled.
       * </pre>
       *
       * <code>optional bool isDTCUploadEnabled = 3;</code>
       */
      public boolean hasIsDTCUploadEnabled() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47;Indicates if Diagnostic Trouble Code upload enabled.
       * </pre>
       *
       * <code>optional bool isDTCUploadEnabled = 3;</code>
       */
      public boolean getIsDTCUploadEnabled() {
        return isDTCUploadEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates if Diagnostic Trouble Code upload enabled.
       * </pre>
       *
       * <code>optional bool isDTCUploadEnabled = 3;</code>
       */
      public Builder setIsDTCUploadEnabled(boolean value) {
        bitField0_ |= 0x00000004;
        isDTCUploadEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if Diagnostic Trouble Code upload enabled.
       * </pre>
       *
       * <code>optional bool isDTCUploadEnabled = 3;</code>
       */
      public Builder clearIsDTCUploadEnabled() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isDTCUploadEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isGCDUploadEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates if Generic Car Data upload enabled.
       * </pre>
       *
       * <code>optional bool isGCDUploadEnabled = 4;</code>
       */
      public boolean hasIsGCDUploadEnabled() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47;Indicates if Generic Car Data upload enabled.
       * </pre>
       *
       * <code>optional bool isGCDUploadEnabled = 4;</code>
       */
      public boolean getIsGCDUploadEnabled() {
        return isGCDUploadEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates if Generic Car Data upload enabled.
       * </pre>
       *
       * <code>optional bool isGCDUploadEnabled = 4;</code>
       */
      public Builder setIsGCDUploadEnabled(boolean value) {
        bitField0_ |= 0x00000008;
        isGCDUploadEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if Generic Car Data upload enabled.
       * </pre>
       *
       * <code>optional bool isGCDUploadEnabled = 4;</code>
       */
      public Builder clearIsGCDUploadEnabled() {
        bitField0_ = (bitField0_ & ~0x00000008);
        isGCDUploadEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isMTRUploadEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
       * </pre>
       *
       * <code>optional bool isMTRUploadEnabled = 5;</code>
       */
      public boolean hasIsMTRUploadEnabled() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
       * </pre>
       *
       * <code>optional bool isMTRUploadEnabled = 5;</code>
       */
      public boolean getIsMTRUploadEnabled() {
        return isMTRUploadEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
       * </pre>
       *
       * <code>optional bool isMTRUploadEnabled = 5;</code>
       */
      public Builder setIsMTRUploadEnabled(boolean value) {
        bitField0_ |= 0x00000010;
        isMTRUploadEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if Manual Trigger upload (Programmable Trigger Event) enabled.
       * </pre>
       *
       * <code>optional bool isMTRUploadEnabled = 5;</code>
       */
      public Builder clearIsMTRUploadEnabled() {
        bitField0_ = (bitField0_ & ~0x00000010);
        isMTRUploadEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isSGWUploadEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates if Security Gateway upload enabled.
       * </pre>
       *
       * <code>optional bool isSGWUploadEnabled = 6;</code>
       */
      public boolean hasIsSGWUploadEnabled() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; Indicates if Security Gateway upload enabled.
       * </pre>
       *
       * <code>optional bool isSGWUploadEnabled = 6;</code>
       */
      public boolean getIsSGWUploadEnabled() {
        return isSGWUploadEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates if Security Gateway upload enabled.
       * </pre>
       *
       * <code>optional bool isSGWUploadEnabled = 6;</code>
       */
      public Builder setIsSGWUploadEnabled(boolean value) {
        bitField0_ |= 0x00000020;
        isSGWUploadEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates if Security Gateway upload enabled.
       * </pre>
       *
       * <code>optional bool isSGWUploadEnabled = 6;</code>
       */
      public Builder clearIsSGWUploadEnabled() {
        bitField0_ = (bitField0_ & ~0x00000020);
        isSGWUploadEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isQuickScanEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates if QuickScan enabled
       * </pre>
       *
       * <code>optional bool isQuickScanEnabled = 7;</code>
       */
      public boolean hasIsQuickScanEnabled() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; Indicates if QuickScan enabled
       * </pre>
       *
       * <code>optional bool isQuickScanEnabled = 7;</code>
       */
      public boolean getIsQuickScanEnabled() {
        return isQuickScanEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates if QuickScan enabled
       * </pre>
       *
       * <code>optional bool isQuickScanEnabled = 7;</code>
       */
      public Builder setIsQuickScanEnabled(boolean value) {
        bitField0_ |= 0x00000040;
        isQuickScanEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates if QuickScan enabled
       * </pre>
       *
       * <code>optional bool isQuickScanEnabled = 7;</code>
       */
      public Builder clearIsQuickScanEnabled() {
        bitField0_ = (bitField0_ & ~0x00000040);
        isQuickScanEnabled_ = false;
        onChanged();
        return this;
      }

      private int quickScanECURetryCnt_ ;
      /**
       * <pre>
       *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 quickScanECURetryCnt = 8;</code>
       */
      public boolean hasQuickScanECURetryCnt() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <pre>
       *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 quickScanECURetryCnt = 8;</code>
       */
      public int getQuickScanECURetryCnt() {
        return quickScanECURetryCnt_;
      }
      /**
       * <pre>
       *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 quickScanECURetryCnt = 8;</code>
       */
      public Builder setQuickScanECURetryCnt(int value) {
        bitField0_ |= 0x00000080;
        quickScanECURetryCnt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 quickScanECURetryCnt = 8;</code>
       */
      public Builder clearQuickScanECURetryCnt() {
        bitField0_ = (bitField0_ & ~0x00000080);
        quickScanECURetryCnt_ = 0;
        onChanged();
        return this;
      }

      private boolean isDTCScanEnabled_ ;
      /**
       * <pre>
       *&#47;bool Indicates if DTCScan is enabled.
       * </pre>
       *
       * <code>optional bool isDTCScanEnabled = 9;</code>
       */
      public boolean hasIsDTCScanEnabled() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <pre>
       *&#47;bool Indicates if DTCScan is enabled.
       * </pre>
       *
       * <code>optional bool isDTCScanEnabled = 9;</code>
       */
      public boolean getIsDTCScanEnabled() {
        return isDTCScanEnabled_;
      }
      /**
       * <pre>
       *&#47;bool Indicates if DTCScan is enabled.
       * </pre>
       *
       * <code>optional bool isDTCScanEnabled = 9;</code>
       */
      public Builder setIsDTCScanEnabled(boolean value) {
        bitField0_ |= 0x00000100;
        isDTCScanEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;bool Indicates if DTCScan is enabled.
       * </pre>
       *
       * <code>optional bool isDTCScanEnabled = 9;</code>
       */
      public Builder clearIsDTCScanEnabled() {
        bitField0_ = (bitField0_ & ~0x00000100);
        isDTCScanEnabled_ = false;
        onChanged();
        return this;
      }

      private int dtcScanECURetryCnt_ ;
      /**
       * <pre>
       *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 dtcScanECURetryCnt = 10;</code>
       */
      public boolean hasDtcScanECURetryCnt() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <pre>
       *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 dtcScanECURetryCnt = 10;</code>
       */
      public int getDtcScanECURetryCnt() {
        return dtcScanECURetryCnt_;
      }
      /**
       * <pre>
       *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 dtcScanECURetryCnt = 10;</code>
       */
      public Builder setDtcScanECURetryCnt(int value) {
        bitField0_ |= 0x00000200;
        dtcScanECURetryCnt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;int32 Indicates the retry count to scan an ECU when a failure occurs.  Typically 3 retries.
       * </pre>
       *
       * <code>optional int32 dtcScanECURetryCnt = 10;</code>
       */
      public Builder clearDtcScanECURetryCnt() {
        bitField0_ = (bitField0_ & ~0x00000200);
        dtcScanECURetryCnt_ = 0;
        onChanged();
        return this;
      }

      private boolean isGCDEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates if Generic Car Data is enabled.
       * </pre>
       *
       * <code>optional bool isGCDEnabled = 11;</code>
       */
      public boolean hasIsGCDEnabled() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <pre>
       *&#47; Indicates if Generic Car Data is enabled.
       * </pre>
       *
       * <code>optional bool isGCDEnabled = 11;</code>
       */
      public boolean getIsGCDEnabled() {
        return isGCDEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates if Generic Car Data is enabled.
       * </pre>
       *
       * <code>optional bool isGCDEnabled = 11;</code>
       */
      public Builder setIsGCDEnabled(boolean value) {
        bitField0_ |= 0x00000400;
        isGCDEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates if Generic Car Data is enabled.
       * </pre>
       *
       * <code>optional bool isGCDEnabled = 11;</code>
       */
      public Builder clearIsGCDEnabled() {
        bitField0_ = (bitField0_ & ~0x00000400);
        isGCDEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isHistogramEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates if Histogram is enabled.
       * </pre>
       *
       * <code>optional bool isHistogramEnabled = 12;</code>
       */
      public boolean hasIsHistogramEnabled() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <pre>
       *&#47; Indicates if Histogram is enabled.
       * </pre>
       *
       * <code>optional bool isHistogramEnabled = 12;</code>
       */
      public boolean getIsHistogramEnabled() {
        return isHistogramEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates if Histogram is enabled.
       * </pre>
       *
       * <code>optional bool isHistogramEnabled = 12;</code>
       */
      public Builder setIsHistogramEnabled(boolean value) {
        bitField0_ |= 0x00000800;
        isHistogramEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates if Histogram is enabled.
       * </pre>
       *
       * <code>optional bool isHistogramEnabled = 12;</code>
       */
      public Builder clearIsHistogramEnabled() {
        bitField0_ = (bitField0_ & ~0x00000800);
        isHistogramEnabled_ = false;
        onChanged();
        return this;
      }

      private boolean isDatalogShortEnabled_ ;
      /**
       * <pre>
       *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
       * </pre>
       *
       * <code>optional bool isDatalogShortEnabled = 13;</code>
       */
      public boolean hasIsDatalogShortEnabled() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <pre>
       *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
       * </pre>
       *
       * <code>optional bool isDatalogShortEnabled = 13;</code>
       */
      public boolean getIsDatalogShortEnabled() {
        return isDatalogShortEnabled_;
      }
      /**
       * <pre>
       *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
       * </pre>
       *
       * <code>optional bool isDatalogShortEnabled = 13;</code>
       */
      public Builder setIsDatalogShortEnabled(boolean value) {
        bitField0_ |= 0x00001000;
        isDatalogShortEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Indicates if Datalog Short (rolling buffer) is enabled.
       * </pre>
       *
       * <code>optional bool isDatalogShortEnabled = 13;</code>
       */
      public Builder clearIsDatalogShortEnabled() {
        bitField0_ = (bitField0_ & ~0x00001000);
        isDatalogShortEnabled_ = false;
        onChanged();
        return this;
      }

      private int gcdTriggerEventLimit_ ;
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
       * </pre>
       *
       * <code>optional int32 gcdTriggerEventLimit = 14;</code>
       */
      public boolean hasGcdTriggerEventLimit() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
       * </pre>
       *
       * <code>optional int32 gcdTriggerEventLimit = 14;</code>
       */
      public int getGcdTriggerEventLimit() {
        return gcdTriggerEventLimit_;
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
       * </pre>
       *
       * <code>optional int32 gcdTriggerEventLimit = 14;</code>
       */
      public Builder setGcdTriggerEventLimit(int value) {
        bitField0_ |= 0x00002000;
        gcdTriggerEventLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per day cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 15)
       * </pre>
       *
       * <code>optional int32 gcdTriggerEventLimit = 14;</code>
       */
      public Builder clearGcdTriggerEventLimit() {
        bitField0_ = (bitField0_ & ~0x00002000);
        gcdTriggerEventLimit_ = 0;
        onChanged();
        return this;
      }

      private int sensorCalibrationTime_ ;
      /**
       * <pre>
       *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
       * </pre>
       *
       * <code>optional int32 sensorCalibrationTime = 15;</code>
       */
      public boolean hasSensorCalibrationTime() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * <pre>
       *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
       * </pre>
       *
       * <code>optional int32 sensorCalibrationTime = 15;</code>
       */
      public int getSensorCalibrationTime() {
        return sensorCalibrationTime_;
      }
      /**
       * <pre>
       *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
       * </pre>
       *
       * <code>optional int32 sensorCalibrationTime = 15;</code>
       */
      public Builder setSensorCalibrationTime(int value) {
        bitField0_ |= 0x00004000;
        sensorCalibrationTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;The time delay (in seconds) before any sensors are read. (min = 0, max = 120)
       * </pre>
       *
       * <code>optional int32 sensorCalibrationTime = 15;</code>
       */
      public Builder clearSensorCalibrationTime() {
        bitField0_ = (bitField0_ & ~0x00004000);
        sensorCalibrationTime_ = 0;
        onChanged();
        return this;
      }

      private int maxPendingUploads_ ;
      /**
       * <pre>
       *&#47;Max number of pending uploads (min = 0 , max = 10)
       * </pre>
       *
       * <code>optional int32 maxPendingUploads = 16;</code>
       */
      public boolean hasMaxPendingUploads() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * <pre>
       *&#47;Max number of pending uploads (min = 0 , max = 10)
       * </pre>
       *
       * <code>optional int32 maxPendingUploads = 16;</code>
       */
      public int getMaxPendingUploads() {
        return maxPendingUploads_;
      }
      /**
       * <pre>
       *&#47;Max number of pending uploads (min = 0 , max = 10)
       * </pre>
       *
       * <code>optional int32 maxPendingUploads = 16;</code>
       */
      public Builder setMaxPendingUploads(int value) {
        bitField0_ |= 0x00008000;
        maxPendingUploads_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Max number of pending uploads (min = 0 , max = 10)
       * </pre>
       *
       * <code>optional int32 maxPendingUploads = 16;</code>
       */
      public Builder clearMaxPendingUploads() {
        bitField0_ = (bitField0_ & ~0x00008000);
        maxPendingUploads_ = 0;
        onChanged();
        return this;
      }

      private boolean isGPSPrivacyEnabled_ ;
      /**
       * <pre>
       *&#47;Indicates the GPS location privacy is included in uploads.
       * </pre>
       *
       * <code>optional bool isGPSPrivacyEnabled = 17;</code>
       */
      public boolean hasIsGPSPrivacyEnabled() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * <pre>
       *&#47;Indicates the GPS location privacy is included in uploads.
       * </pre>
       *
       * <code>optional bool isGPSPrivacyEnabled = 17;</code>
       */
      public boolean getIsGPSPrivacyEnabled() {
        return isGPSPrivacyEnabled_;
      }
      /**
       * <pre>
       *&#47;Indicates the GPS location privacy is included in uploads.
       * </pre>
       *
       * <code>optional bool isGPSPrivacyEnabled = 17;</code>
       */
      public Builder setIsGPSPrivacyEnabled(boolean value) {
        bitField0_ |= 0x00010000;
        isGPSPrivacyEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates the GPS location privacy is included in uploads.
       * </pre>
       *
       * <code>optional bool isGPSPrivacyEnabled = 17;</code>
       */
      public Builder clearIsGPSPrivacyEnabled() {
        bitField0_ = (bitField0_ & ~0x00010000);
        isGPSPrivacyEnabled_ = false;
        onChanged();
        return this;
      }

      private int mtrTriggerEventLimit_ ;
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
       * </pre>
       *
       * <code>optional int32 mtrTriggerEventLimit = 18;</code>
       */
      public boolean hasMtrTriggerEventLimit() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
       * </pre>
       *
       * <code>optional int32 mtrTriggerEventLimit = 18;</code>
       */
      public int getMtrTriggerEventLimit() {
        return mtrTriggerEventLimit_;
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
       * </pre>
       *
       * <code>optional int32 mtrTriggerEventLimit = 18;</code>
       */
      public Builder setMtrTriggerEventLimit(int value) {
        bitField0_ |= 0x00020000;
        mtrTriggerEventLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;The limit on number of Generic Car Data trigger events allowed per ignition cycle, defined in events. Value 0 means unlimited trigger events (min = 0, max = 5)
       * </pre>
       *
       * <code>optional int32 mtrTriggerEventLimit = 18;</code>
       */
      public Builder clearMtrTriggerEventLimit() {
        bitField0_ = (bitField0_ & ~0x00020000);
        mtrTriggerEventLimit_ = 0;
        onChanged();
        return this;
      }

      private int quickScanPeriod_ ;
      /**
       * <pre>
       *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
       * </pre>
       *
       * <code>optional int32 quickScanPeriod = 19;</code>
       */
      public boolean hasQuickScanPeriod() {
        return ((bitField0_ & 0x00040000) == 0x00040000);
      }
      /**
       * <pre>
       *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
       * </pre>
       *
       * <code>optional int32 quickScanPeriod = 19;</code>
       */
      public int getQuickScanPeriod() {
        return quickScanPeriod_;
      }
      /**
       * <pre>
       *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
       * </pre>
       *
       * <code>optional int32 quickScanPeriod = 19;</code>
       */
      public Builder setQuickScanPeriod(int value) {
        bitField0_ |= 0x00040000;
        quickScanPeriod_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Scanning period for Quick scan , defined in hours. Value 0 means "never" (min = 0, max = 72)
       * </pre>
       *
       * <code>optional int32 quickScanPeriod = 19;</code>
       */
      public Builder clearQuickScanPeriod() {
        bitField0_ = (bitField0_ & ~0x00040000);
        quickScanPeriod_ = 0;
        onChanged();
        return this;
      }

      private int diagnosticRequestRate_ ;
      /**
       * <pre>
       *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 diagnosticRequestRate = 21;</code>
       */
      public boolean hasDiagnosticRequestRate() {
        return ((bitField0_ & 0x00080000) == 0x00080000);
      }
      /**
       * <pre>
       *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 diagnosticRequestRate = 21;</code>
       */
      public int getDiagnosticRequestRate() {
        return diagnosticRequestRate_;
      }
      /**
       * <pre>
       *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 diagnosticRequestRate = 21;</code>
       */
      public Builder setDiagnosticRequestRate(int value) {
        bitField0_ |= 0x00080000;
        diagnosticRequestRate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Diagnostic Tx request rate, defined in seconds (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 diagnosticRequestRate = 21;</code>
       */
      public Builder clearDiagnosticRequestRate() {
        bitField0_ = (bitField0_ & ~0x00080000);
        diagnosticRequestRate_ = 0;
        onChanged();
        return this;
      }

      private int dtcUploadPerECU_ ;
      /**
       * <pre>
       *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadPerECU = 22;</code>
       */
      public boolean hasDtcUploadPerECU() {
        return ((bitField0_ & 0x00100000) == 0x00100000);
      }
      /**
       * <pre>
       *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadPerECU = 22;</code>
       */
      public int getDtcUploadPerECU() {
        return dtcUploadPerECU_;
      }
      /**
       * <pre>
       *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadPerECU = 22;</code>
       */
      public Builder setDtcUploadPerECU(int value) {
        bitField0_ |= 0x00100000;
        dtcUploadPerECU_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Number of DTC upload per ECU for an ignition cycle.Value 0 means "unlimited" (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadPerECU = 22;</code>
       */
      public Builder clearDtcUploadPerECU() {
        bitField0_ = (bitField0_ & ~0x00100000);
        dtcUploadPerECU_ = 0;
        onChanged();
        return this;
      }

      private int dtcUploadEventLimit_ ;
      /**
       * <pre>
       *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimit = 23;</code>
       */
      public boolean hasDtcUploadEventLimit() {
        return ((bitField0_ & 0x00200000) == 0x00200000);
      }
      /**
       * <pre>
       *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimit = 23;</code>
       */
      public int getDtcUploadEventLimit() {
        return dtcUploadEventLimit_;
      }
      /**
       * <pre>
       *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimit = 23;</code>
       */
      public Builder setDtcUploadEventLimit(int value) {
        bitField0_ |= 0x00200000;
        dtcUploadEventLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Number of status changes until DTC is added to the MASK filter for DTC trigger events.(min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimit = 23;</code>
       */
      public Builder clearDtcUploadEventLimit() {
        bitField0_ = (bitField0_ & ~0x00200000);
        dtcUploadEventLimit_ = 0;
        onChanged();
        return this;
      }

      private int dtcUploadEventLimitPeriod_ ;
      /**
       * <pre>
       *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
       */
      public boolean hasDtcUploadEventLimitPeriod() {
        return ((bitField0_ & 0x00400000) == 0x00400000);
      }
      /**
       * <pre>
       *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
       */
      public int getDtcUploadEventLimitPeriod() {
        return dtcUploadEventLimitPeriod_;
      }
      /**
       * <pre>
       *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
       */
      public Builder setDtcUploadEventLimitPeriod(int value) {
        bitField0_ |= 0x00400000;
        dtcUploadEventLimitPeriod_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Number of days the DTC will be in the Mask filter,defined in Days. Value 0 means “unlimited” (min = 0 , max = 60)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitPeriod = 24;</code>
       */
      public Builder clearDtcUploadEventLimitPeriod() {
        bitField0_ = (bitField0_ & ~0x00400000);
        dtcUploadEventLimitPeriod_ = 0;
        onChanged();
        return this;
      }

      private int dtcUploadEventLimitExpire_ ;
      /**
       * <pre>
       *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
       */
      public boolean hasDtcUploadEventLimitExpire() {
        return ((bitField0_ & 0x00800000) == 0x00800000);
      }
      /**
       * <pre>
       *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
       */
      public int getDtcUploadEventLimitExpire() {
        return dtcUploadEventLimitExpire_;
      }
      /**
       * <pre>
       *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
       */
      public Builder setDtcUploadEventLimitExpire(int value) {
        bitField0_ |= 0x00800000;
        dtcUploadEventLimitExpire_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Monthly expire time from the actual date to not perform an upload,defined in Days. Value 0 means no expired limit (min = 0, max = 28)
       * </pre>
       *
       * <code>optional int32 dtcUploadEventLimitExpire = 25;</code>
       */
      public Builder clearDtcUploadEventLimitExpire() {
        bitField0_ = (bitField0_ & ~0x00800000);
        dtcUploadEventLimitExpire_ = 0;
        onChanged();
        return this;
      }

      private int uploadInterval_ = 0;
      /**
       * <pre>
       *&#47;Monthly cadiance for upload.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
       */
      public boolean hasUploadInterval() {
        return ((bitField0_ & 0x01000000) == 0x01000000);
      }
      /**
       * <pre>
       *&#47;Monthly cadiance for upload.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum getUploadInterval() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum.valueOf(uploadInterval_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum.NO_TEST : result;
      }
      /**
       * <pre>
       *&#47;Monthly cadiance for upload.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
       */
      public Builder setUploadInterval(com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings.UploadIntervalEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x01000000;
        uploadInterval_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Monthly cadiance for upload.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFSettings.UploadIntervalEnum uploadInterval = 26;</code>
       */
      public Builder clearUploadInterval() {
        bitField0_ = (bitField0_ & ~0x01000000);
        uploadInterval_ = 0;
        onChanged();
        return this;
      }

      private int sgwIDSEventDeltaCnt_ ;
      /**
       * <pre>
       *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
       */
      public boolean hasSgwIDSEventDeltaCnt() {
        return ((bitField0_ & 0x02000000) == 0x02000000);
      }
      /**
       * <pre>
       *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
       */
      public int getSgwIDSEventDeltaCnt() {
        return sgwIDSEventDeltaCnt_;
      }
      /**
       * <pre>
       *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
       */
      public Builder setSgwIDSEventDeltaCnt(int value) {
        bitField0_ |= 0x02000000;
        sgwIDSEventDeltaCnt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; This is the Event Counter delta which will determine if IDS logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwIDSEventDeltaCnt = 27;</code>
       */
      public Builder clearSgwIDSEventDeltaCnt() {
        bitField0_ = (bitField0_ & ~0x02000000);
        sgwIDSEventDeltaCnt_ = 0;
        onChanged();
        return this;
      }

      private int sgwGatewayEventDeltaCnt_ ;
      /**
       * <pre>
       *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
       */
      public boolean hasSgwGatewayEventDeltaCnt() {
        return ((bitField0_ & 0x04000000) == 0x04000000);
      }
      /**
       * <pre>
       *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
       */
      public int getSgwGatewayEventDeltaCnt() {
        return sgwGatewayEventDeltaCnt_;
      }
      /**
       * <pre>
       *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
       */
      public Builder setSgwGatewayEventDeltaCnt(int value) {
        bitField0_ |= 0x04000000;
        sgwGatewayEventDeltaCnt_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;This is the Event Counter delta which will determine if Gateway logs need to be captured. Defined in events, Value 0 means feature is not turned on for capturing logs. (min = 0, max = 20)
       * </pre>
       *
       * <code>optional int32 sgwGatewayEventDeltaCnt = 28;</code>
       */
      public Builder clearSgwGatewayEventDeltaCnt() {
        bitField0_ = (bitField0_ & ~0x04000000);
        sgwGatewayEventDeltaCnt_ = 0;
        onChanged();
        return this;
      }

      private int sgwDayLimit_ ;
      /**
       * <pre>
       *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
       * </pre>
       *
       * <code>optional int32 sgwDayLimit = 29;</code>
       */
      public boolean hasSgwDayLimit() {
        return ((bitField0_ & 0x08000000) == 0x08000000);
      }
      /**
       * <pre>
       *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
       * </pre>
       *
       * <code>optional int32 sgwDayLimit = 29;</code>
       */
      public int getSgwDayLimit() {
        return sgwDayLimit_;
      }
      /**
       * <pre>
       *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
       * </pre>
       *
       * <code>optional int32 sgwDayLimit = 29;</code>
       */
      public Builder setSgwDayLimit(int value) {
        bitField0_ |= 0x08000000;
        sgwDayLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Expire time from when the last event was uploaded and the Event Counter delta is greater than 0 but less than the delta which will determine if logs need to be captured. Defined in events, Value 0 means upload of logs will follow normal delta configuration and ignore Day expire. (min = 0 , max = 30)
       * </pre>
       *
       * <code>optional int32 sgwDayLimit = 29;</code>
       */
      public Builder clearSgwDayLimit() {
        bitField0_ = (bitField0_ & ~0x08000000);
        sgwDayLimit_ = 0;
        onChanged();
        return this;
      }

      private boolean isROESupported_ ;
      /**
       * <pre>
       *&#47;Indicates if Return On Event (ROE) is supported.
       * </pre>
       *
       * <code>optional bool isROESupported = 30;</code>
       */
      public boolean hasIsROESupported() {
        return ((bitField0_ & 0x10000000) == 0x10000000);
      }
      /**
       * <pre>
       *&#47;Indicates if Return On Event (ROE) is supported.
       * </pre>
       *
       * <code>optional bool isROESupported = 30;</code>
       */
      public boolean getIsROESupported() {
        return isROESupported_;
      }
      /**
       * <pre>
       *&#47;Indicates if Return On Event (ROE) is supported.
       * </pre>
       *
       * <code>optional bool isROESupported = 30;</code>
       */
      public Builder setIsROESupported(boolean value) {
        bitField0_ |= 0x10000000;
        isROESupported_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Indicates if Return On Event (ROE) is supported.
       * </pre>
       *
       * <code>optional bool isROESupported = 30;</code>
       */
      public Builder clearIsROESupported() {
        bitField0_ = (bitField0_ & ~0x10000000);
        isROESupported_ = false;
        onChanged();
        return this;
      }

      private int testToolDetectionTimeoutViaTU_ ;
      /**
       * <pre>
       *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
       */
      public boolean hasTestToolDetectionTimeoutViaTU() {
        return ((bitField0_ & 0x20000000) == 0x20000000);
      }
      /**
       * <pre>
       *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
       */
      public int getTestToolDetectionTimeoutViaTU() {
        return testToolDetectionTimeoutViaTU_;
      }
      /**
       * <pre>
       *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
       */
      public Builder setTestToolDetectionTimeoutViaTU(int value) {
        bitField0_ |= 0x20000000;
        testToolDetectionTimeoutViaTU_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Application wait time AFTER TU test tool present flag is set to false, Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 30)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaTU = 31;</code>
       */
      public Builder clearTestToolDetectionTimeoutViaTU() {
        bitField0_ = (bitField0_ & ~0x20000000);
        testToolDetectionTimeoutViaTU_ = 0;
        onChanged();
        return this;
      }

      private int testToolDetectionTimeoutViaApplication_ ;
      /**
       * <pre>
       *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
       */
      public boolean hasTestToolDetectionTimeoutViaApplication() {
        return ((bitField0_ & 0x40000000) == 0x40000000);
      }
      /**
       * <pre>
       *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
       */
      public int getTestToolDetectionTimeoutViaApplication() {
        return testToolDetectionTimeoutViaApplication_;
      }
      /**
       * <pre>
       *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
       */
      public Builder setTestToolDetectionTimeoutViaApplication(int value) {
        bitField0_ |= 0x40000000;
        testToolDetectionTimeoutViaApplication_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Application to wait after an unexpected diagnostic response is detected in SQDF , Value 0 means that scanning will resume in next ignition cycle. (min = 0, max = 255)
       * </pre>
       *
       * <code>optional int32 testToolDetectionTimeoutViaApplication = 32;</code>
       */
      public Builder clearTestToolDetectionTimeoutViaApplication() {
        bitField0_ = (bitField0_ & ~0x40000000);
        testToolDetectionTimeoutViaApplication_ = 0;
        onChanged();
        return this;
      }

      private int minEngineRPMToScan_ ;
      /**
       * <pre>
       *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
       * </pre>
       *
       * <code>optional int32 minEngineRPMToScan = 33;</code>
       */
      public boolean hasMinEngineRPMToScan() {
        return ((bitField0_ & 0x80000000) == 0x80000000);
      }
      /**
       * <pre>
       *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
       * </pre>
       *
       * <code>optional int32 minEngineRPMToScan = 33;</code>
       */
      public int getMinEngineRPMToScan() {
        return minEngineRPMToScan_;
      }
      /**
       * <pre>
       *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
       * </pre>
       *
       * <code>optional int32 minEngineRPMToScan = 33;</code>
       */
      public Builder setMinEngineRPMToScan(int value) {
        bitField0_ |= 0x80000000;
        minEngineRPMToScan_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Engine min RPM Speed attribute for SQDF to start scanning (min = 0)
       * </pre>
       *
       * <code>optional int32 minEngineRPMToScan = 33;</code>
       */
      public Builder clearMinEngineRPMToScan() {
        bitField0_ = (bitField0_ & ~0x80000000);
        minEngineRPMToScan_ = 0;
        onChanged();
        return this;
      }

      private int maxEngineRPMToScan_ ;
      /**
       * <pre>
       *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
       * </pre>
       *
       * <code>optional int32 maxEngineRPMToScan = 34;</code>
       */
      public boolean hasMaxEngineRPMToScan() {
        return ((bitField1_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
       * </pre>
       *
       * <code>optional int32 maxEngineRPMToScan = 34;</code>
       */
      public int getMaxEngineRPMToScan() {
        return maxEngineRPMToScan_;
      }
      /**
       * <pre>
       *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
       * </pre>
       *
       * <code>optional int32 maxEngineRPMToScan = 34;</code>
       */
      public Builder setMaxEngineRPMToScan(int value) {
        bitField1_ |= 0x00000001;
        maxEngineRPMToScan_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Engine max RPM Speed attribute for SQDF to start scanning ( max = 65500)
       * </pre>
       *
       * <code>optional int32 maxEngineRPMToScan = 34;</code>
       */
      public Builder clearMaxEngineRPMToScan() {
        bitField1_ = (bitField1_ & ~0x00000001);
        maxEngineRPMToScan_ = 0;
        onChanged();
        return this;
      }

      private int minVehicleSpeedToScan_ ;
      /**
       * <pre>
       *&#47;Minimun Vehicle Speed value for SQDF to start scanning
       * </pre>
       *
       * <code>optional int32 minVehicleSpeedToScan = 35;</code>
       */
      public boolean hasMinVehicleSpeedToScan() {
        return ((bitField1_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47;Minimun Vehicle Speed value for SQDF to start scanning
       * </pre>
       *
       * <code>optional int32 minVehicleSpeedToScan = 35;</code>
       */
      public int getMinVehicleSpeedToScan() {
        return minVehicleSpeedToScan_;
      }
      /**
       * <pre>
       *&#47;Minimun Vehicle Speed value for SQDF to start scanning
       * </pre>
       *
       * <code>optional int32 minVehicleSpeedToScan = 35;</code>
       */
      public Builder setMinVehicleSpeedToScan(int value) {
        bitField1_ |= 0x00000002;
        minVehicleSpeedToScan_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Minimun Vehicle Speed value for SQDF to start scanning
       * </pre>
       *
       * <code>optional int32 minVehicleSpeedToScan = 35;</code>
       */
      public Builder clearMinVehicleSpeedToScan() {
        bitField1_ = (bitField1_ & ~0x00000002);
        minVehicleSpeedToScan_ = 0;
        onChanged();
        return this;
      }

      private int maxVehicleSpeedToScan_ ;
      /**
       * <pre>
       *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
       */
      public boolean hasMaxVehicleSpeedToScan() {
        return ((bitField1_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
       */
      public int getMaxVehicleSpeedToScan() {
        return maxVehicleSpeedToScan_;
      }
      /**
       * <pre>
       *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
       */
      public Builder setMaxVehicleSpeedToScan(int value) {
        bitField1_ |= 0x00000004;
        maxVehicleSpeedToScan_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Maximun Vehicle Speed value for SQDF to start scanningoptional int32 scanningDelay = 20;///The delay time from vehicle ignition = RUN to the time SQDF starts any kind of scanning.Defined in minutes. (min = 0, max = 10)
       * </pre>
       *
       * <code>optional int32 maxVehicleSpeedToScan = 36;</code>
       */
      public Builder clearMaxVehicleSpeedToScan() {
        bitField1_ = (bitField1_ & ~0x00000004);
        maxVehicleSpeedToScan_ = 0;
        onChanged();
        return this;
      }

      private int uploadDayOfMonth_ ;
      /**
       * <pre>
       *&#47; Day Of Month for SQDF to upload data.
       * </pre>
       *
       * <code>optional int32 uploadDayOfMonth = 37;</code>
       */
      public boolean hasUploadDayOfMonth() {
        return ((bitField1_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; Day Of Month for SQDF to upload data.
       * </pre>
       *
       * <code>optional int32 uploadDayOfMonth = 37;</code>
       */
      public int getUploadDayOfMonth() {
        return uploadDayOfMonth_;
      }
      /**
       * <pre>
       *&#47; Day Of Month for SQDF to upload data.
       * </pre>
       *
       * <code>optional int32 uploadDayOfMonth = 37;</code>
       */
      public Builder setUploadDayOfMonth(int value) {
        bitField1_ |= 0x00000008;
        uploadDayOfMonth_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Day Of Month for SQDF to upload data.
       * </pre>
       *
       * <code>optional int32 uploadDayOfMonth = 37;</code>
       */
      public Builder clearUploadDayOfMonth() {
        bitField1_ = (bitField1_ & ~0x00000008);
        uploadDayOfMonth_ = 0;
        onChanged();
        return this;
      }

      private long uploadTimestamp_ ;
      /**
       * <pre>
       *&#47; Time of Day for SQDF to upload data.
       * </pre>
       *
       * <code>optional int64 uploadTimestamp = 38;</code>
       */
      public boolean hasUploadTimestamp() {
        return ((bitField1_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; Time of Day for SQDF to upload data.
       * </pre>
       *
       * <code>optional int64 uploadTimestamp = 38;</code>
       */
      public long getUploadTimestamp() {
        return uploadTimestamp_;
      }
      /**
       * <pre>
       *&#47; Time of Day for SQDF to upload data.
       * </pre>
       *
       * <code>optional int64 uploadTimestamp = 38;</code>
       */
      public Builder setUploadTimestamp(long value) {
        bitField1_ |= 0x00000010;
        uploadTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Time of Day for SQDF to upload data.
       * </pre>
       *
       * <code>optional int64 uploadTimestamp = 38;</code>
       */
      public Builder clearUploadTimestamp() {
        bitField1_ = (bitField1_ & ~0x00000010);
        uploadTimestamp_ = 0L;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<SQDFSettings>
        PARSER = new com.google.protobuf.AbstractParser<SQDFSettings>() {
      public SQDFSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new SQDFSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.SQDFSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ChinaPHEVSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.ChinaPHEVSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Reporting alarm Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 alarmReportingIntervalMS = 1;</code>
     */
    boolean hasAlarmReportingIntervalMS();
    /**
     * <pre>
     *&#47; Reporting alarm Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 alarmReportingIntervalMS = 1;</code>
     */
    int getAlarmReportingIntervalMS();

    /**
     * <pre>
     *&#47; Realtime Reporting Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
     */
    boolean hasRealTimeReportingIntervalMS();
    /**
     * <pre>
     *&#47; Realtime Reporting Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
     */
    int getRealTimeReportingIntervalMS();

    /**
     * <code>optional int32 alarmReportingWindowMS = 3;</code>
     */
    boolean hasAlarmReportingWindowMS();
    /**
     * <code>optional int32 alarmReportingWindowMS = 3;</code>
     */
    int getAlarmReportingWindowMS();

    /**
     * <pre>
     *&#47; Report ratio is 0.0 to 1.0 
     * </pre>
     *
     * <code>optional float replaceReportRatio = 4;</code>
     */
    boolean hasReplaceReportRatio();
    /**
     * <pre>
     *&#47; Report ratio is 0.0 to 1.0 
     * </pre>
     *
     * <code>optional float replaceReportRatio = 4;</code>
     */
    float getReplaceReportRatio();

    /**
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
     */
    boolean hasEncryptionLevel();
    /**
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum getEncryptionLevel();

    /**
     * <code>optional bytes encryptionKey = 6;</code>
     */
    boolean hasEncryptionKey();
    /**
     * <code>optional bytes encryptionKey = 6;</code>
     */
    com.google.protobuf.ByteString getEncryptionKey();
  }
  /**
   * <pre>
   **
   * This Message is to change the settings for PHEV Reporting
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.ChinaPHEVSettings}
   */
  public  static final class ChinaPHEVSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.ChinaPHEVSettings)
      ChinaPHEVSettingsOrBuilder {
    // Use ChinaPHEVSettings.newBuilder() to construct.
    private ChinaPHEVSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ChinaPHEVSettings() {
      alarmReportingIntervalMS_ = 0;
      realTimeReportingIntervalMS_ = 0;
      alarmReportingWindowMS_ = 0;
      replaceReportRatio_ = 0F;
      encryptionLevel_ = 0;
      encryptionKey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ChinaPHEVSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              alarmReportingIntervalMS_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              realTimeReportingIntervalMS_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              alarmReportingWindowMS_ = input.readInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              replaceReportRatio_ = input.readFloat();
              break;
            }
            case 40: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum value = com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(5, rawValue);
              } else {
                bitField0_ |= 0x00000010;
                encryptionLevel_ = rawValue;
              }
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              encryptionKey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ChinaPHEVSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum}
     */
    public enum EncryptionLevelEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>NO_ENCRYPTION = 0;</code>
       */
      NO_ENCRYPTION(0),
      /**
       * <code>RSA = 1;</code>
       */
      RSA(1),
      /**
       * <code>AES_128 = 2;</code>
       */
      AES_128(2),
      /**
       * <code>AES_256 = 3;</code>
       */
      AES_256(3),
      ;

      /**
       * <code>NO_ENCRYPTION = 0;</code>
       */
      public static final int NO_ENCRYPTION_VALUE = 0;
      /**
       * <code>RSA = 1;</code>
       */
      public static final int RSA_VALUE = 1;
      /**
       * <code>AES_128 = 2;</code>
       */
      public static final int AES_128_VALUE = 2;
      /**
       * <code>AES_256 = 3;</code>
       */
      public static final int AES_256_VALUE = 3;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static EncryptionLevelEnum valueOf(int value) {
        return forNumber(value);
      }

      public static EncryptionLevelEnum forNumber(int value) {
        switch (value) {
          case 0: return NO_ENCRYPTION;
          case 1: return RSA;
          case 2: return AES_128;
          case 3: return AES_256;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<EncryptionLevelEnum>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          EncryptionLevelEnum> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<EncryptionLevelEnum>() {
              public EncryptionLevelEnum findValueByNumber(int number) {
                return EncryptionLevelEnum.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDescriptor().getEnumTypes().get(0);
      }

      private static final EncryptionLevelEnum[] VALUES = values();

      public static EncryptionLevelEnum valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private EncryptionLevelEnum(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum)
    }

    private int bitField0_;
    public static final int ALARMREPORTINGINTERVALMS_FIELD_NUMBER = 1;
    private int alarmReportingIntervalMS_;
    /**
     * <pre>
     *&#47; Reporting alarm Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 alarmReportingIntervalMS = 1;</code>
     */
    public boolean hasAlarmReportingIntervalMS() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; Reporting alarm Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 alarmReportingIntervalMS = 1;</code>
     */
    public int getAlarmReportingIntervalMS() {
      return alarmReportingIntervalMS_;
    }

    public static final int REALTIMEREPORTINGINTERVALMS_FIELD_NUMBER = 2;
    private int realTimeReportingIntervalMS_;
    /**
     * <pre>
     *&#47; Realtime Reporting Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
     */
    public boolean hasRealTimeReportingIntervalMS() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; Realtime Reporting Interval in milliseconds.
     * </pre>
     *
     * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
     */
    public int getRealTimeReportingIntervalMS() {
      return realTimeReportingIntervalMS_;
    }

    public static final int ALARMREPORTINGWINDOWMS_FIELD_NUMBER = 3;
    private int alarmReportingWindowMS_;
    /**
     * <code>optional int32 alarmReportingWindowMS = 3;</code>
     */
    public boolean hasAlarmReportingWindowMS() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int32 alarmReportingWindowMS = 3;</code>
     */
    public int getAlarmReportingWindowMS() {
      return alarmReportingWindowMS_;
    }

    public static final int REPLACEREPORTRATIO_FIELD_NUMBER = 4;
    private float replaceReportRatio_;
    /**
     * <pre>
     *&#47; Report ratio is 0.0 to 1.0 
     * </pre>
     *
     * <code>optional float replaceReportRatio = 4;</code>
     */
    public boolean hasReplaceReportRatio() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; Report ratio is 0.0 to 1.0 
     * </pre>
     *
     * <code>optional float replaceReportRatio = 4;</code>
     */
    public float getReplaceReportRatio() {
      return replaceReportRatio_;
    }

    public static final int ENCRYPTIONLEVEL_FIELD_NUMBER = 5;
    private int encryptionLevel_;
    /**
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
     */
    public boolean hasEncryptionLevel() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum getEncryptionLevel() {
      com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum.valueOf(encryptionLevel_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum.NO_ENCRYPTION : result;
    }

    public static final int ENCRYPTIONKEY_FIELD_NUMBER = 6;
    private com.google.protobuf.ByteString encryptionKey_;
    /**
     * <code>optional bytes encryptionKey = 6;</code>
     */
    public boolean hasEncryptionKey() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional bytes encryptionKey = 6;</code>
     */
    public com.google.protobuf.ByteString getEncryptionKey() {
      return encryptionKey_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, alarmReportingIntervalMS_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, realTimeReportingIntervalMS_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, alarmReportingWindowMS_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, replaceReportRatio_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeEnum(5, encryptionLevel_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, encryptionKey_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, alarmReportingIntervalMS_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, realTimeReportingIntervalMS_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, alarmReportingWindowMS_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, replaceReportRatio_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, encryptionLevel_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, encryptionKey_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings) obj;

      boolean result = true;
      result = result && (hasAlarmReportingIntervalMS() == other.hasAlarmReportingIntervalMS());
      if (hasAlarmReportingIntervalMS()) {
        result = result && (getAlarmReportingIntervalMS()
            == other.getAlarmReportingIntervalMS());
      }
      result = result && (hasRealTimeReportingIntervalMS() == other.hasRealTimeReportingIntervalMS());
      if (hasRealTimeReportingIntervalMS()) {
        result = result && (getRealTimeReportingIntervalMS()
            == other.getRealTimeReportingIntervalMS());
      }
      result = result && (hasAlarmReportingWindowMS() == other.hasAlarmReportingWindowMS());
      if (hasAlarmReportingWindowMS()) {
        result = result && (getAlarmReportingWindowMS()
            == other.getAlarmReportingWindowMS());
      }
      result = result && (hasReplaceReportRatio() == other.hasReplaceReportRatio());
      if (hasReplaceReportRatio()) {
        result = result && (
            java.lang.Float.floatToIntBits(getReplaceReportRatio())
            == java.lang.Float.floatToIntBits(
                other.getReplaceReportRatio()));
      }
      result = result && (hasEncryptionLevel() == other.hasEncryptionLevel());
      if (hasEncryptionLevel()) {
        result = result && encryptionLevel_ == other.encryptionLevel_;
      }
      result = result && (hasEncryptionKey() == other.hasEncryptionKey());
      if (hasEncryptionKey()) {
        result = result && getEncryptionKey()
            .equals(other.getEncryptionKey());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasAlarmReportingIntervalMS()) {
        hash = (37 * hash) + ALARMREPORTINGINTERVALMS_FIELD_NUMBER;
        hash = (53 * hash) + getAlarmReportingIntervalMS();
      }
      if (hasRealTimeReportingIntervalMS()) {
        hash = (37 * hash) + REALTIMEREPORTINGINTERVALMS_FIELD_NUMBER;
        hash = (53 * hash) + getRealTimeReportingIntervalMS();
      }
      if (hasAlarmReportingWindowMS()) {
        hash = (37 * hash) + ALARMREPORTINGWINDOWMS_FIELD_NUMBER;
        hash = (53 * hash) + getAlarmReportingWindowMS();
      }
      if (hasReplaceReportRatio()) {
        hash = (37 * hash) + REPLACEREPORTRATIO_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getReplaceReportRatio());
      }
      if (hasEncryptionLevel()) {
        hash = (37 * hash) + ENCRYPTIONLEVEL_FIELD_NUMBER;
        hash = (53 * hash) + encryptionLevel_;
      }
      if (hasEncryptionKey()) {
        hash = (37 * hash) + ENCRYPTIONKEY_FIELD_NUMBER;
        hash = (53 * hash) + getEncryptionKey().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message is to change the settings for PHEV Reporting
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.ChinaPHEVSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.ChinaPHEVSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ChinaPHEVSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        alarmReportingIntervalMS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        realTimeReportingIntervalMS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        alarmReportingWindowMS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        replaceReportRatio_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        encryptionLevel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        encryptionKey_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.alarmReportingIntervalMS_ = alarmReportingIntervalMS_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.realTimeReportingIntervalMS_ = realTimeReportingIntervalMS_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.alarmReportingWindowMS_ = alarmReportingWindowMS_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.replaceReportRatio_ = replaceReportRatio_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.encryptionLevel_ = encryptionLevel_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.encryptionKey_ = encryptionKey_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.getDefaultInstance()) return this;
        if (other.hasAlarmReportingIntervalMS()) {
          setAlarmReportingIntervalMS(other.getAlarmReportingIntervalMS());
        }
        if (other.hasRealTimeReportingIntervalMS()) {
          setRealTimeReportingIntervalMS(other.getRealTimeReportingIntervalMS());
        }
        if (other.hasAlarmReportingWindowMS()) {
          setAlarmReportingWindowMS(other.getAlarmReportingWindowMS());
        }
        if (other.hasReplaceReportRatio()) {
          setReplaceReportRatio(other.getReplaceReportRatio());
        }
        if (other.hasEncryptionLevel()) {
          setEncryptionLevel(other.getEncryptionLevel());
        }
        if (other.hasEncryptionKey()) {
          setEncryptionKey(other.getEncryptionKey());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int alarmReportingIntervalMS_ ;
      /**
       * <pre>
       *&#47; Reporting alarm Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 alarmReportingIntervalMS = 1;</code>
       */
      public boolean hasAlarmReportingIntervalMS() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; Reporting alarm Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 alarmReportingIntervalMS = 1;</code>
       */
      public int getAlarmReportingIntervalMS() {
        return alarmReportingIntervalMS_;
      }
      /**
       * <pre>
       *&#47; Reporting alarm Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 alarmReportingIntervalMS = 1;</code>
       */
      public Builder setAlarmReportingIntervalMS(int value) {
        bitField0_ |= 0x00000001;
        alarmReportingIntervalMS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Reporting alarm Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 alarmReportingIntervalMS = 1;</code>
       */
      public Builder clearAlarmReportingIntervalMS() {
        bitField0_ = (bitField0_ & ~0x00000001);
        alarmReportingIntervalMS_ = 0;
        onChanged();
        return this;
      }

      private int realTimeReportingIntervalMS_ ;
      /**
       * <pre>
       *&#47; Realtime Reporting Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
       */
      public boolean hasRealTimeReportingIntervalMS() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; Realtime Reporting Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
       */
      public int getRealTimeReportingIntervalMS() {
        return realTimeReportingIntervalMS_;
      }
      /**
       * <pre>
       *&#47; Realtime Reporting Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
       */
      public Builder setRealTimeReportingIntervalMS(int value) {
        bitField0_ |= 0x00000002;
        realTimeReportingIntervalMS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Realtime Reporting Interval in milliseconds.
       * </pre>
       *
       * <code>optional int32 realTimeReportingIntervalMS = 2;</code>
       */
      public Builder clearRealTimeReportingIntervalMS() {
        bitField0_ = (bitField0_ & ~0x00000002);
        realTimeReportingIntervalMS_ = 0;
        onChanged();
        return this;
      }

      private int alarmReportingWindowMS_ ;
      /**
       * <code>optional int32 alarmReportingWindowMS = 3;</code>
       */
      public boolean hasAlarmReportingWindowMS() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 alarmReportingWindowMS = 3;</code>
       */
      public int getAlarmReportingWindowMS() {
        return alarmReportingWindowMS_;
      }
      /**
       * <code>optional int32 alarmReportingWindowMS = 3;</code>
       */
      public Builder setAlarmReportingWindowMS(int value) {
        bitField0_ |= 0x00000004;
        alarmReportingWindowMS_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 alarmReportingWindowMS = 3;</code>
       */
      public Builder clearAlarmReportingWindowMS() {
        bitField0_ = (bitField0_ & ~0x00000004);
        alarmReportingWindowMS_ = 0;
        onChanged();
        return this;
      }

      private float replaceReportRatio_ ;
      /**
       * <pre>
       *&#47; Report ratio is 0.0 to 1.0 
       * </pre>
       *
       * <code>optional float replaceReportRatio = 4;</code>
       */
      public boolean hasReplaceReportRatio() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; Report ratio is 0.0 to 1.0 
       * </pre>
       *
       * <code>optional float replaceReportRatio = 4;</code>
       */
      public float getReplaceReportRatio() {
        return replaceReportRatio_;
      }
      /**
       * <pre>
       *&#47; Report ratio is 0.0 to 1.0 
       * </pre>
       *
       * <code>optional float replaceReportRatio = 4;</code>
       */
      public Builder setReplaceReportRatio(float value) {
        bitField0_ |= 0x00000008;
        replaceReportRatio_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Report ratio is 0.0 to 1.0 
       * </pre>
       *
       * <code>optional float replaceReportRatio = 4;</code>
       */
      public Builder clearReplaceReportRatio() {
        bitField0_ = (bitField0_ & ~0x00000008);
        replaceReportRatio_ = 0F;
        onChanged();
        return this;
      }

      private int encryptionLevel_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
       */
      public boolean hasEncryptionLevel() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum getEncryptionLevel() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum.valueOf(encryptionLevel_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum.NO_ENCRYPTION : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
       */
      public Builder setEncryptionLevel(com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings.EncryptionLevelEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000010;
        encryptionLevel_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.ChinaPHEVSettings.EncryptionLevelEnum encryptionLevel = 5;</code>
       */
      public Builder clearEncryptionLevel() {
        bitField0_ = (bitField0_ & ~0x00000010);
        encryptionLevel_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString encryptionKey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes encryptionKey = 6;</code>
       */
      public boolean hasEncryptionKey() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional bytes encryptionKey = 6;</code>
       */
      public com.google.protobuf.ByteString getEncryptionKey() {
        return encryptionKey_;
      }
      /**
       * <code>optional bytes encryptionKey = 6;</code>
       */
      public Builder setEncryptionKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        encryptionKey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes encryptionKey = 6;</code>
       */
      public Builder clearEncryptionKey() {
        bitField0_ = (bitField0_ & ~0x00000020);
        encryptionKey_ = getDefaultInstance().getEncryptionKey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.ChinaPHEVSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.ChinaPHEVSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<ChinaPHEVSettings>
        PARSER = new com.google.protobuf.AbstractParser<ChinaPHEVSettings>() {
      public ChinaPHEVSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new ChinaPHEVSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.ChinaPHEVSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AOTASettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.AOTASettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47;interval to check App updates in milliseconds.
     * </pre>
     *
     * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
     */
    boolean hasDiscrepancyCheckIntervalMS();
    /**
     * <pre>
     *&#47;interval to check App updates in milliseconds.
     * </pre>
     *
     * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
     */
    int getDiscrepancyCheckIntervalMS();
  }
  /**
   * <pre>
   **
   * This Message is to update the settings for AOTA
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.AOTASettings}
   */
  public  static final class AOTASettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.AOTASettings)
      AOTASettingsOrBuilder {
    // Use AOTASettings.newBuilder() to construct.
    private AOTASettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AOTASettings() {
      discrepancyCheckIntervalMS_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AOTASettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              discrepancyCheckIntervalMS_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_AOTASettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_AOTASettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder.class);
    }

    private int bitField0_;
    public static final int DISCREPANCYCHECKINTERVALMS_FIELD_NUMBER = 1;
    private int discrepancyCheckIntervalMS_;
    /**
     * <pre>
     *&#47;interval to check App updates in milliseconds.
     * </pre>
     *
     * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
     */
    public boolean hasDiscrepancyCheckIntervalMS() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;interval to check App updates in milliseconds.
     * </pre>
     *
     * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
     */
    public int getDiscrepancyCheckIntervalMS() {
      return discrepancyCheckIntervalMS_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, discrepancyCheckIntervalMS_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, discrepancyCheckIntervalMS_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings) obj;

      boolean result = true;
      result = result && (hasDiscrepancyCheckIntervalMS() == other.hasDiscrepancyCheckIntervalMS());
      if (hasDiscrepancyCheckIntervalMS()) {
        result = result && (getDiscrepancyCheckIntervalMS()
            == other.getDiscrepancyCheckIntervalMS());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasDiscrepancyCheckIntervalMS()) {
        hash = (37 * hash) + DISCREPANCYCHECKINTERVALMS_FIELD_NUMBER;
        hash = (53 * hash) + getDiscrepancyCheckIntervalMS();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message is to update the settings for AOTA
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.AOTASettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.AOTASettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_AOTASettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_AOTASettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        discrepancyCheckIntervalMS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_AOTASettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.discrepancyCheckIntervalMS_ = discrepancyCheckIntervalMS_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings.getDefaultInstance()) return this;
        if (other.hasDiscrepancyCheckIntervalMS()) {
          setDiscrepancyCheckIntervalMS(other.getDiscrepancyCheckIntervalMS());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int discrepancyCheckIntervalMS_ ;
      /**
       * <pre>
       *&#47;interval to check App updates in milliseconds.
       * </pre>
       *
       * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
       */
      public boolean hasDiscrepancyCheckIntervalMS() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;interval to check App updates in milliseconds.
       * </pre>
       *
       * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
       */
      public int getDiscrepancyCheckIntervalMS() {
        return discrepancyCheckIntervalMS_;
      }
      /**
       * <pre>
       *&#47;interval to check App updates in milliseconds.
       * </pre>
       *
       * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
       */
      public Builder setDiscrepancyCheckIntervalMS(int value) {
        bitField0_ |= 0x00000001;
        discrepancyCheckIntervalMS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;interval to check App updates in milliseconds.
       * </pre>
       *
       * <code>optional int32 discrepancyCheckIntervalMS = 1;</code>
       */
      public Builder clearDiscrepancyCheckIntervalMS() {
        bitField0_ = (bitField0_ & ~0x00000001);
        discrepancyCheckIntervalMS_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.AOTASettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.AOTASettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<AOTASettings>
        PARSER = new com.google.protobuf.AbstractParser<AOTASettings>() {
      public AOTASettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new AOTASettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.AOTASettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WifiSettingOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.WifiSetting)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    boolean hasSsid();
    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    java.lang.String getSsid();
    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    com.google.protobuf.ByteString
        getSsidBytes();

    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    boolean hasPassword();
    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    java.lang.String getPassword();
    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    com.google.protobuf.ByteString
        getPasswordBytes();

    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */
    int getEncryptiontypeCount();
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */
    boolean containsEncryptiontype(
        java.lang.String key);
    /**
     * Use {@link #getEncryptiontypeMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getEncryptiontype();
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getEncryptiontypeMap();
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    java.lang.String getEncryptiontypeOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    java.lang.String getEncryptiontypeOrThrow(
        java.lang.String key);
  }
  /**
   * <pre>
   **
   * This Message represents the WIFI credentials.
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.WifiSetting}
   */
  public  static final class WifiSetting extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.WifiSetting)
      WifiSettingOrBuilder {
    // Use WifiSetting.newBuilder() to construct.
    private WifiSetting(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private WifiSetting() {
      ssid_ = "";
      password_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private WifiSetting(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              ssid_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              password_ = bs;
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                encryptiontype_ = com.google.protobuf.MapField.newMapField(
                    EncryptiontypeDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000004;
              }
              com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
              encryptiontype = input.readMessage(
                  EncryptiontypeDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              encryptiontype_.getMutableMap().put(encryptiontype.getKey(), encryptiontype.getValue());
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 3:
          return internalGetEncryptiontype();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder.class);
    }

    private int bitField0_;
    public static final int SSID_FIELD_NUMBER = 1;
    private volatile java.lang.Object ssid_;
    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    public boolean hasSsid() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    public java.lang.String getSsid() {
      java.lang.Object ref = ssid_;
      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();
        if (bs.isValidUtf8()) {
          ssid_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The SSID to be broadcast as a WiFi access point.
     * </pre>
     *
     * <code>optional string ssid = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSsidBytes() {
      java.lang.Object ref = ssid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ssid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PASSWORD_FIELD_NUMBER = 2;
    private volatile java.lang.Object password_;
    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    public boolean hasPassword() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    public java.lang.String getPassword() {
      java.lang.Object ref = password_;
      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();
        if (bs.isValidUtf8()) {
          password_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     *&#47; The password or pre-shared key to be used for wifi sessions.
     * </pre>
     *
     * <code>optional string password = 2;</code>
     */
    public com.google.protobuf.ByteString
        getPasswordBytes() {
      java.lang.Object ref = password_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        password_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ENCRYPTIONTYPE_FIELD_NUMBER = 3;
    private static final class EncryptiontypeDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> encryptiontype_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetEncryptiontype() {
      if (encryptiontype_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            EncryptiontypeDefaultEntryHolder.defaultEntry);
      }
      return encryptiontype_;
    }

    public int getEncryptiontypeCount() {
      return internalGetEncryptiontype().getMap().size();
    }
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    public boolean containsEncryptiontype(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetEncryptiontype().getMap().containsKey(key);
    }
    /**
     * Use {@link #getEncryptiontypeMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getEncryptiontype() {
      return getEncryptiontypeMap();
    }
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    public java.util.Map<java.lang.String, java.lang.String> getEncryptiontypeMap() {
      return internalGetEncryptiontype().getMap();
    }
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    public java.lang.String getEncryptiontypeOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetEncryptiontype().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     *&#47;This represents Encryption type like WPA2.
     * </pre>
     *
     * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
     */

    public java.lang.String getEncryptiontypeOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetEncryptiontype().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, ssid_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, password_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetEncryptiontype().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        encryptiontype = EncryptiontypeDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        output.writeMessage(3, encryptiontype);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, ssid_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, password_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetEncryptiontype().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        encryptiontype = EncryptiontypeDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, encryptiontype);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting) obj;

      boolean result = true;
      result = result && (hasSsid() == other.hasSsid());
      if (hasSsid()) {
        result = result && getSsid()
            .equals(other.getSsid());
      }
      result = result && (hasPassword() == other.hasPassword());
      if (hasPassword()) {
        result = result && getPassword()
            .equals(other.getPassword());
      }
      result = result && internalGetEncryptiontype().equals(
          other.internalGetEncryptiontype());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasSsid()) {
        hash = (37 * hash) + SSID_FIELD_NUMBER;
        hash = (53 * hash) + getSsid().hashCode();
      }
      if (hasPassword()) {
        hash = (37 * hash) + PASSWORD_FIELD_NUMBER;
        hash = (53 * hash) + getPassword().hashCode();
      }
      if (!internalGetEncryptiontype().getMap().isEmpty()) {
        hash = (37 * hash) + ENCRYPTIONTYPE_FIELD_NUMBER;
        hash = (53 * hash) + internalGetEncryptiontype().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting 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.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting 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.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This Message represents the WIFI credentials.
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.WifiSetting}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.WifiSetting)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSettingOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetEncryptiontype();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetMutableEncryptiontype();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        ssid_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        password_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        internalGetMutableEncryptiontype().clear();
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_WifiSetting_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ssid_ = ssid_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.password_ = password_;
        result.encryptiontype_ = internalGetEncryptiontype();
        result.encryptiontype_.makeImmutable();
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting.getDefaultInstance()) return this;
        if (other.hasSsid()) {
          bitField0_ |= 0x00000001;
          ssid_ = other.ssid_;
          onChanged();
        }
        if (other.hasPassword()) {
          bitField0_ |= 0x00000002;
          password_ = other.password_;
          onChanged();
        }
        internalGetMutableEncryptiontype().mergeFrom(
            other.internalGetEncryptiontype());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object ssid_ = "";
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public boolean hasSsid() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public java.lang.String getSsid() {
        java.lang.Object ref = ssid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ssid_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSsidBytes() {
        java.lang.Object ref = ssid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ssid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public Builder setSsid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ssid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public Builder clearSsid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ssid_ = getDefaultInstance().getSsid();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The SSID to be broadcast as a WiFi access point.
       * </pre>
       *
       * <code>optional string ssid = 1;</code>
       */
      public Builder setSsidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        ssid_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object password_ = "";
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public boolean hasPassword() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public java.lang.String getPassword() {
        java.lang.Object ref = password_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            password_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPasswordBytes() {
        java.lang.Object ref = password_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          password_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public Builder setPassword(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        password_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public Builder clearPassword() {
        bitField0_ = (bitField0_ & ~0x00000002);
        password_ = getDefaultInstance().getPassword();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The password or pre-shared key to be used for wifi sessions.
       * </pre>
       *
       * <code>optional string password = 2;</code>
       */
      public Builder setPasswordBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        password_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> encryptiontype_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetEncryptiontype() {
        if (encryptiontype_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              EncryptiontypeDefaultEntryHolder.defaultEntry);
        }
        return encryptiontype_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableEncryptiontype() {
        onChanged();;
        if (encryptiontype_ == null) {
          encryptiontype_ = com.google.protobuf.MapField.newMapField(
              EncryptiontypeDefaultEntryHolder.defaultEntry);
        }
        if (!encryptiontype_.isMutable()) {
          encryptiontype_ = encryptiontype_.copy();
        }
        return encryptiontype_;
      }

      public int getEncryptiontypeCount() {
        return internalGetEncryptiontype().getMap().size();
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public boolean containsEncryptiontype(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetEncryptiontype().getMap().containsKey(key);
      }
      /**
       * Use {@link #getEncryptiontypeMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getEncryptiontype() {
        return getEncryptiontypeMap();
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public java.util.Map<java.lang.String, java.lang.String> getEncryptiontypeMap() {
        return internalGetEncryptiontype().getMap();
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public java.lang.String getEncryptiontypeOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetEncryptiontype().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public java.lang.String getEncryptiontypeOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetEncryptiontype().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearEncryptiontype() {
        getMutableEncryptiontype().clear();
        return this;
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public Builder removeEncryptiontype(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        getMutableEncryptiontype().remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableEncryptiontype() {
        return internalGetMutableEncryptiontype().getMutableMap();
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */
      public Builder putEncryptiontype(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        getMutableEncryptiontype().put(key, value);
        return this;
      }
      /**
       * <pre>
       *&#47;This represents Encryption type like WPA2.
       * </pre>
       *
       * <code>map&lt;string, string&gt; encryptiontype = 3;</code>
       */

      public Builder putAllEncryptiontype(
          java.util.Map<java.lang.String, java.lang.String> values) {
        getMutableEncryptiontype().putAll(values);
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.WifiSetting)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.WifiSetting)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<WifiSetting>
        PARSER = new com.google.protobuf.AbstractParser<WifiSetting>() {
      public WifiSetting parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new WifiSetting(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.WifiSetting getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TheftAlarmNotificationSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.TheftAlarmNotificationSettings)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47;identifies if Theft Alarm Notifications are sent to SDP.
     * </pre>
     *
     * <code>optional bool isNotificationActive = 1;</code>
     */
    boolean hasIsNotificationActive();
    /**
     * <pre>
     *&#47;identifies if Theft Alarm Notifications are sent to SDP.
     * </pre>
     *
     * <code>optional bool isNotificationActive = 1;</code>
     */
    boolean getIsNotificationActive();

    /**
     * <pre>
     *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
     * </pre>
     *
     * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
     */
    boolean hasMaxNumSDPNotificationAttempts();
    /**
     * <pre>
     *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
     * </pre>
     *
     * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
     */
    int getMaxNumSDPNotificationAttempts();

    /**
     * <pre>
     *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
     * </pre>
     *
     * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
     */
    boolean hasRetryNotificationTimeIntervalS();
    /**
     * <pre>
     *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
     * </pre>
     *
     * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
     */
    int getRetryNotificationTimeIntervalS();

    /**
     * <pre>
     *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
     * </pre>
     *
     * <code>optional float accelerationTriggerThreshold = 4;</code>
     */
    boolean hasAccelerationTriggerThreshold();
    /**
     * <pre>
     *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
     * </pre>
     *
     * <code>optional float accelerationTriggerThreshold = 4;</code>
     */
    float getAccelerationTriggerThreshold();

    /**
     * <pre>
     *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
     * </pre>
     *
     * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
     */
    boolean hasAccelerationThresholdDurationMS();
    /**
     * <pre>
     *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
     * </pre>
     *
     * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
     */
    int getAccelerationThresholdDurationMS();

    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 6;</code>
     */
    boolean hasIsEnabled();
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 6;</code>
     */
    boolean getIsEnabled();
  }
  /**
   * <pre>
   **
   * This message is to update Theft Alarm Settings
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.TheftAlarmNotificationSettings}
   */
  public  static final class TheftAlarmNotificationSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.TheftAlarmNotificationSettings)
      TheftAlarmNotificationSettingsOrBuilder {
    // Use TheftAlarmNotificationSettings.newBuilder() to construct.
    private TheftAlarmNotificationSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TheftAlarmNotificationSettings() {
      isNotificationActive_ = false;
      maxNumSDPNotificationAttempts_ = 0;
      retryNotificationTimeIntervalS_ = 0;
      accelerationTriggerThreshold_ = 0F;
      accelerationThresholdDurationMS_ = 0;
      isEnabled_ = false;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private TheftAlarmNotificationSettings(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isNotificationActive_ = input.readBool();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              maxNumSDPNotificationAttempts_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              retryNotificationTimeIntervalS_ = input.readInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              accelerationTriggerThreshold_ = input.readFloat();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              accelerationThresholdDurationMS_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              isEnabled_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder.class);
    }

    private int bitField0_;
    public static final int ISNOTIFICATIONACTIVE_FIELD_NUMBER = 1;
    private boolean isNotificationActive_;
    /**
     * <pre>
     *&#47;identifies if Theft Alarm Notifications are sent to SDP.
     * </pre>
     *
     * <code>optional bool isNotificationActive = 1;</code>
     */
    public boolean hasIsNotificationActive() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;identifies if Theft Alarm Notifications are sent to SDP.
     * </pre>
     *
     * <code>optional bool isNotificationActive = 1;</code>
     */
    public boolean getIsNotificationActive() {
      return isNotificationActive_;
    }

    public static final int MAXNUMSDPNOTIFICATIONATTEMPTS_FIELD_NUMBER = 2;
    private int maxNumSDPNotificationAttempts_;
    /**
     * <pre>
     *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
     * </pre>
     *
     * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
     */
    public boolean hasMaxNumSDPNotificationAttempts() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
     * </pre>
     *
     * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
     */
    public int getMaxNumSDPNotificationAttempts() {
      return maxNumSDPNotificationAttempts_;
    }

    public static final int RETRYNOTIFICATIONTIMEINTERVALS_FIELD_NUMBER = 3;
    private int retryNotificationTimeIntervalS_;
    /**
     * <pre>
     *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
     * </pre>
     *
     * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
     */
    public boolean hasRetryNotificationTimeIntervalS() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
     * </pre>
     *
     * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
     */
    public int getRetryNotificationTimeIntervalS() {
      return retryNotificationTimeIntervalS_;
    }

    public static final int ACCELERATIONTRIGGERTHRESHOLD_FIELD_NUMBER = 4;
    private float accelerationTriggerThreshold_;
    /**
     * <pre>
     *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
     * </pre>
     *
     * <code>optional float accelerationTriggerThreshold = 4;</code>
     */
    public boolean hasAccelerationTriggerThreshold() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
     * </pre>
     *
     * <code>optional float accelerationTriggerThreshold = 4;</code>
     */
    public float getAccelerationTriggerThreshold() {
      return accelerationTriggerThreshold_;
    }

    public static final int ACCELERATIONTHRESHOLDDURATIONMS_FIELD_NUMBER = 5;
    private int accelerationThresholdDurationMS_;
    /**
     * <pre>
     *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
     * </pre>
     *
     * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
     */
    public boolean hasAccelerationThresholdDurationMS() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
     * </pre>
     *
     * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
     */
    public int getAccelerationThresholdDurationMS() {
      return accelerationThresholdDurationMS_;
    }

    public static final int ISENABLED_FIELD_NUMBER = 6;
    private boolean isEnabled_;
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 6;</code>
     */
    public boolean hasIsEnabled() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <pre>
     *&#47; Specifies if the feature is enabled.
     * </pre>
     *
     * <code>optional bool isEnabled = 6;</code>
     */
    public boolean getIsEnabled() {
      return isEnabled_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isNotificationActive_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, maxNumSDPNotificationAttempts_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, retryNotificationTimeIntervalS_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, accelerationTriggerThreshold_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, accelerationThresholdDurationMS_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBool(6, isEnabled_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isNotificationActive_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, maxNumSDPNotificationAttempts_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, retryNotificationTimeIntervalS_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, accelerationTriggerThreshold_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, accelerationThresholdDurationMS_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, isEnabled_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings) obj;

      boolean result = true;
      result = result && (hasIsNotificationActive() == other.hasIsNotificationActive());
      if (hasIsNotificationActive()) {
        result = result && (getIsNotificationActive()
            == other.getIsNotificationActive());
      }
      result = result && (hasMaxNumSDPNotificationAttempts() == other.hasMaxNumSDPNotificationAttempts());
      if (hasMaxNumSDPNotificationAttempts()) {
        result = result && (getMaxNumSDPNotificationAttempts()
            == other.getMaxNumSDPNotificationAttempts());
      }
      result = result && (hasRetryNotificationTimeIntervalS() == other.hasRetryNotificationTimeIntervalS());
      if (hasRetryNotificationTimeIntervalS()) {
        result = result && (getRetryNotificationTimeIntervalS()
            == other.getRetryNotificationTimeIntervalS());
      }
      result = result && (hasAccelerationTriggerThreshold() == other.hasAccelerationTriggerThreshold());
      if (hasAccelerationTriggerThreshold()) {
        result = result && (
            java.lang.Float.floatToIntBits(getAccelerationTriggerThreshold())
            == java.lang.Float.floatToIntBits(
                other.getAccelerationTriggerThreshold()));
      }
      result = result && (hasAccelerationThresholdDurationMS() == other.hasAccelerationThresholdDurationMS());
      if (hasAccelerationThresholdDurationMS()) {
        result = result && (getAccelerationThresholdDurationMS()
            == other.getAccelerationThresholdDurationMS());
      }
      result = result && (hasIsEnabled() == other.hasIsEnabled());
      if (hasIsEnabled()) {
        result = result && (getIsEnabled()
            == other.getIsEnabled());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasIsNotificationActive()) {
        hash = (37 * hash) + ISNOTIFICATIONACTIVE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsNotificationActive());
      }
      if (hasMaxNumSDPNotificationAttempts()) {
        hash = (37 * hash) + MAXNUMSDPNOTIFICATIONATTEMPTS_FIELD_NUMBER;
        hash = (53 * hash) + getMaxNumSDPNotificationAttempts();
      }
      if (hasRetryNotificationTimeIntervalS()) {
        hash = (37 * hash) + RETRYNOTIFICATIONTIMEINTERVALS_FIELD_NUMBER;
        hash = (53 * hash) + getRetryNotificationTimeIntervalS();
      }
      if (hasAccelerationTriggerThreshold()) {
        hash = (37 * hash) + ACCELERATIONTRIGGERTHRESHOLD_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getAccelerationTriggerThreshold());
      }
      if (hasAccelerationThresholdDurationMS()) {
        hash = (37 * hash) + ACCELERATIONTHRESHOLDDURATIONMS_FIELD_NUMBER;
        hash = (53 * hash) + getAccelerationThresholdDurationMS();
      }
      if (hasIsEnabled()) {
        hash = (37 * hash) + ISENABLED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsEnabled());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings 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.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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>
     **
     * This message is to update Theft Alarm Settings
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.TheftAlarmNotificationSettings}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.TheftAlarmNotificationSettings)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettingsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        isNotificationActive_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        maxNumSDPNotificationAttempts_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        retryNotificationTimeIntervalS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        accelerationTriggerThreshold_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        accelerationThresholdDurationMS_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        isEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isNotificationActive_ = isNotificationActive_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.maxNumSDPNotificationAttempts_ = maxNumSDPNotificationAttempts_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.retryNotificationTimeIntervalS_ = retryNotificationTimeIntervalS_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.accelerationTriggerThreshold_ = accelerationTriggerThreshold_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.accelerationThresholdDurationMS_ = accelerationThresholdDurationMS_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.isEnabled_ = isEnabled_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings.getDefaultInstance()) return this;
        if (other.hasIsNotificationActive()) {
          setIsNotificationActive(other.getIsNotificationActive());
        }
        if (other.hasMaxNumSDPNotificationAttempts()) {
          setMaxNumSDPNotificationAttempts(other.getMaxNumSDPNotificationAttempts());
        }
        if (other.hasRetryNotificationTimeIntervalS()) {
          setRetryNotificationTimeIntervalS(other.getRetryNotificationTimeIntervalS());
        }
        if (other.hasAccelerationTriggerThreshold()) {
          setAccelerationTriggerThreshold(other.getAccelerationTriggerThreshold());
        }
        if (other.hasAccelerationThresholdDurationMS()) {
          setAccelerationThresholdDurationMS(other.getAccelerationThresholdDurationMS());
        }
        if (other.hasIsEnabled()) {
          setIsEnabled(other.getIsEnabled());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean isNotificationActive_ ;
      /**
       * <pre>
       *&#47;identifies if Theft Alarm Notifications are sent to SDP.
       * </pre>
       *
       * <code>optional bool isNotificationActive = 1;</code>
       */
      public boolean hasIsNotificationActive() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;identifies if Theft Alarm Notifications are sent to SDP.
       * </pre>
       *
       * <code>optional bool isNotificationActive = 1;</code>
       */
      public boolean getIsNotificationActive() {
        return isNotificationActive_;
      }
      /**
       * <pre>
       *&#47;identifies if Theft Alarm Notifications are sent to SDP.
       * </pre>
       *
       * <code>optional bool isNotificationActive = 1;</code>
       */
      public Builder setIsNotificationActive(boolean value) {
        bitField0_ |= 0x00000001;
        isNotificationActive_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;identifies if Theft Alarm Notifications are sent to SDP.
       * </pre>
       *
       * <code>optional bool isNotificationActive = 1;</code>
       */
      public Builder clearIsNotificationActive() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isNotificationActive_ = false;
        onChanged();
        return this;
      }

      private int maxNumSDPNotificationAttempts_ ;
      /**
       * <pre>
       *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
       * </pre>
       *
       * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
       */
      public boolean hasMaxNumSDPNotificationAttempts() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
       * </pre>
       *
       * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
       */
      public int getMaxNumSDPNotificationAttempts() {
        return maxNumSDPNotificationAttempts_;
      }
      /**
       * <pre>
       *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
       * </pre>
       *
       * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
       */
      public Builder setMaxNumSDPNotificationAttempts(int value) {
        bitField0_ |= 0x00000002;
        maxNumSDPNotificationAttempts_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The max number of attempts to send the Theft Alarm Notification to the SDP.
       * </pre>
       *
       * <code>optional int32 maxNumSDPNotificationAttempts = 2;</code>
       */
      public Builder clearMaxNumSDPNotificationAttempts() {
        bitField0_ = (bitField0_ & ~0x00000002);
        maxNumSDPNotificationAttempts_ = 0;
        onChanged();
        return this;
      }

      private int retryNotificationTimeIntervalS_ ;
      /**
       * <pre>
       *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
       * </pre>
       *
       * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
       */
      public boolean hasRetryNotificationTimeIntervalS() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
       * </pre>
       *
       * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
       */
      public int getRetryNotificationTimeIntervalS() {
        return retryNotificationTimeIntervalS_;
      }
      /**
       * <pre>
       *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
       * </pre>
       *
       * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
       */
      public Builder setRetryNotificationTimeIntervalS(int value) {
        bitField0_ |= 0x00000004;
        retryNotificationTimeIntervalS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The retry time interval in seconds for attempting to send messages to the SDP.
       * </pre>
       *
       * <code>optional int32 retryNotificationTimeIntervalS = 3;</code>
       */
      public Builder clearRetryNotificationTimeIntervalS() {
        bitField0_ = (bitField0_ & ~0x00000004);
        retryNotificationTimeIntervalS_ = 0;
        onChanged();
        return this;
      }

      private float accelerationTriggerThreshold_ ;
      /**
       * <pre>
       *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
       * </pre>
       *
       * <code>optional float accelerationTriggerThreshold = 4;</code>
       */
      public boolean hasAccelerationTriggerThreshold() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
       * </pre>
       *
       * <code>optional float accelerationTriggerThreshold = 4;</code>
       */
      public float getAccelerationTriggerThreshold() {
        return accelerationTriggerThreshold_;
      }
      /**
       * <pre>
       *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
       * </pre>
       *
       * <code>optional float accelerationTriggerThreshold = 4;</code>
       */
      public Builder setAccelerationTriggerThreshold(float value) {
        bitField0_ |= 0x00000008;
        accelerationTriggerThreshold_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The acceleration in Gs threshold for triggering the notification read from the internal gyroscope.
       * </pre>
       *
       * <code>optional float accelerationTriggerThreshold = 4;</code>
       */
      public Builder clearAccelerationTriggerThreshold() {
        bitField0_ = (bitField0_ & ~0x00000008);
        accelerationTriggerThreshold_ = 0F;
        onChanged();
        return this;
      }

      private int accelerationThresholdDurationMS_ ;
      /**
       * <pre>
       *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
       * </pre>
       *
       * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
       */
      public boolean hasAccelerationThresholdDurationMS() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
       * </pre>
       *
       * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
       */
      public int getAccelerationThresholdDurationMS() {
        return accelerationThresholdDurationMS_;
      }
      /**
       * <pre>
       *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
       * </pre>
       *
       * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
       */
      public Builder setAccelerationThresholdDurationMS(int value) {
        bitField0_ |= 0x00000010;
        accelerationThresholdDurationMS_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; The duration in Milliseconds during which the acceleration is observed to exceed the threshold.
       * </pre>
       *
       * <code>optional int32 accelerationThresholdDurationMS = 5;</code>
       */
      public Builder clearAccelerationThresholdDurationMS() {
        bitField0_ = (bitField0_ & ~0x00000010);
        accelerationThresholdDurationMS_ = 0;
        onChanged();
        return this;
      }

      private boolean isEnabled_ ;
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 6;</code>
       */
      public boolean hasIsEnabled() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 6;</code>
       */
      public boolean getIsEnabled() {
        return isEnabled_;
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 6;</code>
       */
      public Builder setIsEnabled(boolean value) {
        bitField0_ |= 0x00000020;
        isEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Specifies if the feature is enabled.
       * </pre>
       *
       * <code>optional bool isEnabled = 6;</code>
       */
      public Builder clearIsEnabled() {
        bitField0_ = (bitField0_ & ~0x00000020);
        isEnabled_ = false;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.TheftAlarmNotificationSettings)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.TheftAlarmNotificationSettings)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<TheftAlarmNotificationSettings>
        PARSER = new com.google.protobuf.AbstractParser<TheftAlarmNotificationSettings>() {
      public TheftAlarmNotificationSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new TheftAlarmNotificationSettings(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.TheftAlarmNotificationSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PersonalAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    boolean hasInfotainmentPreference();
    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getInfotainmentPreference();
    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder getInfotainmentPreferenceOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    boolean hasNavigationPreference();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getNavigationPreference();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder getNavigationPreferenceOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    boolean hasClimatePreference();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getClimatePreference();
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder getClimatePreferenceOrBuilder();

    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    boolean hasLightingPreference();
    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getLightingPreference();
    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder getLightingPreferenceOrBuilder();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.PersonalAccount}
   */
  public  static final class PersonalAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount)
      PersonalAccountOrBuilder {
    // Use PersonalAccount.newBuilder() to construct.
    private PersonalAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PersonalAccount() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PersonalAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = infotainmentPreference_.toBuilder();
              }
              infotainmentPreference_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(infotainmentPreference_);
                infotainmentPreference_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = navigationPreference_.toBuilder();
              }
              navigationPreference_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(navigationPreference_);
                navigationPreference_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = climatePreference_.toBuilder();
              }
              climatePreference_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(climatePreference_);
                climatePreference_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = lightingPreference_.toBuilder();
              }
              lightingPreference_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(lightingPreference_);
                lightingPreference_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder.class);
    }

    public interface InfotainmentPreferenceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.InfotainmentPreference)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      boolean hasRadioPreset();
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getRadioPreset();
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder getRadioPresetOrBuilder();

      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      boolean hasMusicFavorite();
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getMusicFavorite();
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder getMusicFavoriteOrBuilder();

      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> 
          getPlayListsList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getPlayLists(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      int getPlayListsCount();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder> 
          getPlayListsOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder getPlayListsOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.InfotainmentPreference}
     */
    public  static final class InfotainmentPreference extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.InfotainmentPreference)
        InfotainmentPreferenceOrBuilder {
      // Use InfotainmentPreference.newBuilder() to construct.
      private InfotainmentPreference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private InfotainmentPreference() {
        playLists_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private InfotainmentPreference(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = radioPreset_.toBuilder();
                }
                radioPreset_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(radioPreset_);
                  radioPreset_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 18: {
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  subBuilder = musicFavorite_.toBuilder();
                }
                musicFavorite_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(musicFavorite_);
                  musicFavorite_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  playLists_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList>();
                  mutable_bitField0_ |= 0x00000004;
                }
                playLists_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            playLists_ = java.util.Collections.unmodifiableList(playLists_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder.class);
      }

      private int bitField0_;
      public static final int RADIOPRESET_FIELD_NUMBER = 1;
      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset radioPreset_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      public boolean hasRadioPreset() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getRadioPreset() {
        return radioPreset_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance() : radioPreset_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder getRadioPresetOrBuilder() {
        return radioPreset_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance() : radioPreset_;
      }

      public static final int MUSICFAVORITE_FIELD_NUMBER = 2;
      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite musicFavorite_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      public boolean hasMusicFavorite() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getMusicFavorite() {
        return musicFavorite_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance() : musicFavorite_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder getMusicFavoriteOrBuilder() {
        return musicFavorite_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance() : musicFavorite_;
      }

      public static final int PLAYLISTS_FIELD_NUMBER = 3;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> playLists_;
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> getPlayListsList() {
        return playLists_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder> 
          getPlayListsOrBuilderList() {
        return playLists_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      public int getPlayListsCount() {
        return playLists_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getPlayLists(int index) {
        return playLists_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder getPlayListsOrBuilder(
          int index) {
        return playLists_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, getRadioPreset());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, getMusicFavorite());
        }
        for (int i = 0; i < playLists_.size(); i++) {
          output.writeMessage(3, playLists_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getRadioPreset());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getMusicFavorite());
        }
        for (int i = 0; i < playLists_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, playLists_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference) obj;

        boolean result = true;
        result = result && (hasRadioPreset() == other.hasRadioPreset());
        if (hasRadioPreset()) {
          result = result && getRadioPreset()
              .equals(other.getRadioPreset());
        }
        result = result && (hasMusicFavorite() == other.hasMusicFavorite());
        if (hasMusicFavorite()) {
          result = result && getMusicFavorite()
              .equals(other.getMusicFavorite());
        }
        result = result && getPlayListsList()
            .equals(other.getPlayListsList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasRadioPreset()) {
          hash = (37 * hash) + RADIOPRESET_FIELD_NUMBER;
          hash = (53 * hash) + getRadioPreset().hashCode();
        }
        if (hasMusicFavorite()) {
          hash = (37 * hash) + MUSICFAVORITE_FIELD_NUMBER;
          hash = (53 * hash) + getMusicFavorite().hashCode();
        }
        if (getPlayListsCount() > 0) {
          hash = (37 * hash) + PLAYLISTS_FIELD_NUMBER;
          hash = (53 * hash) + getPlayListsList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.InfotainmentPreference}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.InfotainmentPreference)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getRadioPresetFieldBuilder();
            getMusicFavoriteFieldBuilder();
            getPlayListsFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (radioPresetBuilder_ == null) {
            radioPreset_ = null;
          } else {
            radioPresetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (musicFavoriteBuilder_ == null) {
            musicFavorite_ = null;
          } else {
            musicFavoriteBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          if (playListsBuilder_ == null) {
            playLists_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            playListsBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (radioPresetBuilder_ == null) {
            result.radioPreset_ = radioPreset_;
          } else {
            result.radioPreset_ = radioPresetBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (musicFavoriteBuilder_ == null) {
            result.musicFavorite_ = musicFavorite_;
          } else {
            result.musicFavorite_ = musicFavoriteBuilder_.build();
          }
          if (playListsBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              playLists_ = java.util.Collections.unmodifiableList(playLists_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.playLists_ = playLists_;
          } else {
            result.playLists_ = playListsBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance()) return this;
          if (other.hasRadioPreset()) {
            mergeRadioPreset(other.getRadioPreset());
          }
          if (other.hasMusicFavorite()) {
            mergeMusicFavorite(other.getMusicFavorite());
          }
          if (playListsBuilder_ == null) {
            if (!other.playLists_.isEmpty()) {
              if (playLists_.isEmpty()) {
                playLists_ = other.playLists_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensurePlayListsIsMutable();
                playLists_.addAll(other.playLists_);
              }
              onChanged();
            }
          } else {
            if (!other.playLists_.isEmpty()) {
              if (playListsBuilder_.isEmpty()) {
                playListsBuilder_.dispose();
                playListsBuilder_ = null;
                playLists_ = other.playLists_;
                bitField0_ = (bitField0_ & ~0x00000004);
                playListsBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPlayListsFieldBuilder() : null;
              } else {
                playListsBuilder_.addAllMessages(other.playLists_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset radioPreset_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder> radioPresetBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public boolean hasRadioPreset() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getRadioPreset() {
          if (radioPresetBuilder_ == null) {
            return radioPreset_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance() : radioPreset_;
          } else {
            return radioPresetBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public Builder setRadioPreset(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset value) {
          if (radioPresetBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            radioPreset_ = value;
            onChanged();
          } else {
            radioPresetBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public Builder setRadioPreset(
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder builderForValue) {
          if (radioPresetBuilder_ == null) {
            radioPreset_ = builderForValue.build();
            onChanged();
          } else {
            radioPresetBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public Builder mergeRadioPreset(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset value) {
          if (radioPresetBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                radioPreset_ != null &&
                radioPreset_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance()) {
              radioPreset_ =
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.newBuilder(radioPreset_).mergeFrom(value).buildPartial();
            } else {
              radioPreset_ = value;
            }
            onChanged();
          } else {
            radioPresetBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public Builder clearRadioPreset() {
          if (radioPresetBuilder_ == null) {
            radioPreset_ = null;
            onChanged();
          } else {
            radioPresetBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder getRadioPresetBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getRadioPresetFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder getRadioPresetOrBuilder() {
          if (radioPresetBuilder_ != null) {
            return radioPresetBuilder_.getMessageOrBuilder();
          } else {
            return radioPreset_ == null ?
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance() : radioPreset_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset radioPreset = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder> 
            getRadioPresetFieldBuilder() {
          if (radioPresetBuilder_ == null) {
            radioPresetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder>(
                    getRadioPreset(),
                    getParentForChildren(),
                    isClean());
            radioPreset_ = null;
          }
          return radioPresetBuilder_;
        }

        private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite musicFavorite_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder> musicFavoriteBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public boolean hasMusicFavorite() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getMusicFavorite() {
          if (musicFavoriteBuilder_ == null) {
            return musicFavorite_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance() : musicFavorite_;
          } else {
            return musicFavoriteBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public Builder setMusicFavorite(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite value) {
          if (musicFavoriteBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            musicFavorite_ = value;
            onChanged();
          } else {
            musicFavoriteBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public Builder setMusicFavorite(
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder builderForValue) {
          if (musicFavoriteBuilder_ == null) {
            musicFavorite_ = builderForValue.build();
            onChanged();
          } else {
            musicFavoriteBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public Builder mergeMusicFavorite(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite value) {
          if (musicFavoriteBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                musicFavorite_ != null &&
                musicFavorite_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance()) {
              musicFavorite_ =
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.newBuilder(musicFavorite_).mergeFrom(value).buildPartial();
            } else {
              musicFavorite_ = value;
            }
            onChanged();
          } else {
            musicFavoriteBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public Builder clearMusicFavorite() {
          if (musicFavoriteBuilder_ == null) {
            musicFavorite_ = null;
            onChanged();
          } else {
            musicFavoriteBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder getMusicFavoriteBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getMusicFavoriteFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder getMusicFavoriteOrBuilder() {
          if (musicFavoriteBuilder_ != null) {
            return musicFavoriteBuilder_.getMessageOrBuilder();
          } else {
            return musicFavorite_ == null ?
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance() : musicFavorite_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.MusicFavourite musicFavorite = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder> 
            getMusicFavoriteFieldBuilder() {
          if (musicFavoriteBuilder_ == null) {
            musicFavoriteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder>(
                    getMusicFavorite(),
                    getParentForChildren(),
                    isClean());
            musicFavorite_ = null;
          }
          return musicFavoriteBuilder_;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> playLists_ =
          java.util.Collections.emptyList();
        private void ensurePlayListsIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            playLists_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList>(playLists_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder> playListsBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> getPlayListsList() {
          if (playListsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(playLists_);
          } else {
            return playListsBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public int getPlayListsCount() {
          if (playListsBuilder_ == null) {
            return playLists_.size();
          } else {
            return playListsBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getPlayLists(int index) {
          if (playListsBuilder_ == null) {
            return playLists_.get(index);
          } else {
            return playListsBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder setPlayLists(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList value) {
          if (playListsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlayListsIsMutable();
            playLists_.set(index, value);
            onChanged();
          } else {
            playListsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder setPlayLists(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder builderForValue) {
          if (playListsBuilder_ == null) {
            ensurePlayListsIsMutable();
            playLists_.set(index, builderForValue.build());
            onChanged();
          } else {
            playListsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder addPlayLists(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList value) {
          if (playListsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlayListsIsMutable();
            playLists_.add(value);
            onChanged();
          } else {
            playListsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder addPlayLists(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList value) {
          if (playListsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePlayListsIsMutable();
            playLists_.add(index, value);
            onChanged();
          } else {
            playListsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder addPlayLists(
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder builderForValue) {
          if (playListsBuilder_ == null) {
            ensurePlayListsIsMutable();
            playLists_.add(builderForValue.build());
            onChanged();
          } else {
            playListsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder addPlayLists(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder builderForValue) {
          if (playListsBuilder_ == null) {
            ensurePlayListsIsMutable();
            playLists_.add(index, builderForValue.build());
            onChanged();
          } else {
            playListsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder addAllPlayLists(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList> values) {
          if (playListsBuilder_ == null) {
            ensurePlayListsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, playLists_);
            onChanged();
          } else {
            playListsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder clearPlayLists() {
          if (playListsBuilder_ == null) {
            playLists_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            playListsBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public Builder removePlayLists(int index) {
          if (playListsBuilder_ == null) {
            ensurePlayListsIsMutable();
            playLists_.remove(index);
            onChanged();
          } else {
            playListsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder getPlayListsBuilder(
            int index) {
          return getPlayListsFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder getPlayListsOrBuilder(
            int index) {
          if (playListsBuilder_ == null) {
            return playLists_.get(index);  } else {
            return playListsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder> 
             getPlayListsOrBuilderList() {
          if (playListsBuilder_ != null) {
            return playListsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(playLists_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder addPlayListsBuilder() {
          return getPlayListsFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder addPlayListsBuilder(
            int index) {
          return getPlayListsFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.PlayList playLists = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder> 
             getPlayListsBuilderList() {
          return getPlayListsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder> 
            getPlayListsFieldBuilder() {
          if (playListsBuilder_ == null) {
            playListsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder>(
                    playLists_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            playLists_ = null;
          }
          return playListsBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.InfotainmentPreference)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.InfotainmentPreference)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<InfotainmentPreference>
          PARSER = new com.google.protobuf.AbstractParser<InfotainmentPreference>() {
        public InfotainmentPreference parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new InfotainmentPreference(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface RadioPresetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.RadioPreset)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> 
          getStationsList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getStations(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      int getStationsCount();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder> 
          getStationsOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder getStationsOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.RadioPreset}
     */
    public  static final class RadioPreset extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.RadioPreset)
        RadioPresetOrBuilder {
      // Use RadioPreset.newBuilder() to construct.
      private RadioPreset(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private RadioPreset() {
        stations_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private RadioPreset(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  stations_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation>();
                  mutable_bitField0_ |= 0x00000001;
                }
                stations_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            stations_ = java.util.Collections.unmodifiableList(stations_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder.class);
      }

      public interface RadioStationOrBuilder extends
          // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
         */
        boolean hasStationType();
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType getStationType();

        /**
         * <code>optional int32 stationFrequency = 2;</code>
         */
        boolean hasStationFrequency();
        /**
         * <code>optional int32 stationFrequency = 2;</code>
         */
        int getStationFrequency();

        /**
         * <code>optional string stationName = 3;</code>
         */
        boolean hasStationName();
        /**
         * <code>optional string stationName = 3;</code>
         */
        java.lang.String getStationName();
        /**
         * <code>optional string stationName = 3;</code>
         */
        com.google.protobuf.ByteString
            getStationNameBytes();
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation}
       */
      public  static final class RadioStation extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation)
          RadioStationOrBuilder {
        // Use RadioStation.newBuilder() to construct.
        private RadioStation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private RadioStation() {
          stationType_ = 0;
          stationFrequency_ = 0;
          stationName_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private RadioStation(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType value = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    stationType_ = rawValue;
                  }
                  break;
                }
                case 16: {
                  bitField0_ |= 0x00000002;
                  stationFrequency_ = input.readInt32();
                  break;
                }
                case 26: {
                  com.google.protobuf.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000004;
                  stationName_ = bs;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder.class);
        }

        /**
         * Protobuf enum {@code com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType}
         */
        public enum StationType
            implements com.google.protobuf.ProtocolMessageEnum {
          /**
           * <code>AM = 0;</code>
           */
          AM(0),
          /**
           * <code>FM = 1;</code>
           */
          FM(1),
          ;

          /**
           * <code>AM = 0;</code>
           */
          public static final int AM_VALUE = 0;
          /**
           * <code>FM = 1;</code>
           */
          public static final int FM_VALUE = 1;


          public final int getNumber() {
            return value;
          }

          /**
           * @deprecated Use {@link #forNumber(int)} instead.
           */
          @java.lang.Deprecated
          public static StationType valueOf(int value) {
            return forNumber(value);
          }

          public static StationType forNumber(int value) {
            switch (value) {
              case 0: return AM;
              case 1: return FM;
              default: return null;
            }
          }

          public static com.google.protobuf.Internal.EnumLiteMap<StationType>
              internalGetValueMap() {
            return internalValueMap;
          }
          private static final com.google.protobuf.Internal.EnumLiteMap<
              StationType> internalValueMap =
                new com.google.protobuf.Internal.EnumLiteMap<StationType>() {
                  public StationType findValueByNumber(int number) {
                    return StationType.forNumber(number);
                  }
                };

          public final com.google.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(ordinal());
          }
          public final com.google.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.getDescriptor().getEnumTypes().get(0);
          }

          private static final StationType[] VALUES = values();

          public static StationType valueOf(
              com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
            if (desc.getType() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "EnumValueDescriptor is not for this type.");
            }
            return VALUES[desc.getIndex()];
          }

          private final int value;

          private StationType(int value) {
            this.value = value;
          }

          // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType)
        }

        private int bitField0_;
        public static final int STATIONTYPE_FIELD_NUMBER = 1;
        private int stationType_;
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
         */
        public boolean hasStationType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType getStationType() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType result = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType.valueOf(stationType_);
          return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType.AM : result;
        }

        public static final int STATIONFREQUENCY_FIELD_NUMBER = 2;
        private int stationFrequency_;
        /**
         * <code>optional int32 stationFrequency = 2;</code>
         */
        public boolean hasStationFrequency() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int32 stationFrequency = 2;</code>
         */
        public int getStationFrequency() {
          return stationFrequency_;
        }

        public static final int STATIONNAME_FIELD_NUMBER = 3;
        private volatile java.lang.Object stationName_;
        /**
         * <code>optional string stationName = 3;</code>
         */
        public boolean hasStationName() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional string stationName = 3;</code>
         */
        public java.lang.String getStationName() {
          java.lang.Object ref = stationName_;
          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();
            if (bs.isValidUtf8()) {
              stationName_ = s;
            }
            return s;
          }
        }
        /**
         * <code>optional string stationName = 3;</code>
         */
        public com.google.protobuf.ByteString
            getStationNameBytes() {
          java.lang.Object ref = stationName_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stationName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, stationType_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeInt32(2, stationFrequency_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 3, stationName_);
          }
          unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeEnumSize(1, stationType_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(2, stationFrequency_);
          }
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, stationName_);
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation)) {
            return super.equals(obj);
          }
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation) obj;

          boolean result = true;
          result = result && (hasStationType() == other.hasStationType());
          if (hasStationType()) {
            result = result && stationType_ == other.stationType_;
          }
          result = result && (hasStationFrequency() == other.hasStationFrequency());
          if (hasStationFrequency()) {
            result = result && (getStationFrequency()
                == other.getStationFrequency());
          }
          result = result && (hasStationName() == other.hasStationName());
          if (hasStationName()) {
            result = result && getStationName()
                .equals(other.getStationName());
          }
          result = result && unknownFields.equals(other.unknownFields);
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptorForType().hashCode();
          if (hasStationType()) {
            hash = (37 * hash) + STATIONTYPE_FIELD_NUMBER;
            hash = (53 * hash) + stationType_;
          }
          if (hasStationFrequency()) {
            hash = (37 * hash) + STATIONFREQUENCY_FIELD_NUMBER;
            hash = (53 * hash) + getStationFrequency();
          }
          if (hasStationName()) {
            hash = (37 * hash) + STATIONNAME_FIELD_NUMBER;
            hash = (53 * hash) + getStationName().hashCode();
          }
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        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;
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation)
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder.class);
          }

          // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          public Builder clear() {
            super.clear();
            stationType_ = 0;
            bitField0_ = (bitField0_ & ~0x00000001);
            stationFrequency_ = 0;
            bitField0_ = (bitField0_ & ~0x00000002);
            stationName_ = "";
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor;
          }

          public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getDefaultInstanceForType() {
            return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.getDefaultInstance();
          }

          public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation build() {
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation buildPartial() {
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.stationType_ = stationType_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            result.stationFrequency_ = stationFrequency_;
            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
              to_bitField0_ |= 0x00000004;
            }
            result.stationName_ = stationName_;
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation) {
              return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation other) {
            if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.getDefaultInstance()) return this;
            if (other.hasStationType()) {
              setStationType(other.getStationType());
            }
            if (other.hasStationFrequency()) {
              setStationFrequency(other.getStationFrequency());
            }
            if (other.hasStationName()) {
              bitField0_ |= 0x00000004;
              stationName_ = other.stationName_;
              onChanged();
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          private int stationType_ = 0;
          /**
           * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
           */
          public boolean hasStationType() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType getStationType() {
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType result = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType.valueOf(stationType_);
            return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType.AM : result;
          }
          /**
           * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
           */
          public Builder setStationType(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.StationType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            stationType_ = value.getNumber();
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation.StationType stationType = 1;</code>
           */
          public Builder clearStationType() {
            bitField0_ = (bitField0_ & ~0x00000001);
            stationType_ = 0;
            onChanged();
            return this;
          }

          private int stationFrequency_ ;
          /**
           * <code>optional int32 stationFrequency = 2;</code>
           */
          public boolean hasStationFrequency() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional int32 stationFrequency = 2;</code>
           */
          public int getStationFrequency() {
            return stationFrequency_;
          }
          /**
           * <code>optional int32 stationFrequency = 2;</code>
           */
          public Builder setStationFrequency(int value) {
            bitField0_ |= 0x00000002;
            stationFrequency_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional int32 stationFrequency = 2;</code>
           */
          public Builder clearStationFrequency() {
            bitField0_ = (bitField0_ & ~0x00000002);
            stationFrequency_ = 0;
            onChanged();
            return this;
          }

          private java.lang.Object stationName_ = "";
          /**
           * <code>optional string stationName = 3;</code>
           */
          public boolean hasStationName() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional string stationName = 3;</code>
           */
          public java.lang.String getStationName() {
            java.lang.Object ref = stationName_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                stationName_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>optional string stationName = 3;</code>
           */
          public com.google.protobuf.ByteString
              getStationNameBytes() {
            java.lang.Object ref = stationName_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              stationName_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <code>optional string stationName = 3;</code>
           */
          public Builder setStationName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
            stationName_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional string stationName = 3;</code>
           */
          public Builder clearStationName() {
            bitField0_ = (bitField0_ & ~0x00000004);
            stationName_ = getDefaultInstance().getStationName();
            onChanged();
            return this;
          }
          /**
           * <code>optional string stationName = 3;</code>
           */
          public Builder setStationNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
            stationName_ = value;
            onChanged();
            return this;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

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


          // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation)
        }

        // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation)
        private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation();
        }

        public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated public static final com.google.protobuf.Parser<RadioStation>
            PARSER = new com.google.protobuf.AbstractParser<RadioStation>() {
          public RadioStation parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new RadioStation(input, extensionRegistry);
          }
        };

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

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

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public static final int STATIONS_FIELD_NUMBER = 1;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> stations_;
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> getStationsList() {
        return stations_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder> 
          getStationsOrBuilderList() {
        return stations_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      public int getStationsCount() {
        return stations_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getStations(int index) {
        return stations_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder getStationsOrBuilder(
          int index) {
        return stations_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < stations_.size(); i++) {
          output.writeMessage(1, stations_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        for (int i = 0; i < stations_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, stations_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset) obj;

        boolean result = true;
        result = result && getStationsList()
            .equals(other.getStationsList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getStationsCount() > 0) {
          hash = (37 * hash) + STATIONS_FIELD_NUMBER;
          hash = (53 * hash) + getStationsList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.RadioPreset}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.RadioPreset)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPresetOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getStationsFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (stationsBuilder_ == null) {
            stations_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            stationsBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset(this);
          int from_bitField0_ = bitField0_;
          if (stationsBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              stations_ = java.util.Collections.unmodifiableList(stations_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.stations_ = stations_;
          } else {
            result.stations_ = stationsBuilder_.build();
          }
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.getDefaultInstance()) return this;
          if (stationsBuilder_ == null) {
            if (!other.stations_.isEmpty()) {
              if (stations_.isEmpty()) {
                stations_ = other.stations_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureStationsIsMutable();
                stations_.addAll(other.stations_);
              }
              onChanged();
            }
          } else {
            if (!other.stations_.isEmpty()) {
              if (stationsBuilder_.isEmpty()) {
                stationsBuilder_.dispose();
                stationsBuilder_ = null;
                stations_ = other.stations_;
                bitField0_ = (bitField0_ & ~0x00000001);
                stationsBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getStationsFieldBuilder() : null;
              } else {
                stationsBuilder_.addAllMessages(other.stations_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> stations_ =
          java.util.Collections.emptyList();
        private void ensureStationsIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            stations_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation>(stations_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder> stationsBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> getStationsList() {
          if (stationsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(stations_);
          } else {
            return stationsBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public int getStationsCount() {
          if (stationsBuilder_ == null) {
            return stations_.size();
          } else {
            return stationsBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation getStations(int index) {
          if (stationsBuilder_ == null) {
            return stations_.get(index);
          } else {
            return stationsBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder setStations(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation value) {
          if (stationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureStationsIsMutable();
            stations_.set(index, value);
            onChanged();
          } else {
            stationsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder setStations(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder builderForValue) {
          if (stationsBuilder_ == null) {
            ensureStationsIsMutable();
            stations_.set(index, builderForValue.build());
            onChanged();
          } else {
            stationsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder addStations(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation value) {
          if (stationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureStationsIsMutable();
            stations_.add(value);
            onChanged();
          } else {
            stationsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder addStations(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation value) {
          if (stationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureStationsIsMutable();
            stations_.add(index, value);
            onChanged();
          } else {
            stationsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder addStations(
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder builderForValue) {
          if (stationsBuilder_ == null) {
            ensureStationsIsMutable();
            stations_.add(builderForValue.build());
            onChanged();
          } else {
            stationsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder addStations(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder builderForValue) {
          if (stationsBuilder_ == null) {
            ensureStationsIsMutable();
            stations_.add(index, builderForValue.build());
            onChanged();
          } else {
            stationsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder addAllStations(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation> values) {
          if (stationsBuilder_ == null) {
            ensureStationsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, stations_);
            onChanged();
          } else {
            stationsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder clearStations() {
          if (stationsBuilder_ == null) {
            stations_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            stationsBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public Builder removeStations(int index) {
          if (stationsBuilder_ == null) {
            ensureStationsIsMutable();
            stations_.remove(index);
            onChanged();
          } else {
            stationsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder getStationsBuilder(
            int index) {
          return getStationsFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder getStationsOrBuilder(
            int index) {
          if (stationsBuilder_ == null) {
            return stations_.get(index);  } else {
            return stationsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder> 
             getStationsOrBuilderList() {
          if (stationsBuilder_ != null) {
            return stationsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(stations_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder addStationsBuilder() {
          return getStationsFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder addStationsBuilder(
            int index) {
          return getStationsFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.RadioPreset.RadioStation stations = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder> 
             getStationsBuilderList() {
          return getStationsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder> 
            getStationsFieldBuilder() {
          if (stationsBuilder_ == null) {
            stationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStation.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset.RadioStationOrBuilder>(
                    stations_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            stations_ = null;
          }
          return stationsBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.RadioPreset)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.RadioPreset)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<RadioPreset>
          PARSER = new com.google.protobuf.AbstractParser<RadioPreset>() {
        public RadioPreset parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new RadioPreset(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.RadioPreset getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface MusicFavouriteOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.MusicFavourite)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated string bandNames = 1;</code>
       */
      java.util.List<java.lang.String>
          getBandNamesList();
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      int getBandNamesCount();
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      java.lang.String getBandNames(int index);
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      com.google.protobuf.ByteString
          getBandNamesBytes(int index);

      /**
       * <code>repeated string songNames = 2;</code>
       */
      java.util.List<java.lang.String>
          getSongNamesList();
      /**
       * <code>repeated string songNames = 2;</code>
       */
      int getSongNamesCount();
      /**
       * <code>repeated string songNames = 2;</code>
       */
      java.lang.String getSongNames(int index);
      /**
       * <code>repeated string songNames = 2;</code>
       */
      com.google.protobuf.ByteString
          getSongNamesBytes(int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.MusicFavourite}
     */
    public  static final class MusicFavourite extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.MusicFavourite)
        MusicFavouriteOrBuilder {
      // Use MusicFavourite.newBuilder() to construct.
      private MusicFavourite(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private MusicFavourite() {
        bandNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private MusicFavourite(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  bandNames_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                bandNames_.add(bs);
                break;
              }
              case 18: {
                com.google.protobuf.ByteString bs = input.readBytes();
                if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                  songNames_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000002;
                }
                songNames_.add(bs);
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            bandNames_ = bandNames_.getUnmodifiableView();
          }
          if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = songNames_.getUnmodifiableView();
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder.class);
      }

      public static final int BANDNAMES_FIELD_NUMBER = 1;
      private com.google.protobuf.LazyStringList bandNames_;
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getBandNamesList() {
        return bandNames_;
      }
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      public int getBandNamesCount() {
        return bandNames_.size();
      }
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      public java.lang.String getBandNames(int index) {
        return bandNames_.get(index);
      }
      /**
       * <code>repeated string bandNames = 1;</code>
       */
      public com.google.protobuf.ByteString
          getBandNamesBytes(int index) {
        return bandNames_.getByteString(index);
      }

      public static final int SONGNAMES_FIELD_NUMBER = 2;
      private com.google.protobuf.LazyStringList songNames_;
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSongNamesList() {
        return songNames_;
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public int getSongNamesCount() {
        return songNames_.size();
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public java.lang.String getSongNames(int index) {
        return songNames_.get(index);
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSongNamesBytes(int index) {
        return songNames_.getByteString(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < bandNames_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, bandNames_.getRaw(i));
        }
        for (int i = 0; i < songNames_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, songNames_.getRaw(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < bandNames_.size(); i++) {
            dataSize += computeStringSizeNoTag(bandNames_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getBandNamesList().size();
        }
        {
          int dataSize = 0;
          for (int i = 0; i < songNames_.size(); i++) {
            dataSize += computeStringSizeNoTag(songNames_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getSongNamesList().size();
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite) obj;

        boolean result = true;
        result = result && getBandNamesList()
            .equals(other.getBandNamesList());
        result = result && getSongNamesList()
            .equals(other.getSongNamesList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getBandNamesCount() > 0) {
          hash = (37 * hash) + BANDNAMES_FIELD_NUMBER;
          hash = (53 * hash) + getBandNamesList().hashCode();
        }
        if (getSongNamesCount() > 0) {
          hash = (37 * hash) + SONGNAMES_FIELD_NUMBER;
          hash = (53 * hash) + getSongNamesList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.MusicFavourite}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.MusicFavourite)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavouriteOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        public Builder clear() {
          super.clear();
          bandNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite(this);
          int from_bitField0_ = bitField0_;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            bandNames_ = bandNames_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.bandNames_ = bandNames_;
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = songNames_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.songNames_ = songNames_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite.getDefaultInstance()) return this;
          if (!other.bandNames_.isEmpty()) {
            if (bandNames_.isEmpty()) {
              bandNames_ = other.bandNames_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureBandNamesIsMutable();
              bandNames_.addAll(other.bandNames_);
            }
            onChanged();
          }
          if (!other.songNames_.isEmpty()) {
            if (songNames_.isEmpty()) {
              songNames_ = other.songNames_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSongNamesIsMutable();
              songNames_.addAll(other.songNames_);
            }
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringList bandNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureBandNamesIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            bandNames_ = new com.google.protobuf.LazyStringArrayList(bandNames_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public com.google.protobuf.ProtocolStringList
            getBandNamesList() {
          return bandNames_.getUnmodifiableView();
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public int getBandNamesCount() {
          return bandNames_.size();
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public java.lang.String getBandNames(int index) {
          return bandNames_.get(index);
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public com.google.protobuf.ByteString
            getBandNamesBytes(int index) {
          return bandNames_.getByteString(index);
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public Builder setBandNames(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureBandNamesIsMutable();
          bandNames_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public Builder addBandNames(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureBandNamesIsMutable();
          bandNames_.add(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public Builder addAllBandNames(
            java.lang.Iterable<java.lang.String> values) {
          ensureBandNamesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, bandNames_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public Builder clearBandNames() {
          bandNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string bandNames = 1;</code>
         */
        public Builder addBandNamesBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureBandNamesIsMutable();
          bandNames_.add(value);
          onChanged();
          return this;
        }

        private com.google.protobuf.LazyStringList songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureSongNamesIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = new com.google.protobuf.LazyStringArrayList(songNames_);
            bitField0_ |= 0x00000002;
           }
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public com.google.protobuf.ProtocolStringList
            getSongNamesList() {
          return songNames_.getUnmodifiableView();
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public int getSongNamesCount() {
          return songNames_.size();
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public java.lang.String getSongNames(int index) {
          return songNames_.get(index);
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public com.google.protobuf.ByteString
            getSongNamesBytes(int index) {
          return songNames_.getByteString(index);
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder setSongNames(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addSongNames(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.add(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addAllSongNames(
            java.lang.Iterable<java.lang.String> values) {
          ensureSongNamesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, songNames_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder clearSongNames() {
          songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addSongNamesBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.add(value);
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.MusicFavourite)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.MusicFavourite)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<MusicFavourite>
          PARSER = new com.google.protobuf.AbstractParser<MusicFavourite>() {
        public MusicFavourite parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new MusicFavourite(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.MusicFavourite getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface PlayListOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.PlayList)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional string name = 1;</code>
       */
      boolean hasName();
      /**
       * <code>optional string name = 1;</code>
       */
      java.lang.String getName();
      /**
       * <code>optional string name = 1;</code>
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * <code>repeated string songNames = 2;</code>
       */
      java.util.List<java.lang.String>
          getSongNamesList();
      /**
       * <code>repeated string songNames = 2;</code>
       */
      int getSongNamesCount();
      /**
       * <code>repeated string songNames = 2;</code>
       */
      java.lang.String getSongNames(int index);
      /**
       * <code>repeated string songNames = 2;</code>
       */
      com.google.protobuf.ByteString
          getSongNamesBytes(int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.PlayList}
     */
    public  static final class PlayList extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.PlayList)
        PlayListOrBuilder {
      // Use PlayList.newBuilder() to construct.
      private PlayList(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private PlayList() {
        name_ = "";
        songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private PlayList(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                name_ = bs;
                break;
              }
              case 18: {
                com.google.protobuf.ByteString bs = input.readBytes();
                if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                  songNames_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000002;
                }
                songNames_.add(bs);
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = songNames_.getUnmodifiableView();
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder.class);
      }

      private int bitField0_;
      public static final int NAME_FIELD_NUMBER = 1;
      private volatile java.lang.Object name_;
      /**
       * <code>optional string name = 1;</code>
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string name = 1;</code>
       */
      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();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string name = 1;</code>
       */
      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 SONGNAMES_FIELD_NUMBER = 2;
      private com.google.protobuf.LazyStringList songNames_;
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSongNamesList() {
        return songNames_;
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public int getSongNamesCount() {
        return songNames_.size();
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public java.lang.String getSongNames(int index) {
        return songNames_.get(index);
      }
      /**
       * <code>repeated string songNames = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSongNamesBytes(int index) {
        return songNames_.getByteString(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
        }
        for (int i = 0; i < songNames_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, songNames_.getRaw(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < songNames_.size(); i++) {
            dataSize += computeStringSizeNoTag(songNames_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getSongNamesList().size();
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList) obj;

        boolean result = true;
        result = result && (hasName() == other.hasName());
        if (hasName()) {
          result = result && getName()
              .equals(other.getName());
        }
        result = result && getSongNamesList()
            .equals(other.getSongNamesList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (getSongNamesCount() > 0) {
          hash = (37 * hash) + SONGNAMES_FIELD_NUMBER;
          hash = (53 * hash) + getSongNamesList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.PlayList}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.PlayList)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayListOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        public Builder clear() {
          super.clear();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = songNames_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.songNames_ = songNames_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList.getDefaultInstance()) return this;
          if (other.hasName()) {
            bitField0_ |= 0x00000001;
            name_ = other.name_;
            onChanged();
          }
          if (!other.songNames_.isEmpty()) {
            if (songNames_.isEmpty()) {
              songNames_ = other.songNames_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSongNamesIsMutable();
              songNames_.addAll(other.songNames_);
            }
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object name_ = "";
        /**
         * <code>optional string name = 1;</code>
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string name = 1;</code>
         */
        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();
            if (bs.isValidUtf8()) {
              name_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string name = 1;</code>
         */
        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;
          }
        }
        /**
         * <code>optional string name = 1;</code>
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string name = 1;</code>
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * <code>optional string name = 1;</code>
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }

        private com.google.protobuf.LazyStringList songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureSongNamesIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            songNames_ = new com.google.protobuf.LazyStringArrayList(songNames_);
            bitField0_ |= 0x00000002;
           }
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public com.google.protobuf.ProtocolStringList
            getSongNamesList() {
          return songNames_.getUnmodifiableView();
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public int getSongNamesCount() {
          return songNames_.size();
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public java.lang.String getSongNames(int index) {
          return songNames_.get(index);
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public com.google.protobuf.ByteString
            getSongNamesBytes(int index) {
          return songNames_.getByteString(index);
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder setSongNames(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addSongNames(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.add(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addAllSongNames(
            java.lang.Iterable<java.lang.String> values) {
          ensureSongNamesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, songNames_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder clearSongNames() {
          songNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>repeated string songNames = 2;</code>
         */
        public Builder addSongNamesBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureSongNamesIsMutable();
          songNames_.add(value);
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.PlayList)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.PlayList)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<PlayList>
          PARSER = new com.google.protobuf.AbstractParser<PlayList>() {
        public PlayList parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new PlayList(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.PlayList getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface LightingPreferenceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.LightingPreference)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional int32 ambientR = 1;</code>
       */
      boolean hasAmbientR();
      /**
       * <code>optional int32 ambientR = 1;</code>
       */
      int getAmbientR();

      /**
       * <code>optional int32 ambientG = 2;</code>
       */
      boolean hasAmbientG();
      /**
       * <code>optional int32 ambientG = 2;</code>
       */
      int getAmbientG();

      /**
       * <code>optional int32 ambientB = 3;</code>
       */
      boolean hasAmbientB();
      /**
       * <code>optional int32 ambientB = 3;</code>
       */
      int getAmbientB();

      /**
       * <code>optional int32 ambientLevel = 4;</code>
       */
      boolean hasAmbientLevel();
      /**
       * <code>optional int32 ambientLevel = 4;</code>
       */
      int getAmbientLevel();
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.LightingPreference}
     */
    public  static final class LightingPreference extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.LightingPreference)
        LightingPreferenceOrBuilder {
      // Use LightingPreference.newBuilder() to construct.
      private LightingPreference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private LightingPreference() {
        ambientR_ = 0;
        ambientG_ = 0;
        ambientB_ = 0;
        ambientLevel_ = 0;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private LightingPreference(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                ambientR_ = input.readInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                ambientG_ = input.readInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                ambientB_ = input.readInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                ambientLevel_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder.class);
      }

      private int bitField0_;
      public static final int AMBIENTR_FIELD_NUMBER = 1;
      private int ambientR_;
      /**
       * <code>optional int32 ambientR = 1;</code>
       */
      public boolean hasAmbientR() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 ambientR = 1;</code>
       */
      public int getAmbientR() {
        return ambientR_;
      }

      public static final int AMBIENTG_FIELD_NUMBER = 2;
      private int ambientG_;
      /**
       * <code>optional int32 ambientG = 2;</code>
       */
      public boolean hasAmbientG() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 ambientG = 2;</code>
       */
      public int getAmbientG() {
        return ambientG_;
      }

      public static final int AMBIENTB_FIELD_NUMBER = 3;
      private int ambientB_;
      /**
       * <code>optional int32 ambientB = 3;</code>
       */
      public boolean hasAmbientB() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 ambientB = 3;</code>
       */
      public int getAmbientB() {
        return ambientB_;
      }

      public static final int AMBIENTLEVEL_FIELD_NUMBER = 4;
      private int ambientLevel_;
      /**
       * <code>optional int32 ambientLevel = 4;</code>
       */
      public boolean hasAmbientLevel() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int32 ambientLevel = 4;</code>
       */
      public int getAmbientLevel() {
        return ambientLevel_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, ambientR_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, ambientG_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt32(3, ambientB_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt32(4, ambientLevel_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, ambientR_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, ambientG_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, ambientB_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, ambientLevel_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference) obj;

        boolean result = true;
        result = result && (hasAmbientR() == other.hasAmbientR());
        if (hasAmbientR()) {
          result = result && (getAmbientR()
              == other.getAmbientR());
        }
        result = result && (hasAmbientG() == other.hasAmbientG());
        if (hasAmbientG()) {
          result = result && (getAmbientG()
              == other.getAmbientG());
        }
        result = result && (hasAmbientB() == other.hasAmbientB());
        if (hasAmbientB()) {
          result = result && (getAmbientB()
              == other.getAmbientB());
        }
        result = result && (hasAmbientLevel() == other.hasAmbientLevel());
        if (hasAmbientLevel()) {
          result = result && (getAmbientLevel()
              == other.getAmbientLevel());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasAmbientR()) {
          hash = (37 * hash) + AMBIENTR_FIELD_NUMBER;
          hash = (53 * hash) + getAmbientR();
        }
        if (hasAmbientG()) {
          hash = (37 * hash) + AMBIENTG_FIELD_NUMBER;
          hash = (53 * hash) + getAmbientG();
        }
        if (hasAmbientB()) {
          hash = (37 * hash) + AMBIENTB_FIELD_NUMBER;
          hash = (53 * hash) + getAmbientB();
        }
        if (hasAmbientLevel()) {
          hash = (37 * hash) + AMBIENTLEVEL_FIELD_NUMBER;
          hash = (53 * hash) + getAmbientLevel();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.LightingPreference}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.LightingPreference)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        public Builder clear() {
          super.clear();
          ambientR_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          ambientG_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          ambientB_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          ambientLevel_ = 0;
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.ambientR_ = ambientR_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.ambientG_ = ambientG_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.ambientB_ = ambientB_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.ambientLevel_ = ambientLevel_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance()) return this;
          if (other.hasAmbientR()) {
            setAmbientR(other.getAmbientR());
          }
          if (other.hasAmbientG()) {
            setAmbientG(other.getAmbientG());
          }
          if (other.hasAmbientB()) {
            setAmbientB(other.getAmbientB());
          }
          if (other.hasAmbientLevel()) {
            setAmbientLevel(other.getAmbientLevel());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int ambientR_ ;
        /**
         * <code>optional int32 ambientR = 1;</code>
         */
        public boolean hasAmbientR() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int32 ambientR = 1;</code>
         */
        public int getAmbientR() {
          return ambientR_;
        }
        /**
         * <code>optional int32 ambientR = 1;</code>
         */
        public Builder setAmbientR(int value) {
          bitField0_ |= 0x00000001;
          ambientR_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 ambientR = 1;</code>
         */
        public Builder clearAmbientR() {
          bitField0_ = (bitField0_ & ~0x00000001);
          ambientR_ = 0;
          onChanged();
          return this;
        }

        private int ambientG_ ;
        /**
         * <code>optional int32 ambientG = 2;</code>
         */
        public boolean hasAmbientG() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int32 ambientG = 2;</code>
         */
        public int getAmbientG() {
          return ambientG_;
        }
        /**
         * <code>optional int32 ambientG = 2;</code>
         */
        public Builder setAmbientG(int value) {
          bitField0_ |= 0x00000002;
          ambientG_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 ambientG = 2;</code>
         */
        public Builder clearAmbientG() {
          bitField0_ = (bitField0_ & ~0x00000002);
          ambientG_ = 0;
          onChanged();
          return this;
        }

        private int ambientB_ ;
        /**
         * <code>optional int32 ambientB = 3;</code>
         */
        public boolean hasAmbientB() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional int32 ambientB = 3;</code>
         */
        public int getAmbientB() {
          return ambientB_;
        }
        /**
         * <code>optional int32 ambientB = 3;</code>
         */
        public Builder setAmbientB(int value) {
          bitField0_ |= 0x00000004;
          ambientB_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 ambientB = 3;</code>
         */
        public Builder clearAmbientB() {
          bitField0_ = (bitField0_ & ~0x00000004);
          ambientB_ = 0;
          onChanged();
          return this;
        }

        private int ambientLevel_ ;
        /**
         * <code>optional int32 ambientLevel = 4;</code>
         */
        public boolean hasAmbientLevel() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional int32 ambientLevel = 4;</code>
         */
        public int getAmbientLevel() {
          return ambientLevel_;
        }
        /**
         * <code>optional int32 ambientLevel = 4;</code>
         */
        public Builder setAmbientLevel(int value) {
          bitField0_ |= 0x00000008;
          ambientLevel_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 ambientLevel = 4;</code>
         */
        public Builder clearAmbientLevel() {
          bitField0_ = (bitField0_ & ~0x00000008);
          ambientLevel_ = 0;
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.LightingPreference)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.LightingPreference)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<LightingPreference>
          PARSER = new com.google.protobuf.AbstractParser<LightingPreference>() {
        public LightingPreference parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new LightingPreference(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface ClimatePreferenceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.ClimatePreference)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> 
          getZoneTemperaturesList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getZoneTemperatures(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      int getZoneTemperaturesCount();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder> 
          getZoneTemperaturesOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder getZoneTemperaturesOrBuilder(
          int index);

      /**
       * <code>optional bool isStreeringWheelHeatActive = 2;</code>
       */
      boolean hasIsStreeringWheelHeatActive();
      /**
       * <code>optional bool isStreeringWheelHeatActive = 2;</code>
       */
      boolean getIsStreeringWheelHeatActive();
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.ClimatePreference}
     */
    public  static final class ClimatePreference extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.ClimatePreference)
        ClimatePreferenceOrBuilder {
      // Use ClimatePreference.newBuilder() to construct.
      private ClimatePreference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private ClimatePreference() {
        zoneTemperatures_ = java.util.Collections.emptyList();
        isStreeringWheelHeatActive_ = false;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private ClimatePreference(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  zoneTemperatures_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature>();
                  mutable_bitField0_ |= 0x00000001;
                }
                zoneTemperatures_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.PARSER, extensionRegistry));
                break;
              }
              case 16: {
                bitField0_ |= 0x00000001;
                isStreeringWheelHeatActive_ = input.readBool();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            zoneTemperatures_ = java.util.Collections.unmodifiableList(zoneTemperatures_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder.class);
      }

      private int bitField0_;
      public static final int ZONETEMPERATURES_FIELD_NUMBER = 1;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> zoneTemperatures_;
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> getZoneTemperaturesList() {
        return zoneTemperatures_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder> 
          getZoneTemperaturesOrBuilderList() {
        return zoneTemperatures_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      public int getZoneTemperaturesCount() {
        return zoneTemperatures_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getZoneTemperatures(int index) {
        return zoneTemperatures_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder getZoneTemperaturesOrBuilder(
          int index) {
        return zoneTemperatures_.get(index);
      }

      public static final int ISSTREERINGWHEELHEATACTIVE_FIELD_NUMBER = 2;
      private boolean isStreeringWheelHeatActive_;
      /**
       * <code>optional bool isStreeringWheelHeatActive = 2;</code>
       */
      public boolean hasIsStreeringWheelHeatActive() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bool isStreeringWheelHeatActive = 2;</code>
       */
      public boolean getIsStreeringWheelHeatActive() {
        return isStreeringWheelHeatActive_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < zoneTemperatures_.size(); i++) {
          output.writeMessage(1, zoneTemperatures_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBool(2, isStreeringWheelHeatActive_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        for (int i = 0; i < zoneTemperatures_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, zoneTemperatures_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(2, isStreeringWheelHeatActive_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference) obj;

        boolean result = true;
        result = result && getZoneTemperaturesList()
            .equals(other.getZoneTemperaturesList());
        result = result && (hasIsStreeringWheelHeatActive() == other.hasIsStreeringWheelHeatActive());
        if (hasIsStreeringWheelHeatActive()) {
          result = result && (getIsStreeringWheelHeatActive()
              == other.getIsStreeringWheelHeatActive());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getZoneTemperaturesCount() > 0) {
          hash = (37 * hash) + ZONETEMPERATURES_FIELD_NUMBER;
          hash = (53 * hash) + getZoneTemperaturesList().hashCode();
        }
        if (hasIsStreeringWheelHeatActive()) {
          hash = (37 * hash) + ISSTREERINGWHEELHEATACTIVE_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
              getIsStreeringWheelHeatActive());
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.ClimatePreference}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.ClimatePreference)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getZoneTemperaturesFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (zoneTemperaturesBuilder_ == null) {
            zoneTemperatures_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            zoneTemperaturesBuilder_.clear();
          }
          isStreeringWheelHeatActive_ = false;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (zoneTemperaturesBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              zoneTemperatures_ = java.util.Collections.unmodifiableList(zoneTemperatures_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.zoneTemperatures_ = zoneTemperatures_;
          } else {
            result.zoneTemperatures_ = zoneTemperaturesBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000001;
          }
          result.isStreeringWheelHeatActive_ = isStreeringWheelHeatActive_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance()) return this;
          if (zoneTemperaturesBuilder_ == null) {
            if (!other.zoneTemperatures_.isEmpty()) {
              if (zoneTemperatures_.isEmpty()) {
                zoneTemperatures_ = other.zoneTemperatures_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureZoneTemperaturesIsMutable();
                zoneTemperatures_.addAll(other.zoneTemperatures_);
              }
              onChanged();
            }
          } else {
            if (!other.zoneTemperatures_.isEmpty()) {
              if (zoneTemperaturesBuilder_.isEmpty()) {
                zoneTemperaturesBuilder_.dispose();
                zoneTemperaturesBuilder_ = null;
                zoneTemperatures_ = other.zoneTemperatures_;
                bitField0_ = (bitField0_ & ~0x00000001);
                zoneTemperaturesBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getZoneTemperaturesFieldBuilder() : null;
              } else {
                zoneTemperaturesBuilder_.addAllMessages(other.zoneTemperatures_);
              }
            }
          }
          if (other.hasIsStreeringWheelHeatActive()) {
            setIsStreeringWheelHeatActive(other.getIsStreeringWheelHeatActive());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> zoneTemperatures_ =
          java.util.Collections.emptyList();
        private void ensureZoneTemperaturesIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            zoneTemperatures_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature>(zoneTemperatures_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder> zoneTemperaturesBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> getZoneTemperaturesList() {
          if (zoneTemperaturesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(zoneTemperatures_);
          } else {
            return zoneTemperaturesBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public int getZoneTemperaturesCount() {
          if (zoneTemperaturesBuilder_ == null) {
            return zoneTemperatures_.size();
          } else {
            return zoneTemperaturesBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getZoneTemperatures(int index) {
          if (zoneTemperaturesBuilder_ == null) {
            return zoneTemperatures_.get(index);
          } else {
            return zoneTemperaturesBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder setZoneTemperatures(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature value) {
          if (zoneTemperaturesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.set(index, value);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder setZoneTemperatures(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder builderForValue) {
          if (zoneTemperaturesBuilder_ == null) {
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.set(index, builderForValue.build());
            onChanged();
          } else {
            zoneTemperaturesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder addZoneTemperatures(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature value) {
          if (zoneTemperaturesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.add(value);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder addZoneTemperatures(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature value) {
          if (zoneTemperaturesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.add(index, value);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder addZoneTemperatures(
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder builderForValue) {
          if (zoneTemperaturesBuilder_ == null) {
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.add(builderForValue.build());
            onChanged();
          } else {
            zoneTemperaturesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder addZoneTemperatures(
            int index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder builderForValue) {
          if (zoneTemperaturesBuilder_ == null) {
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.add(index, builderForValue.build());
            onChanged();
          } else {
            zoneTemperaturesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder addAllZoneTemperatures(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature> values) {
          if (zoneTemperaturesBuilder_ == null) {
            ensureZoneTemperaturesIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, zoneTemperatures_);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder clearZoneTemperatures() {
          if (zoneTemperaturesBuilder_ == null) {
            zoneTemperatures_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public Builder removeZoneTemperatures(int index) {
          if (zoneTemperaturesBuilder_ == null) {
            ensureZoneTemperaturesIsMutable();
            zoneTemperatures_.remove(index);
            onChanged();
          } else {
            zoneTemperaturesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder getZoneTemperaturesBuilder(
            int index) {
          return getZoneTemperaturesFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder getZoneTemperaturesOrBuilder(
            int index) {
          if (zoneTemperaturesBuilder_ == null) {
            return zoneTemperatures_.get(index);  } else {
            return zoneTemperaturesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder> 
             getZoneTemperaturesOrBuilderList() {
          if (zoneTemperaturesBuilder_ != null) {
            return zoneTemperaturesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(zoneTemperatures_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder addZoneTemperaturesBuilder() {
          return getZoneTemperaturesFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder addZoneTemperaturesBuilder(
            int index) {
          return getZoneTemperaturesFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.PersonalAccount.ZoneTemperature zoneTemperatures = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder> 
             getZoneTemperaturesBuilderList() {
          return getZoneTemperaturesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder> 
            getZoneTemperaturesFieldBuilder() {
          if (zoneTemperaturesBuilder_ == null) {
            zoneTemperaturesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder>(
                    zoneTemperatures_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            zoneTemperatures_ = null;
          }
          return zoneTemperaturesBuilder_;
        }

        private boolean isStreeringWheelHeatActive_ ;
        /**
         * <code>optional bool isStreeringWheelHeatActive = 2;</code>
         */
        public boolean hasIsStreeringWheelHeatActive() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional bool isStreeringWheelHeatActive = 2;</code>
         */
        public boolean getIsStreeringWheelHeatActive() {
          return isStreeringWheelHeatActive_;
        }
        /**
         * <code>optional bool isStreeringWheelHeatActive = 2;</code>
         */
        public Builder setIsStreeringWheelHeatActive(boolean value) {
          bitField0_ |= 0x00000002;
          isStreeringWheelHeatActive_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bool isStreeringWheelHeatActive = 2;</code>
         */
        public Builder clearIsStreeringWheelHeatActive() {
          bitField0_ = (bitField0_ & ~0x00000002);
          isStreeringWheelHeatActive_ = false;
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.ClimatePreference)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.ClimatePreference)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<ClimatePreference>
          PARSER = new com.google.protobuf.AbstractParser<ClimatePreference>() {
        public ClimatePreference parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new ClimatePreference(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface ZoneTemperatureOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.ZoneTemperature)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
       */
      boolean hasZone();
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum getZone();

      /**
       * <code>optional int32 preferredTemperature = 2;</code>
       */
      boolean hasPreferredTemperature();
      /**
       * <code>optional int32 preferredTemperature = 2;</code>
       */
      int getPreferredTemperature();
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.ZoneTemperature}
     */
    public  static final class ZoneTemperature extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.ZoneTemperature)
        ZoneTemperatureOrBuilder {
      // Use ZoneTemperature.newBuilder() to construct.
      private ZoneTemperature(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private ZoneTemperature() {
        zone_ = 0;
        preferredTemperature_ = 0;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private ZoneTemperature(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum value = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  zone_ = rawValue;
                }
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                preferredTemperature_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder.class);
      }

      /**
       * Protobuf enum {@code com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum}
       */
      public enum ZoneEnum
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * <code>FRONTZONE = 0;</code>
         */
        FRONTZONE(0),
        /**
         * <code>FRONTLEFTZONE = 1;</code>
         */
        FRONTLEFTZONE(1),
        /**
         * <code>FRONTRIGHTZONE = 2;</code>
         */
        FRONTRIGHTZONE(2),
        /**
         * <code>REARZONE = 3;</code>
         */
        REARZONE(3),
        /**
         * <code>REARLEFTZONE = 4;</code>
         */
        REARLEFTZONE(4),
        /**
         * <code>REARRIGHTZONE = 5;</code>
         */
        REARRIGHTZONE(5),
        ;

        /**
         * <code>FRONTZONE = 0;</code>
         */
        public static final int FRONTZONE_VALUE = 0;
        /**
         * <code>FRONTLEFTZONE = 1;</code>
         */
        public static final int FRONTLEFTZONE_VALUE = 1;
        /**
         * <code>FRONTRIGHTZONE = 2;</code>
         */
        public static final int FRONTRIGHTZONE_VALUE = 2;
        /**
         * <code>REARZONE = 3;</code>
         */
        public static final int REARZONE_VALUE = 3;
        /**
         * <code>REARLEFTZONE = 4;</code>
         */
        public static final int REARLEFTZONE_VALUE = 4;
        /**
         * <code>REARRIGHTZONE = 5;</code>
         */
        public static final int REARRIGHTZONE_VALUE = 5;


        public final int getNumber() {
          return value;
        }

        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ZoneEnum valueOf(int value) {
          return forNumber(value);
        }

        public static ZoneEnum forNumber(int value) {
          switch (value) {
            case 0: return FRONTZONE;
            case 1: return FRONTLEFTZONE;
            case 2: return FRONTRIGHTZONE;
            case 3: return REARZONE;
            case 4: return REARLEFTZONE;
            case 5: return REARRIGHTZONE;
            default: return null;
          }
        }

        public static com.google.protobuf.Internal.EnumLiteMap<ZoneEnum>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            ZoneEnum> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ZoneEnum>() {
                public ZoneEnum findValueByNumber(int number) {
                  return ZoneEnum.forNumber(number);
                }
              };

        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.getDescriptor().getEnumTypes().get(0);
        }

        private static final ZoneEnum[] VALUES = values();

        public static ZoneEnum valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }

        private final int value;

        private ZoneEnum(int value) {
          this.value = value;
        }

        // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum)
      }

      private int bitField0_;
      public static final int ZONE_FIELD_NUMBER = 1;
      private int zone_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
       */
      public boolean hasZone() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum getZone() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum.valueOf(zone_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum.FRONTZONE : result;
      }

      public static final int PREFERREDTEMPERATURE_FIELD_NUMBER = 2;
      private int preferredTemperature_;
      /**
       * <code>optional int32 preferredTemperature = 2;</code>
       */
      public boolean hasPreferredTemperature() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 preferredTemperature = 2;</code>
       */
      public int getPreferredTemperature() {
        return preferredTemperature_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, zone_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, preferredTemperature_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, zone_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, preferredTemperature_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature) obj;

        boolean result = true;
        result = result && (hasZone() == other.hasZone());
        if (hasZone()) {
          result = result && zone_ == other.zone_;
        }
        result = result && (hasPreferredTemperature() == other.hasPreferredTemperature());
        if (hasPreferredTemperature()) {
          result = result && (getPreferredTemperature()
              == other.getPreferredTemperature());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasZone()) {
          hash = (37 * hash) + ZONE_FIELD_NUMBER;
          hash = (53 * hash) + zone_;
        }
        if (hasPreferredTemperature()) {
          hash = (37 * hash) + PREFERREDTEMPERATURE_FIELD_NUMBER;
          hash = (53 * hash) + getPreferredTemperature();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.ZoneTemperature}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.ZoneTemperature)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperatureOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        public Builder clear() {
          super.clear();
          zone_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          preferredTemperature_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.zone_ = zone_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.preferredTemperature_ = preferredTemperature_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.getDefaultInstance()) return this;
          if (other.hasZone()) {
            setZone(other.getZone());
          }
          if (other.hasPreferredTemperature()) {
            setPreferredTemperature(other.getPreferredTemperature());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int zone_ = 0;
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
         */
        public boolean hasZone() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum getZone() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum result = com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum.valueOf(zone_);
          return result == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum.FRONTZONE : result;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
         */
        public Builder setZone(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature.ZoneEnum value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          zone_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.PersonalAccount.ZoneTemperature.ZoneEnum zone = 1;</code>
         */
        public Builder clearZone() {
          bitField0_ = (bitField0_ & ~0x00000001);
          zone_ = 0;
          onChanged();
          return this;
        }

        private int preferredTemperature_ ;
        /**
         * <code>optional int32 preferredTemperature = 2;</code>
         */
        public boolean hasPreferredTemperature() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int32 preferredTemperature = 2;</code>
         */
        public int getPreferredTemperature() {
          return preferredTemperature_;
        }
        /**
         * <code>optional int32 preferredTemperature = 2;</code>
         */
        public Builder setPreferredTemperature(int value) {
          bitField0_ |= 0x00000002;
          preferredTemperature_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 preferredTemperature = 2;</code>
         */
        public Builder clearPreferredTemperature() {
          bitField0_ = (bitField0_ & ~0x00000002);
          preferredTemperature_ = 0;
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.ZoneTemperature)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.ZoneTemperature)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<ZoneTemperature>
          PARSER = new com.google.protobuf.AbstractParser<ZoneTemperature>() {
        public ZoneTemperature parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new ZoneTemperature(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ZoneTemperature getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface NavigationPreferenceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.PersonalAccount.NavigationPreference)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination> 
          getFavoriteLocationsList();
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.Destination getFavoriteLocations(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      int getFavoriteLocationsCount();
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder> 
          getFavoriteLocationsOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder getFavoriteLocationsOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.NavigationPreference}
     */
    public  static final class NavigationPreference extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.PersonalAccount.NavigationPreference)
        NavigationPreferenceOrBuilder {
      // Use NavigationPreference.newBuilder() to construct.
      private NavigationPreference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private NavigationPreference() {
        favoriteLocations_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private NavigationPreference(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  favoriteLocations_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectGNSS.Destination>();
                  mutable_bitField0_ |= 0x00000001;
                }
                favoriteLocations_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectGNSS.Destination.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            favoriteLocations_ = java.util.Collections.unmodifiableList(favoriteLocations_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder.class);
      }

      public static final int FAVORITELOCATIONS_FIELD_NUMBER = 1;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination> favoriteLocations_;
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination> getFavoriteLocationsList() {
        return favoriteLocations_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder> 
          getFavoriteLocationsOrBuilderList() {
        return favoriteLocations_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      public int getFavoriteLocationsCount() {
        return favoriteLocations_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.Destination getFavoriteLocations(int index) {
        return favoriteLocations_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder getFavoriteLocationsOrBuilder(
          int index) {
        return favoriteLocations_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < favoriteLocations_.size(); i++) {
          output.writeMessage(1, favoriteLocations_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        for (int i = 0; i < favoriteLocations_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, favoriteLocations_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference) obj;

        boolean result = true;
        result = result && getFavoriteLocationsList()
            .equals(other.getFavoriteLocationsList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getFavoriteLocationsCount() > 0) {
          hash = (37 * hash) + FAVORITELOCATIONS_FIELD_NUMBER;
          hash = (53 * hash) + getFavoriteLocationsList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      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;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.PersonalAccount.NavigationPreference}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount.NavigationPreference)
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getFavoriteLocationsFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (favoriteLocationsBuilder_ == null) {
            favoriteLocations_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            favoriteLocationsBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference build() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference(this);
          int from_bitField0_ = bitField0_;
          if (favoriteLocationsBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              favoriteLocations_ = java.util.Collections.unmodifiableList(favoriteLocations_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.favoriteLocations_ = favoriteLocations_;
          } else {
            result.favoriteLocations_ = favoriteLocationsBuilder_.build();
          }
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance()) return this;
          if (favoriteLocationsBuilder_ == null) {
            if (!other.favoriteLocations_.isEmpty()) {
              if (favoriteLocations_.isEmpty()) {
                favoriteLocations_ = other.favoriteLocations_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureFavoriteLocationsIsMutable();
                favoriteLocations_.addAll(other.favoriteLocations_);
              }
              onChanged();
            }
          } else {
            if (!other.favoriteLocations_.isEmpty()) {
              if (favoriteLocationsBuilder_.isEmpty()) {
                favoriteLocationsBuilder_.dispose();
                favoriteLocationsBuilder_ = null;
                favoriteLocations_ = other.favoriteLocations_;
                bitField0_ = (bitField0_ & ~0x00000001);
                favoriteLocationsBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getFavoriteLocationsFieldBuilder() : null;
              } else {
                favoriteLocationsBuilder_.addAllMessages(other.favoriteLocations_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination> favoriteLocations_ =
          java.util.Collections.emptyList();
        private void ensureFavoriteLocationsIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            favoriteLocations_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectGNSS.Destination>(favoriteLocations_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Destination, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder> favoriteLocationsBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination> getFavoriteLocationsList() {
          if (favoriteLocationsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(favoriteLocations_);
          } else {
            return favoriteLocationsBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public int getFavoriteLocationsCount() {
          if (favoriteLocationsBuilder_ == null) {
            return favoriteLocations_.size();
          } else {
            return favoriteLocationsBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Destination getFavoriteLocations(int index) {
          if (favoriteLocationsBuilder_ == null) {
            return favoriteLocations_.get(index);
          } else {
            return favoriteLocationsBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder setFavoriteLocations(
            int index, com.fca.uconnect.global.GlobalUconnectGNSS.Destination value) {
          if (favoriteLocationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.set(index, value);
            onChanged();
          } else {
            favoriteLocationsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder setFavoriteLocations(
            int index, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder builderForValue) {
          if (favoriteLocationsBuilder_ == null) {
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.set(index, builderForValue.build());
            onChanged();
          } else {
            favoriteLocationsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder addFavoriteLocations(com.fca.uconnect.global.GlobalUconnectGNSS.Destination value) {
          if (favoriteLocationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.add(value);
            onChanged();
          } else {
            favoriteLocationsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder addFavoriteLocations(
            int index, com.fca.uconnect.global.GlobalUconnectGNSS.Destination value) {
          if (favoriteLocationsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.add(index, value);
            onChanged();
          } else {
            favoriteLocationsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder addFavoriteLocations(
            com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder builderForValue) {
          if (favoriteLocationsBuilder_ == null) {
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.add(builderForValue.build());
            onChanged();
          } else {
            favoriteLocationsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder addFavoriteLocations(
            int index, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder builderForValue) {
          if (favoriteLocationsBuilder_ == null) {
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.add(index, builderForValue.build());
            onChanged();
          } else {
            favoriteLocationsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder addAllFavoriteLocations(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectGNSS.Destination> values) {
          if (favoriteLocationsBuilder_ == null) {
            ensureFavoriteLocationsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, favoriteLocations_);
            onChanged();
          } else {
            favoriteLocationsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder clearFavoriteLocations() {
          if (favoriteLocationsBuilder_ == null) {
            favoriteLocations_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            favoriteLocationsBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public Builder removeFavoriteLocations(int index) {
          if (favoriteLocationsBuilder_ == null) {
            ensureFavoriteLocationsIsMutable();
            favoriteLocations_.remove(index);
            onChanged();
          } else {
            favoriteLocationsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder getFavoriteLocationsBuilder(
            int index) {
          return getFavoriteLocationsFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder getFavoriteLocationsOrBuilder(
            int index) {
          if (favoriteLocationsBuilder_ == null) {
            return favoriteLocations_.get(index);  } else {
            return favoriteLocationsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder> 
             getFavoriteLocationsOrBuilderList() {
          if (favoriteLocationsBuilder_ != null) {
            return favoriteLocationsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(favoriteLocations_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder addFavoriteLocationsBuilder() {
          return getFavoriteLocationsFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectGNSS.Destination.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder addFavoriteLocationsBuilder(
            int index) {
          return getFavoriteLocationsFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.Destination favoriteLocations = 1;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder> 
             getFavoriteLocationsBuilderList() {
          return getFavoriteLocationsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Destination, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder> 
            getFavoriteLocationsFieldBuilder() {
          if (favoriteLocationsBuilder_ == null) {
            favoriteLocationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectGNSS.Destination, com.fca.uconnect.global.GlobalUconnectGNSS.Destination.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.DestinationOrBuilder>(
                    favoriteLocations_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            favoriteLocations_ = null;
          }
          return favoriteLocationsBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount.NavigationPreference)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount.NavigationPreference)
      private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<NavigationPreference>
          PARSER = new com.google.protobuf.AbstractParser<NavigationPreference>() {
        public NavigationPreference parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new NavigationPreference(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int INFOTAINMENTPREFERENCE_FIELD_NUMBER = 1;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference infotainmentPreference_;
    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    public boolean hasInfotainmentPreference() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getInfotainmentPreference() {
      return infotainmentPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance() : infotainmentPreference_;
    }
    /**
     * <pre>
     *&#47;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder getInfotainmentPreferenceOrBuilder() {
      return infotainmentPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance() : infotainmentPreference_;
    }

    public static final int NAVIGATIONPREFERENCE_FIELD_NUMBER = 2;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference navigationPreference_;
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    public boolean hasNavigationPreference() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getNavigationPreference() {
      return navigationPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance() : navigationPreference_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder getNavigationPreferenceOrBuilder() {
      return navigationPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance() : navigationPreference_;
    }

    public static final int CLIMATEPREFERENCE_FIELD_NUMBER = 3;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference climatePreference_;
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    public boolean hasClimatePreference() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getClimatePreference() {
      return climatePreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance() : climatePreference_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder getClimatePreferenceOrBuilder() {
      return climatePreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance() : climatePreference_;
    }

    public static final int LIGHTINGPREFERENCE_FIELD_NUMBER = 4;
    private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference lightingPreference_;
    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    public boolean hasLightingPreference() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getLightingPreference() {
      return lightingPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance() : lightingPreference_;
    }
    /**
     * <pre>
     *	optional Calendar	 calendar	=5;
     *	optional Alert	 alert = 6;
     *	optional Subcription	 subcription = 7;
     *	optional PositionPreset	 positionPreset	= 8;
     *	optional ADASSettings _ADASSettings =9;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder getLightingPreferenceOrBuilder() {
      return lightingPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance() : lightingPreference_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getInfotainmentPreference());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, getNavigationPreference());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, getClimatePreference());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, getLightingPreference());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getInfotainmentPreference());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getNavigationPreference());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getClimatePreference());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getLightingPreference());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount other = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount) obj;

      boolean result = true;
      result = result && (hasInfotainmentPreference() == other.hasInfotainmentPreference());
      if (hasInfotainmentPreference()) {
        result = result && getInfotainmentPreference()
            .equals(other.getInfotainmentPreference());
      }
      result = result && (hasNavigationPreference() == other.hasNavigationPreference());
      if (hasNavigationPreference()) {
        result = result && getNavigationPreference()
            .equals(other.getNavigationPreference());
      }
      result = result && (hasClimatePreference() == other.hasClimatePreference());
      if (hasClimatePreference()) {
        result = result && getClimatePreference()
            .equals(other.getClimatePreference());
      }
      result = result && (hasLightingPreference() == other.hasLightingPreference());
      if (hasLightingPreference()) {
        result = result && getLightingPreference()
            .equals(other.getLightingPreference());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasInfotainmentPreference()) {
        hash = (37 * hash) + INFOTAINMENTPREFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getInfotainmentPreference().hashCode();
      }
      if (hasNavigationPreference()) {
        hash = (37 * hash) + NAVIGATIONPREFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getNavigationPreference().hashCode();
      }
      if (hasClimatePreference()) {
        hash = (37 * hash) + CLIMATEPREFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getClimatePreference().hashCode();
      }
      if (hasLightingPreference()) {
        hash = (37 * hash) + LIGHTINGPREFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getLightingPreference().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount 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.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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;
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.PersonalAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.PersonalAccount)
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.class, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getInfotainmentPreferenceFieldBuilder();
          getNavigationPreferenceFieldBuilder();
          getClimatePreferenceFieldBuilder();
          getLightingPreferenceFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (infotainmentPreferenceBuilder_ == null) {
          infotainmentPreference_ = null;
        } else {
          infotainmentPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (navigationPreferenceBuilder_ == null) {
          navigationPreference_ = null;
        } else {
          navigationPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (climatePreferenceBuilder_ == null) {
          climatePreference_ = null;
        } else {
          climatePreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (lightingPreferenceBuilder_ == null) {
          lightingPreference_ = null;
        } else {
          lightingPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.internal_static_com_fca_uconnect_global_PersonalAccount_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount build() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount result = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (infotainmentPreferenceBuilder_ == null) {
          result.infotainmentPreference_ = infotainmentPreference_;
        } else {
          result.infotainmentPreference_ = infotainmentPreferenceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (navigationPreferenceBuilder_ == null) {
          result.navigationPreference_ = navigationPreference_;
        } else {
          result.navigationPreference_ = navigationPreferenceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (climatePreferenceBuilder_ == null) {
          result.climatePreference_ = climatePreference_;
        } else {
          result.climatePreference_ = climatePreferenceBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (lightingPreferenceBuilder_ == null) {
          result.lightingPreference_ = lightingPreference_;
        } else {
          result.lightingPreference_ = lightingPreferenceBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.getDefaultInstance()) return this;
        if (other.hasInfotainmentPreference()) {
          mergeInfotainmentPreference(other.getInfotainmentPreference());
        }
        if (other.hasNavigationPreference()) {
          mergeNavigationPreference(other.getNavigationPreference());
        }
        if (other.hasClimatePreference()) {
          mergeClimatePreference(other.getClimatePreference());
        }
        if (other.hasLightingPreference()) {
          mergeLightingPreference(other.getLightingPreference());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference infotainmentPreference_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder> infotainmentPreferenceBuilder_;
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public boolean hasInfotainmentPreference() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference getInfotainmentPreference() {
        if (infotainmentPreferenceBuilder_ == null) {
          return infotainmentPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance() : infotainmentPreference_;
        } else {
          return infotainmentPreferenceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public Builder setInfotainmentPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference value) {
        if (infotainmentPreferenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          infotainmentPreference_ = value;
          onChanged();
        } else {
          infotainmentPreferenceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public Builder setInfotainmentPreference(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder builderForValue) {
        if (infotainmentPreferenceBuilder_ == null) {
          infotainmentPreference_ = builderForValue.build();
          onChanged();
        } else {
          infotainmentPreferenceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public Builder mergeInfotainmentPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference value) {
        if (infotainmentPreferenceBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              infotainmentPreference_ != null &&
              infotainmentPreference_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance()) {
            infotainmentPreference_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.newBuilder(infotainmentPreference_).mergeFrom(value).buildPartial();
          } else {
            infotainmentPreference_ = value;
          }
          onChanged();
        } else {
          infotainmentPreferenceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public Builder clearInfotainmentPreference() {
        if (infotainmentPreferenceBuilder_ == null) {
          infotainmentPreference_ = null;
          onChanged();
        } else {
          infotainmentPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder getInfotainmentPreferenceBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getInfotainmentPreferenceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder getInfotainmentPreferenceOrBuilder() {
        if (infotainmentPreferenceBuilder_ != null) {
          return infotainmentPreferenceBuilder_.getMessageOrBuilder();
        } else {
          return infotainmentPreference_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.getDefaultInstance() : infotainmentPreference_;
        }
      }
      /**
       * <pre>
       *&#47;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.InfotainmentPreference infotainmentPreference = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder> 
          getInfotainmentPreferenceFieldBuilder() {
        if (infotainmentPreferenceBuilder_ == null) {
          infotainmentPreferenceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.InfotainmentPreferenceOrBuilder>(
                  getInfotainmentPreference(),
                  getParentForChildren(),
                  isClean());
          infotainmentPreference_ = null;
        }
        return infotainmentPreferenceBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference navigationPreference_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder> navigationPreferenceBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public boolean hasNavigationPreference() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference getNavigationPreference() {
        if (navigationPreferenceBuilder_ == null) {
          return navigationPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance() : navigationPreference_;
        } else {
          return navigationPreferenceBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public Builder setNavigationPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference value) {
        if (navigationPreferenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          navigationPreference_ = value;
          onChanged();
        } else {
          navigationPreferenceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public Builder setNavigationPreference(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder builderForValue) {
        if (navigationPreferenceBuilder_ == null) {
          navigationPreference_ = builderForValue.build();
          onChanged();
        } else {
          navigationPreferenceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public Builder mergeNavigationPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference value) {
        if (navigationPreferenceBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              navigationPreference_ != null &&
              navigationPreference_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance()) {
            navigationPreference_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.newBuilder(navigationPreference_).mergeFrom(value).buildPartial();
          } else {
            navigationPreference_ = value;
          }
          onChanged();
        } else {
          navigationPreferenceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public Builder clearNavigationPreference() {
        if (navigationPreferenceBuilder_ == null) {
          navigationPreference_ = null;
          onChanged();
        } else {
          navigationPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder getNavigationPreferenceBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getNavigationPreferenceFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder getNavigationPreferenceOrBuilder() {
        if (navigationPreferenceBuilder_ != null) {
          return navigationPreferenceBuilder_.getMessageOrBuilder();
        } else {
          return navigationPreference_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.getDefaultInstance() : navigationPreference_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.NavigationPreference navigationPreference = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder> 
          getNavigationPreferenceFieldBuilder() {
        if (navigationPreferenceBuilder_ == null) {
          navigationPreferenceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.NavigationPreferenceOrBuilder>(
                  getNavigationPreference(),
                  getParentForChildren(),
                  isClean());
          navigationPreference_ = null;
        }
        return navigationPreferenceBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference climatePreference_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder> climatePreferenceBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public boolean hasClimatePreference() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference getClimatePreference() {
        if (climatePreferenceBuilder_ == null) {
          return climatePreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance() : climatePreference_;
        } else {
          return climatePreferenceBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public Builder setClimatePreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference value) {
        if (climatePreferenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          climatePreference_ = value;
          onChanged();
        } else {
          climatePreferenceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public Builder setClimatePreference(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder builderForValue) {
        if (climatePreferenceBuilder_ == null) {
          climatePreference_ = builderForValue.build();
          onChanged();
        } else {
          climatePreferenceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public Builder mergeClimatePreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference value) {
        if (climatePreferenceBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              climatePreference_ != null &&
              climatePreference_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance()) {
            climatePreference_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.newBuilder(climatePreference_).mergeFrom(value).buildPartial();
          } else {
            climatePreference_ = value;
          }
          onChanged();
        } else {
          climatePreferenceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public Builder clearClimatePreference() {
        if (climatePreferenceBuilder_ == null) {
          climatePreference_ = null;
          onChanged();
        } else {
          climatePreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder getClimatePreferenceBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getClimatePreferenceFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder getClimatePreferenceOrBuilder() {
        if (climatePreferenceBuilder_ != null) {
          return climatePreferenceBuilder_.getMessageOrBuilder();
        } else {
          return climatePreference_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.getDefaultInstance() : climatePreference_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.PersonalAccount.ClimatePreference climatePreference = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder> 
          getClimatePreferenceFieldBuilder() {
        if (climatePreferenceBuilder_ == null) {
          climatePreferenceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.ClimatePreferenceOrBuilder>(
                  getClimatePreference(),
                  getParentForChildren(),
                  isClean());
          climatePreference_ = null;
        }
        return climatePreferenceBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference lightingPreference_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder> lightingPreferenceBuilder_;
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public boolean hasLightingPreference() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference getLightingPreference() {
        if (lightingPreferenceBuilder_ == null) {
          return lightingPreference_ == null ? com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance() : lightingPreference_;
        } else {
          return lightingPreferenceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public Builder setLightingPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference value) {
        if (lightingPreferenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lightingPreference_ = value;
          onChanged();
        } else {
          lightingPreferenceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public Builder setLightingPreference(
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder builderForValue) {
        if (lightingPreferenceBuilder_ == null) {
          lightingPreference_ = builderForValue.build();
          onChanged();
        } else {
          lightingPreferenceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public Builder mergeLightingPreference(com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference value) {
        if (lightingPreferenceBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              lightingPreference_ != null &&
              lightingPreference_ != com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance()) {
            lightingPreference_ =
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.newBuilder(lightingPreference_).mergeFrom(value).buildPartial();
          } else {
            lightingPreference_ = value;
          }
          onChanged();
        } else {
          lightingPreferenceBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public Builder clearLightingPreference() {
        if (lightingPreferenceBuilder_ == null) {
          lightingPreference_ = null;
          onChanged();
        } else {
          lightingPreferenceBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder getLightingPreferenceBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getLightingPreferenceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder getLightingPreferenceOrBuilder() {
        if (lightingPreferenceBuilder_ != null) {
          return lightingPreferenceBuilder_.getMessageOrBuilder();
        } else {
          return lightingPreference_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.getDefaultInstance() : lightingPreference_;
        }
      }
      /**
       * <pre>
       *	optional Calendar	 calendar	=5;
       *	optional Alert	 alert = 6;
       *	optional Subcription	 subcription = 7;
       *	optional PositionPreset	 positionPreset	= 8;
       *	optional ADASSettings _ADASSettings =9;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.PersonalAccount.LightingPreference lightingPreference = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder> 
          getLightingPreferenceFieldBuilder() {
        if (lightingPreferenceBuilder_ == null) {
          lightingPreferenceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreference.Builder, com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount.LightingPreferenceOrBuilder>(
                  getLightingPreference(),
                  getParentForChildren(),
                  isClean());
          lightingPreference_ = null;
        }
        return lightingPreferenceBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.PersonalAccount)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.PersonalAccount)
    private static final com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<PersonalAccount>
        PARSER = new com.google.protobuf.AbstractParser<PersonalAccount>() {
      public PersonalAccount parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new PersonalAccount(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtVehSync.PersonalAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public static final int VEHICLECONFIGPUBLISH_FIELD_NUMBER = 1080;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish> vehicleConfigPublish = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.class,
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigPublish.getDefaultInstance());
  public static final int VEHICLECONFIGREQUEST_FIELD_NUMBER = 1081;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest> vehicleConfigRequest = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.class,
        com.fca.uconnect.global.GlobalUconnectExtVehSync.VehicleConfigRequest.getDefaultInstance());
  public static final int VEHSYNCACKMESSAGE_FIELD_NUMBER = 1082;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectControl.AckMessage> vehSyncAckMessage = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectControl.AckMessage.class,
        com.fca.uconnect.global.GlobalUconnectControl.AckMessage.getDefaultInstance());
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_VehicleConfigPublish_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_VehicleConfigRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_VehSyncModel_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_VehSyncModel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_ParentalControlsSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_VehicleFinderSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_RemoteOperationSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_ECallSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_ECallSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_BCallSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_BCallSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_ChinaPHEVSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_AOTASettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_AOTASettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_WifiSetting_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_WifiSetting_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n!Global_Uconnect_Ext_VehSync.proto\022\027com" +
      ".fca.uconnect.global\032\035Global_Uconnect_Co" +
      "ntrol.proto\032!Global_Uconnect_VehicleInfo" +
      ".proto\032\036Global_Uconnect_Ext_PHEV.proto\"\213" +
      "\002\n\024VehicleConfigPublish\022D\n\006sender\030\001 \001(\0162" +
      "4.com.fca.uconnect.global.VehicleConfigP" +
      "ublish.Source\022\030\n\020configSetVersion\030\003 \001(\005\022" +
      "8\n\tmodelData\030\004 \001(\0132%.com.fca.uconnect.gl" +
      "obal.VehSyncModel\022\021\n\ttimestamp\030\005 \001(\003\022\021\n\t" +
      "messageId\030\006 \001(\005\022\023\n\013signatureId\030\007 \001(\005\"\036\n\006",
      "Source\022\007\n\003SDP\020\000\022\013\n\007Vehicle\020\001\"0\n\024VehicleC" +
      "onfigRequest\022\030\n\020configSetVersion\030\001 \001(\005\"\341" +
      "\007\n\014VehSyncModel\022;\n\rwifiConfigSet\030\001 \001(\0132$" +
      ".com.fca.uconnect.global.WifiSetting\022E\n\023" +
      "personalAccountData\030\002 \001(\0132(.com.fca.ucon" +
      "nect.global.PersonalAccount\022E\n\021chinaPHEV" +
      "Settings\030\003 \001(\0132*.com.fca.uconnect.global" +
      ".ChinaPHEVSettings\022S\n\030connectedVehicleSe" +
      "ttings\030\004 \001(\01321.com.fca.uconnect.global.C" +
      "onnectedVehicleSettings\022=\n\reCallSettings",
      "\030\005 \001(\0132&.com.fca.uconnect.global.ECallSe" +
      "ttings\022=\n\rbCallSettings\030\006 \001(\0132&.com.fca." +
      "uconnect.global.BCallSettings\022;\n\014sqdfSet" +
      "tings\030\007 \001(\0132%.com.fca.uconnect.global.SQ" +
      "DFSettings\022;\n\014aotaSettings\030\010 \001(\0132%.com.f" +
      "ca.uconnect.global.AOTASettings\022_\n\036theft" +
      "AlarmNotificationSettings\030\t \001(\01327.com.fc" +
      "a.uconnect.global.TheftAlarmNotification" +
      "Settings\022Q\n\027remoteOperationSettings\030\n \001(" +
      "\01320.com.fca.uconnect.global.RemoteOperat",
      "ionSettings\022a\n\037stolenVehicleAssistanceSe" +
      "ttings\030\013 \001(\01328.com.fca.uconnect.global.S" +
      "tolenVehicleAssistanceSettings\022M\n\025vehicl" +
      "eFinderSettings\030\014 \001(\0132..com.fca.uconnect" +
      ".global.VehicleFinderSettings\022S\n\030parenta" +
      "lControlsSettings\030\r \001(\01321.com.fca.uconne" +
      "ct.global.ParentalControlsSettings\"-\n\030Pa" +
      "rentalControlsSettings\022\021\n\tisEnabled\030\001 \001(" +
      "\010\"\326\001\n\025VehicleFinderSettings\022%\n\035isSendLoc" +
      "ationAtKeyOffEnabled\030\001 \001(\010\022\036\n\026isSendOnRe",
      "questEnabled\030\002 \001(\010\022!\n\031isSendPeriodically" +
      "Enabled\030\003 \001(\010\022\033\n\023sendLocationPeriodS\030\004 \001" +
      "(\005\022\026\n\016gpsFixTimeoutS\030\005 \001(\005\022\036\n\026locationCa" +
      "chingPeriodS\030\006 \001(\005\"\333\002\n\037StolenVehicleAssi" +
      "stanceSettings\022]\n\013triggerMode\030\001 \001(\0162H.co" +
      "m.fca.uconnect.global.StolenVehicleAssis" +
      "tanceSettings.TriggerModeEnum\022-\n%stolenV" +
      "ehicleInfoNotificationInterval\030\002 \001(\005\0220\n(" +
      "stolenVehicleInfoNotificationBUBInterval" +
      "\030\003 \001(\005\022\"\n\032maxNumBlockVehicleAttempts\030\004 \001",
      "(\005\"T\n\017TriggerModeEnum\022\r\n\tON_DEMAND\020\000\022\032\n\026" +
      "AUTOMATIC_NOTIFICATION\020\001\022\026\n\022AUTOMATIC_TR" +
      "ACKING\020\002\"\202\004\n\027RemoteOperationSettings\022\035\n\025" +
      "remoteDoorExecTimeout\030\001 \001(\005\022,\n$remoteDoo" +
      "rStatusNotificationInterval\030\002 \001(\005\022&\n\036rem" +
      "oteHornAndLightsExecTimeout\030\003 \001(\005\0225\n-rem" +
      "oteHornAndLightsStatusNotificationInterv" +
      "al\030\004 \001(\005\022\037\n\027remoteEngineExecTimeout\030\005 \001(" +
      "\005\022.\n&remoteEngineStatusNotificationInter" +
      "val\030\006 \001(\005\022 \n\030remoteClimateExecTimeout\030\007 ",
      "\001(\005\022/\n\'remoteClimateStatusNotificationIn" +
      "terval\030\010 \001(\005\022\037\n\027remoteWindowExecTimeout\030" +
      "\t \001(\005\022.\n&remoteWindowStatusNotificationI" +
      "nterval\030\n \001(\005\022(\n remoteEngineStartRecove" +
      "ryTimeout\030\013 \001(\005\022\034\n\024remoteClimateTimeout\030" +
      "\014 \001(\005\"\336\002\n\030ConnectedVehicleSettings\022\031\n\021sd" +
      "pPrimaryMQTTUrl\030\001 \001(\t\022\030\n\020sdpBackupMQTTUr" +
      "l\030\002 \001(\t\022\031\n\021fcaPrimaryGPKIUrl\030\003 \001(\t\022\030\n\020fc" +
      "aBackupGPKIUrl\030\004 \001(\t\022\034\n\024authServerPrimar" +
      "yUrl\030\005 \001(\t\022\033\n\023authServerBackupUrl\030\006 \001(\t\022",
      "%\n\035keyOffKeepConnectionOnTimeout\030\007 \001(\005\022\034" +
      "\n\024maxNumWakeUpMessages\030\010 \001(\005\022!\n\031wakeUpMe" +
      "ssageMaxTimeframe\030\t \001(\005\022\025\n\risPrivacyMode" +
      "\030\n \001(\010\022\036\n\026maxNumLoggedOperations\030\013 \001(\005\"\312" +
      "\003\n\rECallSettings\022$\n\034callCenterPrimaryPho" +
      "neNumber\030\001 \001(\t\022#\n\033callCenterBackupPhoneN" +
      "umber\030\002 \001(\t\022\032\n\022inboundCallEnabled\030\003 \001(\010\022" +
      "\035\n\025mobileDeviceSMSNumber\030\004 \001(\t\022\027\n\017button" +
      "PressTime\030\005 \001(\005\022\034\n\024callConnectTimeLimit\030" +
      "\006 \001(\005\022\022\n\ncancelTime\030\007 \001(\005\022\021\n\tretryTime\030\010",
      " \001(\005\022\"\n\032acceptInboundCallTimeLimit\030\t \001(\005" +
      "\022&\n\036statusNotificationTimeInterval\030\n \001(\005" +
      "\022\031\n\021maxNumDialRetries\030\013 \001(\005\022\031\n\021initCance" +
      "lTimeout\030\014 \001(\005\022\032\n\022isDTMFDataTransfer\030\r \001" +
      "(\010\022\037\n\027accelDataSampleInterval\030\016 \001(\005\022\026\n\016b" +
      "ubCallTimeout\030\017 \001(\005\"\327\001\n\rBCallSettings\022$\n" +
      "\034callCenterPrimaryPhoneNumber\030\001 \001(\t\022#\n\033c" +
      "allCenterBackupPhoneNumber\030\002 \001(\t\022\035\n\025mobi" +
      "leDeviceSMSNumber\030\003 \001(\t\022\027\n\017buttonPressTi" +
      "me\030\004 \001(\005\022\034\n\024callConnectTimeLimit\030\005 \001(\005\022\022",
      "\n\ncancelTime\030\006 \001(\005\022\021\n\tretryTime\030\007 \001(\005\"\315\t" +
      "\n\014SQDFSettings\022\021\n\tisEnabled\030\001 \001(\010\022\032\n\022isV" +
      "RCUploadEnabled\030\002 \001(\010\022\032\n\022isDTCUploadEnab" +
      "led\030\003 \001(\010\022\032\n\022isGCDUploadEnabled\030\004 \001(\010\022\032\n" +
      "\022isMTRUploadEnabled\030\005 \001(\010\022\032\n\022isSGWUpload" +
      "Enabled\030\006 \001(\010\022\032\n\022isQuickScanEnabled\030\007 \001(" +
      "\010\022\034\n\024quickScanECURetryCnt\030\010 \001(\005\022\030\n\020isDTC" +
      "ScanEnabled\030\t \001(\010\022\032\n\022dtcScanECURetryCnt\030" +
      "\n \001(\005\022\024\n\014isGCDEnabled\030\013 \001(\010\022\032\n\022isHistogr" +
      "amEnabled\030\014 \001(\010\022\035\n\025isDatalogShortEnabled",
      "\030\r \001(\010\022\034\n\024gcdTriggerEventLimit\030\016 \001(\005\022\035\n\025" +
      "sensorCalibrationTime\030\017 \001(\005\022\031\n\021maxPendin" +
      "gUploads\030\020 \001(\005\022\033\n\023isGPSPrivacyEnabled\030\021 " +
      "\001(\010\022\034\n\024mtrTriggerEventLimit\030\022 \001(\005\022\027\n\017qui" +
      "ckScanPeriod\030\023 \001(\005\022\035\n\025diagnosticRequestR" +
      "ate\030\025 \001(\005\022\027\n\017dtcUploadPerECU\030\026 \001(\005\022\033\n\023dt" +
      "cUploadEventLimit\030\027 \001(\005\022!\n\031dtcUploadEven" +
      "tLimitPeriod\030\030 \001(\005\022!\n\031dtcUploadEventLimi" +
      "tExpire\030\031 \001(\005\022P\n\016uploadInterval\030\032 \001(\01628." +
      "com.fca.uconnect.global.SQDFSettings.Upl",
      "oadIntervalEnum\022\033\n\023sgwIDSEventDeltaCnt\030\033" +
      " \001(\005\022\037\n\027sgwGatewayEventDeltaCnt\030\034 \001(\005\022\023\n" +
      "\013sgwDayLimit\030\035 \001(\005\022\026\n\016isROESupported\030\036 \001" +
      "(\010\022%\n\035testToolDetectionTimeoutViaTU\030\037 \001(" +
      "\005\022.\n&testToolDetectionTimeoutViaApplicat" +
      "ion\030  \001(\005\022\032\n\022minEngineRPMToScan\030! \001(\005\022\032\n" +
      "\022maxEngineRPMToScan\030\" \001(\005\022\035\n\025minVehicleS" +
      "peedToScan\030# \001(\005\022\035\n\025maxVehicleSpeedToSca" +
      "n\030$ \001(\005\022\030\n\020uploadDayOfMonth\030% \001(\005\022\027\n\017upl" +
      "oadTimestamp\030& \001(\003\"Y\n\022UploadIntervalEnum",
      "\022\013\n\007NO_TEST\020\000\022\021\n\rUPLOAD_WEEKLY\020\001\022\020\n\014UPLO" +
      "AD_DAILY\020\002\022\021\n\rUPLOAD_HOURLY\020\003\"\323\002\n\021ChinaP" +
      "HEVSettings\022 \n\030alarmReportingIntervalMS\030" +
      "\001 \001(\005\022#\n\033realTimeReportingIntervalMS\030\002 \001" +
      "(\005\022\036\n\026alarmReportingWindowMS\030\003 \001(\005\022\032\n\022re" +
      "placeReportRatio\030\004 \001(\002\022W\n\017encryptionLeve" +
      "l\030\005 \001(\0162>.com.fca.uconnect.global.ChinaP" +
      "HEVSettings.EncryptionLevelEnum\022\025\n\rencry" +
      "ptionKey\030\006 \001(\014\"K\n\023EncryptionLevelEnum\022\021\n" +
      "\rNO_ENCRYPTION\020\000\022\007\n\003RSA\020\001\022\013\n\007AES_128\020\002\022\013",
      "\n\007AES_256\020\003\"2\n\014AOTASettings\022\"\n\032discrepan" +
      "cyCheckIntervalMS\030\001 \001(\005\"\266\001\n\013WifiSetting\022" +
      "\014\n\004ssid\030\001 \001(\t\022\020\n\010password\030\002 \001(\t\022P\n\016encry" +
      "ptiontype\030\003 \003(\01328.com.fca.uconnect.globa" +
      "l.WifiSetting.EncryptiontypeEntry\0325\n\023Enc" +
      "ryptiontypeEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" +
      " \001(\t:\0028\001\"\357\001\n\036TheftAlarmNotificationSetti" +
      "ngs\022\034\n\024isNotificationActive\030\001 \001(\010\022%\n\035max" +
      "NumSDPNotificationAttempts\030\002 \001(\005\022&\n\036retr" +
      "yNotificationTimeIntervalS\030\003 \001(\005\022$\n\034acce",
      "lerationTriggerThreshold\030\004 \001(\002\022\'\n\037accele" +
      "rationThresholdDurationMS\030\005 \001(\005\022\021\n\tisEna" +
      "bled\030\006 \001(\010\"\311\014\n\017PersonalAccount\022_\n\026infota" +
      "inmentPreference\030\001 \001(\0132?.com.fca.uconnec" +
      "t.global.PersonalAccount.InfotainmentPre" +
      "ference\022[\n\024navigationPreference\030\002 \001(\0132=." +
      "com.fca.uconnect.global.PersonalAccount." +
      "NavigationPreference\022U\n\021climatePreferenc" +
      "e\030\003 \001(\0132:.com.fca.uconnect.global.Person" +
      "alAccount.ClimatePreference\022W\n\022lightingP",
      "reference\030\004 \001(\0132;.com.fca.uconnect.globa" +
      "l.PersonalAccount.LightingPreference\032\371\001\n" +
      "\026InfotainmentPreference\022I\n\013radioPreset\030\001" +
      " \001(\01324.com.fca.uconnect.global.PersonalA" +
      "ccount.RadioPreset\022N\n\rmusicFavorite\030\002 \001(" +
      "\01327.com.fca.uconnect.global.PersonalAcco" +
      "unt.MusicFavourite\022D\n\tplayLists\030\003 \003(\01321." +
      "com.fca.uconnect.global.PersonalAccount." +
      "PlayList\032\245\002\n\013RadioPreset\022S\n\010stations\030\001 \003" +
      "(\0132A.com.fca.uconnect.global.PersonalAcc",
      "ount.RadioPreset.RadioStation\032\300\001\n\014RadioS" +
      "tation\022b\n\013stationType\030\001 \001(\0162M.com.fca.uc" +
      "onnect.global.PersonalAccount.RadioPrese" +
      "t.RadioStation.StationType\022\030\n\020stationFre" +
      "quency\030\002 \001(\005\022\023\n\013stationName\030\003 \001(\t\"\035\n\013Sta" +
      "tionType\022\006\n\002AM\020\000\022\006\n\002FM\020\001\0326\n\016MusicFavouri" +
      "te\022\021\n\tbandNames\030\001 \003(\t\022\021\n\tsongNames\030\002 \003(\t" +
      "\032+\n\010PlayList\022\014\n\004name\030\001 \001(\t\022\021\n\tsongNames\030" +
      "\002 \003(\t\032`\n\022LightingPreference\022\020\n\010ambientR\030" +
      "\001 \001(\005\022\020\n\010ambientG\030\002 \001(\005\022\020\n\010ambientB\030\003 \001(",
      "\005\022\024\n\014ambientLevel\030\004 \001(\005\032\213\001\n\021ClimatePrefe" +
      "rence\022R\n\020zoneTemperatures\030\001 \003(\01328.com.fc" +
      "a.uconnect.global.PersonalAccount.ZoneTe" +
      "mperature\022\"\n\032isStreeringWheelHeatActive\030" +
      "\002 \001(\010\032\365\001\n\017ZoneTemperature\022O\n\004zone\030\001 \001(\0162" +
      "A.com.fca.uconnect.global.PersonalAccoun" +
      "t.ZoneTemperature.ZoneEnum\022\034\n\024preferredT" +
      "emperature\030\002 \001(\005\"s\n\010ZoneEnum\022\r\n\tFRONTZON" +
      "E\020\000\022\021\n\rFRONTLEFTZONE\020\001\022\022\n\016FRONTRIGHTZONE" +
      "\020\002\022\014\n\010REARZONE\020\003\022\020\n\014REARLEFTZONE\020\004\022\021\n\rRE",
      "ARRIGHTZONE\020\005\032W\n\024NavigationPreference\022?\n" +
      "\021favoriteLocations\030\001 \003(\0132$.com.fca.uconn" +
      "ect.global.Destination:r\n\024vehicleConfigP" +
      "ublish\022$.com.fca.uconnect.global.Uconnec" +
      "tAny\030\270\010 \001(\0132-.com.fca.uconnect.global.Ve" +
      "hicleConfigPublish:r\n\024vehicleConfigReque" +
      "st\022$.com.fca.uconnect.global.UconnectAny" +
      "\030\271\010 \001(\0132-.com.fca.uconnect.global.Vehicl" +
      "eConfigRequest:e\n\021vehSyncAckMessage\022$.co" +
      "m.fca.uconnect.global.UconnectAny\030\272\010 \001(\013",
      "2#.com.fca.uconnect.global.AckMessageP\000P" +
      "\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.fca.uconnect.global.GlobalUconnectControl.getDescriptor(),
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.getDescriptor(),
          com.fca.uconnect.global.GlobalUconnectExtPHEV.getDescriptor(),
        }, assigner);
    internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_fca_uconnect_global_VehicleConfigPublish_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_VehicleConfigPublish_descriptor,
        new java.lang.String[] { "Sender", "ConfigSetVersion", "ModelData", "Timestamp", "MessageId", "SignatureId", });
    internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_fca_uconnect_global_VehicleConfigRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_VehicleConfigRequest_descriptor,
        new java.lang.String[] { "ConfigSetVersion", });
    internal_static_com_fca_uconnect_global_VehSyncModel_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_fca_uconnect_global_VehSyncModel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_VehSyncModel_descriptor,
        new java.lang.String[] { "WifiConfigSet", "PersonalAccountData", "ChinaPHEVSettings", "ConnectedVehicleSettings", "ECallSettings", "BCallSettings", "SqdfSettings", "AotaSettings", "TheftAlarmNotificationSettings", "RemoteOperationSettings", "StolenVehicleAssistanceSettings", "VehicleFinderSettings", "ParentalControlsSettings", });
    internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_com_fca_uconnect_global_ParentalControlsSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_ParentalControlsSettings_descriptor,
        new java.lang.String[] { "IsEnabled", });
    internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_com_fca_uconnect_global_VehicleFinderSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_VehicleFinderSettings_descriptor,
        new java.lang.String[] { "IsSendLocationAtKeyOffEnabled", "IsSendOnRequestEnabled", "IsSendPeriodicallyEnabled", "SendLocationPeriodS", "GpsFixTimeoutS", "LocationCachingPeriodS", });
    internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_StolenVehicleAssistanceSettings_descriptor,
        new java.lang.String[] { "TriggerMode", "StolenVehicleInfoNotificationInterval", "StolenVehicleInfoNotificationBUBInterval", "MaxNumBlockVehicleAttempts", });
    internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_com_fca_uconnect_global_RemoteOperationSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_RemoteOperationSettings_descriptor,
        new java.lang.String[] { "RemoteDoorExecTimeout", "RemoteDoorStatusNotificationInterval", "RemoteHornAndLightsExecTimeout", "RemoteHornAndLightsStatusNotificationInterval", "RemoteEngineExecTimeout", "RemoteEngineStatusNotificationInterval", "RemoteClimateExecTimeout", "RemoteClimateStatusNotificationInterval", "RemoteWindowExecTimeout", "RemoteWindowStatusNotificationInterval", "RemoteEngineStartRecoveryTimeout", "RemoteClimateTimeout", });
    internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_ConnectedVehicleSettings_descriptor,
        new java.lang.String[] { "SdpPrimaryMQTTUrl", "SdpBackupMQTTUrl", "FcaPrimaryGPKIUrl", "FcaBackupGPKIUrl", "AuthServerPrimaryUrl", "AuthServerBackupUrl", "KeyOffKeepConnectionOnTimeout", "MaxNumWakeUpMessages", "WakeUpMessageMaxTimeframe", "IsPrivacyMode", "MaxNumLoggedOperations", });
    internal_static_com_fca_uconnect_global_ECallSettings_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_com_fca_uconnect_global_ECallSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_ECallSettings_descriptor,
        new java.lang.String[] { "CallCenterPrimaryPhoneNumber", "CallCenterBackupPhoneNumber", "InboundCallEnabled", "MobileDeviceSMSNumber", "ButtonPressTime", "CallConnectTimeLimit", "CancelTime", "RetryTime", "AcceptInboundCallTimeLimit", "StatusNotificationTimeInterval", "MaxNumDialRetries", "InitCancelTimeout", "IsDTMFDataTransfer", "AccelDataSampleInterval", "BubCallTimeout", });
    internal_static_com_fca_uconnect_global_BCallSettings_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_com_fca_uconnect_global_BCallSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_BCallSettings_descriptor,
        new java.lang.String[] { "CallCenterPrimaryPhoneNumber", "CallCenterBackupPhoneNumber", "MobileDeviceSMSNumber", "ButtonPressTime", "CallConnectTimeLimit", "CancelTime", "RetryTime", });
    internal_static_com_fca_uconnect_global_SQDFSettings_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_com_fca_uconnect_global_SQDFSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFSettings_descriptor,
        new java.lang.String[] { "IsEnabled", "IsVRCUploadEnabled", "IsDTCUploadEnabled", "IsGCDUploadEnabled", "IsMTRUploadEnabled", "IsSGWUploadEnabled", "IsQuickScanEnabled", "QuickScanECURetryCnt", "IsDTCScanEnabled", "DtcScanECURetryCnt", "IsGCDEnabled", "IsHistogramEnabled", "IsDatalogShortEnabled", "GcdTriggerEventLimit", "SensorCalibrationTime", "MaxPendingUploads", "IsGPSPrivacyEnabled", "MtrTriggerEventLimit", "QuickScanPeriod", "DiagnosticRequestRate", "DtcUploadPerECU", "DtcUploadEventLimit", "DtcUploadEventLimitPeriod", "DtcUploadEventLimitExpire", "UploadInterval", "SgwIDSEventDeltaCnt", "SgwGatewayEventDeltaCnt", "SgwDayLimit", "IsROESupported", "TestToolDetectionTimeoutViaTU", "TestToolDetectionTimeoutViaApplication", "MinEngineRPMToScan", "MaxEngineRPMToScan", "MinVehicleSpeedToScan", "MaxVehicleSpeedToScan", "UploadDayOfMonth", "UploadTimestamp", });
    internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_com_fca_uconnect_global_ChinaPHEVSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_ChinaPHEVSettings_descriptor,
        new java.lang.String[] { "AlarmReportingIntervalMS", "RealTimeReportingIntervalMS", "AlarmReportingWindowMS", "ReplaceReportRatio", "EncryptionLevel", "EncryptionKey", });
    internal_static_com_fca_uconnect_global_AOTASettings_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_com_fca_uconnect_global_AOTASettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_AOTASettings_descriptor,
        new java.lang.String[] { "DiscrepancyCheckIntervalMS", });
    internal_static_com_fca_uconnect_global_WifiSetting_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_com_fca_uconnect_global_WifiSetting_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_WifiSetting_descriptor,
        new java.lang.String[] { "Ssid", "Password", "Encryptiontype", });
    internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_descriptor =
      internal_static_com_fca_uconnect_global_WifiSetting_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_WifiSetting_EncryptiontypeEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_TheftAlarmNotificationSettings_descriptor,
        new java.lang.String[] { "IsNotificationActive", "MaxNumSDPNotificationAttempts", "RetryNotificationTimeIntervalS", "AccelerationTriggerThreshold", "AccelerationThresholdDurationMS", "IsEnabled", });
    internal_static_com_fca_uconnect_global_PersonalAccount_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_com_fca_uconnect_global_PersonalAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_descriptor,
        new java.lang.String[] { "InfotainmentPreference", "NavigationPreference", "ClimatePreference", "LightingPreference", });
    internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_InfotainmentPreference_descriptor,
        new java.lang.String[] { "RadioPreset", "MusicFavorite", "PlayLists", });
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(1);
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor,
        new java.lang.String[] { "Stations", });
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_RadioPreset_RadioStation_descriptor,
        new java.lang.String[] { "StationType", "StationFrequency", "StationName", });
    internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(2);
    internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_MusicFavourite_descriptor,
        new java.lang.String[] { "BandNames", "SongNames", });
    internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(3);
    internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_PlayList_descriptor,
        new java.lang.String[] { "Name", "SongNames", });
    internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(4);
    internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_LightingPreference_descriptor,
        new java.lang.String[] { "AmbientR", "AmbientG", "AmbientB", "AmbientLevel", });
    internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(5);
    internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_ClimatePreference_descriptor,
        new java.lang.String[] { "ZoneTemperatures", "IsStreeringWheelHeatActive", });
    internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(6);
    internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_ZoneTemperature_descriptor,
        new java.lang.String[] { "Zone", "PreferredTemperature", });
    internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor =
      internal_static_com_fca_uconnect_global_PersonalAccount_descriptor.getNestedTypes().get(7);
    internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_PersonalAccount_NavigationPreference_descriptor,
        new java.lang.String[] { "FavoriteLocations", });
    vehicleConfigPublish.internalInit(descriptor.getExtensions().get(0));
    vehicleConfigRequest.internalInit(descriptor.getExtensions().get(1));
    vehSyncAckMessage.internalInit(descriptor.getExtensions().get(2));
    com.fca.uconnect.global.GlobalUconnectControl.getDescriptor();
    com.fca.uconnect.global.GlobalUconnectVehicleInfo.getDescriptor();
    com.fca.uconnect.global.GlobalUconnectExtPHEV.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
