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

package com.fca.uconnect.global;

public final class GlobalV2MUconnectControl {
  private GlobalV2MUconnectControl() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

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

    /**
     * <pre>
     *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    boolean hasTimestamp();
    /**
     * <pre>
     *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    long getTimestamp();

    /**
     * <pre>
     *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
     * </pre>
     *
     * <code>optional bytes sessionId = 2;</code>
     */
    boolean hasSessionId();
    /**
     * <pre>
     *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
     * </pre>
     *
     * <code>optional bytes sessionId = 2;</code>
     */
    com.google.protobuf.ByteString getSessionId();

    /**
     * <pre>
     *&#47;Unique message id also utilized as a correlation id for responses.
     * </pre>
     *
     * <code>optional int32 messageId = 3;</code>
     */
    boolean hasMessageId();
    /**
     * <pre>
     *&#47;Unique message id also utilized as a correlation id for responses.
     * </pre>
     *
     * <code>optional int32 messageId = 3;</code>
     */
    int getMessageId();

    /**
     * <pre>
     *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
     * </pre>
     *
     * <code>optional int32 correlationId = 4;</code>
     */
    boolean hasCorrelationId();
    /**
     * <pre>
     *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
     * </pre>
     *
     * <code>optional int32 correlationId = 4;</code>
     */
    int getCorrelationId();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.UconnectMessageV2M}
   */
  public  static final class UconnectMessageV2M extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.UconnectMessageV2M)
      UconnectMessageV2MOrBuilder {
    // Use UconnectMessageV2M.newBuilder() to construct.
    private UconnectMessageV2M(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private UconnectMessageV2M() {
      timestamp_ = 0L;
      sessionId_ = com.google.protobuf.ByteString.EMPTY;
      messageId_ = 0;
      correlationId_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UconnectMessageV2M(
        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;
              timestamp_ = input.readInt64();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              sessionId_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              messageId_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              correlationId_ = 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.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectMessageV2M_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectMessageV2M_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.class, com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.Builder.class);
    }

    private int bitField0_;
    public static final int TIMESTAMP_FIELD_NUMBER = 1;
    private long timestamp_;
    /**
     * <pre>
     *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int SESSIONID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString sessionId_;
    /**
     * <pre>
     *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
     * </pre>
     *
     * <code>optional bytes sessionId = 2;</code>
     */
    public boolean hasSessionId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
     * </pre>
     *
     * <code>optional bytes sessionId = 2;</code>
     */
    public com.google.protobuf.ByteString getSessionId() {
      return sessionId_;
    }

    public static final int MESSAGEID_FIELD_NUMBER = 3;
    private int messageId_;
    /**
     * <pre>
     *&#47;Unique message id also utilized as a correlation id for responses.
     * </pre>
     *
     * <code>optional int32 messageId = 3;</code>
     */
    public boolean hasMessageId() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     *&#47;Unique message id also utilized as a correlation id for responses.
     * </pre>
     *
     * <code>optional int32 messageId = 3;</code>
     */
    public int getMessageId() {
      return messageId_;
    }

    public static final int CORRELATIONID_FIELD_NUMBER = 4;
    private int correlationId_;
    /**
     * <pre>
     *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
     * </pre>
     *
     * <code>optional int32 correlationId = 4;</code>
     */
    public boolean hasCorrelationId() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
     * </pre>
     *
     * <code>optional int32 correlationId = 4;</code>
     */
    public int getCorrelationId() {
      return correlationId_;
    }

    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.writeInt64(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, sessionId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, messageId_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, correlationId_);
      }
      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
          .computeInt64Size(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, sessionId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, messageId_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, correlationId_);
      }
      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.GlobalV2MUconnectControl.UconnectMessageV2M)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M other = (com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M) obj;

      boolean result = true;
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && (getTimestamp()
            == other.getTimestamp());
      }
      result = result && (hasSessionId() == other.hasSessionId());
      if (hasSessionId()) {
        result = result && getSessionId()
            .equals(other.getSessionId());
      }
      result = result && (hasMessageId() == other.hasMessageId());
      if (hasMessageId()) {
        result = result && (getMessageId()
            == other.getMessageId());
      }
      result = result && (hasCorrelationId() == other.hasCorrelationId());
      if (hasCorrelationId()) {
        result = result && (getCorrelationId()
            == other.getCorrelationId());
      }
      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 (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTimestamp());
      }
      if (hasSessionId()) {
        hash = (37 * hash) + SESSIONID_FIELD_NUMBER;
        hash = (53 * hash) + getSessionId().hashCode();
      }
      if (hasMessageId()) {
        hash = (37 * hash) + MESSAGEID_FIELD_NUMBER;
        hash = (53 * hash) + getMessageId();
      }
      if (hasCorrelationId()) {
        hash = (37 * hash) + CORRELATIONID_FIELD_NUMBER;
        hash = (53 * hash) + getCorrelationId();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M 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.GlobalV2MUconnectControl.UconnectMessageV2M parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M 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.GlobalV2MUconnectControl.UconnectMessageV2M parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M 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.GlobalV2MUconnectControl.UconnectMessageV2M parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M 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.GlobalV2MUconnectControl.UconnectMessageV2M 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.UconnectMessageV2M}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.UconnectMessageV2M)
        com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2MOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectMessageV2M_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectMessageV2M_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.class, com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.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();
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        sessionId_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        correlationId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.getDefaultInstance();
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M buildPartial() {
        com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M result = new com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.sessionId_ = sessionId_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageId_ = messageId_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.correlationId_ = correlationId_;
        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.GlobalV2MUconnectControl.UconnectMessageV2M) {
          return mergeFrom((com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M other) {
        if (other == com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M.getDefaultInstance()) return this;
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasSessionId()) {
          setSessionId(other.getSessionId());
        }
        if (other.hasMessageId()) {
          setMessageId(other.getMessageId());
        }
        if (other.hasCorrelationId()) {
          setCorrelationId(other.getCorrelationId());
        }
        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.GlobalV2MUconnectControl.UconnectMessageV2M parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long timestamp_ ;
      /**
       * <pre>
       *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000001;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;The current system time on the platform when the message is generated.  NOTE: The SDP/TSP will provide a network time service based on NTP to augment the GPS time captured in the vehicle.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString sessionId_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
       * </pre>
       *
       * <code>optional bytes sessionId = 2;</code>
       */
      public boolean hasSessionId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
       * </pre>
       *
       * <code>optional bytes sessionId = 2;</code>
       */
      public com.google.protobuf.ByteString getSessionId() {
        return sessionId_;
      }
      /**
       * <pre>
       *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
       * </pre>
       *
       * <code>optional bytes sessionId = 2;</code>
       */
      public Builder setSessionId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sessionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; may contain any arbitrary sequence of bytes. Intended for implementations where parties to a session need to share a session identifier. Implementations that do so will be able to use sessionId and messageId to correlate logged messages for diagnostic/debug purposes.
       * </pre>
       *
       * <code>optional bytes sessionId = 2;</code>
       */
      public Builder clearSessionId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        sessionId_ = getDefaultInstance().getSessionId();
        onChanged();
        return this;
      }

      private int messageId_ ;
      /**
       * <pre>
       *&#47;Unique message id also utilized as a correlation id for responses.
       * </pre>
       *
       * <code>optional int32 messageId = 3;</code>
       */
      public boolean hasMessageId() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *&#47;Unique message id also utilized as a correlation id for responses.
       * </pre>
       *
       * <code>optional int32 messageId = 3;</code>
       */
      public int getMessageId() {
        return messageId_;
      }
      /**
       * <pre>
       *&#47;Unique message id also utilized as a correlation id for responses.
       * </pre>
       *
       * <code>optional int32 messageId = 3;</code>
       */
      public Builder setMessageId(int value) {
        bitField0_ |= 0x00000004;
        messageId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;Unique message id also utilized as a correlation id for responses.
       * </pre>
       *
       * <code>optional int32 messageId = 3;</code>
       */
      public Builder clearMessageId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageId_ = 0;
        onChanged();
        return this;
      }

      private int correlationId_ ;
      /**
       * <pre>
       *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
       * </pre>
       *
       * <code>optional int32 correlationId = 4;</code>
       */
      public boolean hasCorrelationId() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
       * </pre>
       *
       * <code>optional int32 correlationId = 4;</code>
       */
      public int getCorrelationId() {
        return correlationId_;
      }
      /**
       * <pre>
       *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
       * </pre>
       *
       * <code>optional int32 correlationId = 4;</code>
       */
      public Builder setCorrelationId(int value) {
        bitField0_ |= 0x00000008;
        correlationId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Must only be set from the messageId of a received message. If there is not a received message being responded to, do not set any value other than the default. Initiators of interactions should never set correlationId, it is for point to point request/response only.
       * </pre>
       *
       * <code>optional int32 correlationId = 4;</code>
       */
      public Builder clearCorrelationId() {
        bitField0_ = (bitField0_ & ~0x00000008);
        correlationId_ = 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.UconnectMessageV2M)
    }

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

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectMessageV2M getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    boolean hasTimestamp();
    /**
     * <pre>
     *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    long getTimestamp();
  }
  /**
   * <pre>
   **
   * The KeepAliveMessage provides a lightweight alternative to the base MQTT keep alive provided in the client library.  The message will be used in the scenario where the client manages the keep alive instead of letting the MQTT client manage the keep alive.
   * This is different from original MQTT Keep Alive,Imperical testing showed the custom KeepAliveMessage resulted in smaller messages over the network. This is in place as an optional approach to using the default keepalive.
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.KeepAliveMessage}
   */
  public  static final class KeepAliveMessage extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.KeepAliveMessage)
      KeepAliveMessageOrBuilder {
    // Use KeepAliveMessage.newBuilder() to construct.
    private KeepAliveMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private KeepAliveMessage() {
      timestamp_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private KeepAliveMessage(
        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;
              timestamp_ = 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.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_KeepAliveMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_KeepAliveMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.class, com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.Builder.class);
    }

    private int bitField0_;
    public static final int TIMESTAMP_FIELD_NUMBER = 1;
    private long timestamp_;
    /**
     * <pre>
     *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
     * </pre>
     *
     * <code>optional int64 timestamp = 1;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    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.writeInt64(1, timestamp_);
      }
      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
          .computeInt64Size(1, timestamp_);
      }
      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.GlobalV2MUconnectControl.KeepAliveMessage)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage other = (com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage) obj;

      boolean result = true;
      result = result && (hasTimestamp() == other.hasTimestamp());
      if (hasTimestamp()) {
        result = result && (getTimestamp()
            == other.getTimestamp());
      }
      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 (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTimestamp());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage 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.GlobalV2MUconnectControl.KeepAliveMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage 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.GlobalV2MUconnectControl.KeepAliveMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage 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.GlobalV2MUconnectControl.KeepAliveMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage 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.GlobalV2MUconnectControl.KeepAliveMessage 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>
     **
     * The KeepAliveMessage provides a lightweight alternative to the base MQTT keep alive provided in the client library.  The message will be used in the scenario where the client manages the keep alive instead of letting the MQTT client manage the keep alive.
     * This is different from original MQTT Keep Alive,Imperical testing showed the custom KeepAliveMessage resulted in smaller messages over the network. This is in place as an optional approach to using the default keepalive.
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.KeepAliveMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.KeepAliveMessage)
        com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_KeepAliveMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_KeepAliveMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.class, com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.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();
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.getDefaultInstance();
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage buildPartial() {
        com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage result = new com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.timestamp_ = timestamp_;
        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.GlobalV2MUconnectControl.KeepAliveMessage) {
          return mergeFrom((com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage other) {
        if (other == com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage.getDefaultInstance()) return this;
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        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.GlobalV2MUconnectControl.KeepAliveMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long timestamp_ ;
      /**
       * <pre>
       *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000001;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;The milliseconds since (Jan 1, 1970 00:00:00 UTC) when the message is created. Should come from the system clock of the sender.
       * </pre>
       *
       * <code>optional int64 timestamp = 1;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        timestamp_ = 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.KeepAliveMessage)
    }

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

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public com.fca.uconnect.global.GlobalV2MUconnectControl.KeepAliveMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UconnectAnyV2MOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.UconnectAnyV2M)
      com.google.protobuf.GeneratedMessageV3.
          ExtendableMessageOrBuilder<UconnectAnyV2M> {
  }
  /**
   * <pre>
   **
   * The UconnectAny message allows for protocol buffer extensions so feature specific messages are decoupled from the top level message.  It is a placeholder to allow a repeated set of extensions.
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.UconnectAnyV2M}
   */
  public  static final class UconnectAnyV2M extends
      com.google.protobuf.GeneratedMessageV3.ExtendableMessage<
        UconnectAnyV2M> implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.UconnectAnyV2M)
      UconnectAnyV2MOrBuilder {
    // Use UconnectAnyV2M.newBuilder() to construct.
    private UconnectAnyV2M(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, ?> builder) {
      super(builder);
    }
    private UconnectAnyV2M() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UconnectAnyV2M(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      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;
            }
          }
        }
      } 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.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectAnyV2M_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectAnyV2M_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.class, com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.Builder.class);
    }

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

      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .ExtendableMessage<com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M>.ExtensionWriter
          extensionWriter = newExtensionWriter();
      extensionWriter.writeUntil(10001, output);
      unknownFields.writeTo(output);
    }

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

      size = 0;
      size += extensionsSerializedSize();
      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.GlobalV2MUconnectControl.UconnectAnyV2M)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M other = (com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M) obj;

      boolean result = true;
      result = result && unknownFields.equals(other.unknownFields);
      result = result &&
          getExtensionFields().equals(other.getExtensionFields());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = hashFields(hash, getExtensionFields());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M 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.GlobalV2MUconnectControl.UconnectAnyV2M parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M 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.GlobalV2MUconnectControl.UconnectAnyV2M parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M 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.GlobalV2MUconnectControl.UconnectAnyV2M parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M 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.GlobalV2MUconnectControl.UconnectAnyV2M 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>
     **
     * The UconnectAny message allows for protocol buffer extensions so feature specific messages are decoupled from the top level message.  It is a placeholder to allow a repeated set of extensions.
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.UconnectAnyV2M}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<
          com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.UconnectAnyV2M)
        com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2MOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectAnyV2M_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.internal_static_com_fca_uconnect_global_UconnectAnyV2M_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.class, com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.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();
        return this;
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.getDefaultInstance();
      }

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

      public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M buildPartial() {
        com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M result = new com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M(this);
        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 <Type> Builder setExtension(
          com.google.protobuf.GeneratedMessage.GeneratedExtension<
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, Type> extension,
          Type value) {
        return (Builder) super.setExtension(extension, value);
      }
      public <Type> Builder setExtension(
          com.google.protobuf.GeneratedMessage.GeneratedExtension<
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, java.util.List<Type>> extension,
          int index, Type value) {
        return (Builder) super.setExtension(extension, index, value);
      }
      public <Type> Builder addExtension(
          com.google.protobuf.GeneratedMessage.GeneratedExtension<
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, java.util.List<Type>> extension,
          Type value) {
        return (Builder) super.addExtension(extension, value);
      }
      public <Type> Builder clearExtension(
          com.google.protobuf.GeneratedMessage.GeneratedExtension<
              com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M, ?> extension) {
        return (Builder) super.clearExtension(extension);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M) {
          return mergeFrom((com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M other) {
        if (other == com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M.getDefaultInstance()) return this;
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        if (!extensionsAreInitialized()) {
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        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.UconnectAnyV2M)
    }

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

    public static com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public com.fca.uconnect.global.GlobalV2MUconnectControl.UconnectAnyV2M getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_UconnectMessageV2M_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_UconnectMessageV2M_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_KeepAliveMessage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_KeepAliveMessage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_UconnectAnyV2M_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_UconnectAnyV2M_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_V2M_Uconnect_Common.proto\022\027com." +
      "fca.uconnect.global\"d\n\022UconnectMessageV2" +
      "M\022\021\n\ttimestamp\030\001 \001(\003\022\021\n\tsessionId\030\002 \001(\014\022" +
      "\021\n\tmessageId\030\003 \001(\005\022\025\n\rcorrelationId\030\004 \001(" +
      "\005\"%\n\020KeepAliveMessage\022\021\n\ttimestamp\030\001 \001(\003" +
      "\"\027\n\016UconnectAnyV2M*\005\010\n\020\221N"
    };
    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[] {
        }, assigner);
    internal_static_com_fca_uconnect_global_UconnectMessageV2M_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_fca_uconnect_global_UconnectMessageV2M_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_UconnectMessageV2M_descriptor,
        new java.lang.String[] { "Timestamp", "SessionId", "MessageId", "CorrelationId", });
    internal_static_com_fca_uconnect_global_KeepAliveMessage_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_fca_uconnect_global_KeepAliveMessage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_KeepAliveMessage_descriptor,
        new java.lang.String[] { "Timestamp", });
    internal_static_com_fca_uconnect_global_UconnectAnyV2M_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_fca_uconnect_global_UconnectAnyV2M_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_UconnectAnyV2M_descriptor,
        new java.lang.String[] { });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
