// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_PersonalProfile.proto
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Com.Fca.Uconnect.Global {

  /// <summary>Holder for reflection information generated from Global_Uconnect_Ext_PersonalProfile.proto</summary>
  public static partial class GlobalUconnectExtPersonalProfileReflection {

    #region Descriptor
    /// <summary>File descriptor for Global_Uconnect_Ext_PersonalProfile.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static GlobalUconnectExtPersonalProfileReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CilHbG9iYWxfVWNvbm5lY3RfRXh0X1BlcnNvbmFsUHJvZmlsZS5wcm90bxIX",
            "Y29tLmZjYS51Y29ubmVjdC5nbG9iYWwaHkdsb2JhbF9VY29ubmVjdF9FeHRf",
            "QXV0aC5wcm90bxoaR2xvYmFsX1Vjb25uZWN0X0dOU1MucHJvdG8iZwoUQ3Jl",
            "YXRlUHJvZmlsZVJlcXVlc3QSEQoJZmlyc3ROYW1lGAIgASgJEhAKCGxhc3RO",
            "YW1lGAMgASgJEhQKDGVtYWlsQWRkcmVzcxgBIAEoCRIUCgxtb2JpbGVOdW1i",
            "ZXIYBCABKAkiZwoUVHJpZ2dlclBhc3N3b3JkUmVzZXQSEQoJZmlyc3ROYW1l",
            "GAIgASgJEhAKCGxhc3ROYW1lGAMgASgJEhQKDGVtYWlsQWRkcmVzcxgBIAEo",
            "CRIUCgxtb2JpbGVOdW1iZXIYBCABKAkihgIKFUNyZWF0ZVByb2ZpbGVSZXNw",
            "b25zZRJNCghyZXNwb25zZRgBIAEoDjI7LmNvbS5mY2EudWNvbm5lY3QuZ2xv",
            "YmFsLkNyZWF0ZVByb2ZpbGVSZXNwb25zZS5SZXNwb25zZUVudW0SEwoLaXNU",
            "cmFuc2llbnQYAiABKAgSGQoRZmFpbHVyZVJlYXNvbkNvZGUYAyABKAUSGwoT",
            "ZmFpbHVyZVJlYXNvblN0cmluZxgEIAEoCSJRCgxSZXNwb25zZUVudW0SFAoQ",
            "U1VDQ0VTU19DT05USU5VRRAAEhIKDkFDQ09VTlRfRVhJU1RTEAESFwoTQUND",
            "T1VOVF9JTl9QUk9HUkVTUxACIlwKElJlcXVlc3RQcm9maWxlRGF0YRIUCgxt",
            "b3BhckVtYWlsSUQYASABKAkSGQoRbW9wYXJNb2JpbGVOdW1iZXIYAiABKAkS",
            "FQoNbW9wYXJQYXNzd29yZBgDIAEoCSKLAQoSUHVibGlzaFByb2ZpbGVEYXRh",
            "EhEKCXRpbWVzdGFtcBgFIAEoAxIUCgxtb3BhckVtYWlsSUQYASABKAkSFQoN",
            "bW9wYXJQYXNzd29yZBgHIAEoCRI1Cgtwcm9maWxlRGF0YRgGIAMoCzIgLmNv",
            "bS5mY2EudWNvbm5lY3QuZ2xvYmFsLkRhdGFNYXAi8QEKGlB1Ymxpc2hQcm9m",
            "aWxlRGF0YVJlc3BvbnNlElIKCHJlc3BvbnNlGAEgASgOMkAuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuUHVibGlzaFByb2ZpbGVEYXRhUmVzcG9uc2UuUmVz",
            "cG9uc2VFbnVtEhMKC2lzVHJhbnNpZW50GAIgASgIEhkKEWZhaWx1cmVSZWFz",
            "b25Db2RlGAMgASgFEhsKE2ZhaWx1cmVSZWFzb25TdHJpbmcYBCABKAkiMgoM",
            "UmVzcG9uc2VFbnVtEgsKB1NVQ0NFU1MQABILCgdGQUlMVVJFEAESCAoETU9S",
            "RRACIsgCCgdEYXRhTWFwEjsKCGNhdGVnb3J5GAEgASgOMikuY29tLmZjYS51",
            "Y29ubmVjdC5nbG9iYWwuRGF0YU1hcC5DYXRlZ29yeRI3CgpkYXRhVmFsdWVz",
            "GAIgAygLMiMuY29tLmZjYS51Y29ubmVjdC5nbG9iYWwuRGF0YVZhbHVlcyLG",
            "AQoIQ2F0ZWdvcnkSEAoMREVGQVVMVF9OVUxMEAASFAoQVkVISUNMRV9TRVRU",
            "SU5HUxABEg8KC1ZSX1NFVFRJTkdTEAISEQoNU0VBVF9TRVRUSU5HUxADEhIK",
            "DkFVRElPX1NFVFRJTkdTEAQSEgoOUkFESU9fU0VUVElOR1MQBRIUChBQUkVT",
            "RVRTX1NFVFRJTkdTEAYSFwoTQVBQX0RSQVdFUl9TRVRUSU5HUxAHEhcKE05B",
            "VklHQVRJT05fU0VUVElOR1MQCCI7CgpEYXRhVmFsdWVzEhEKCXRpbWVzdGFt",
            "cBgBIAEoARILCgNrZXkYAiABKAkSDQoFdmFsdWUYAyABKAliBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Com.Fca.Uconnect.Global.GlobalUconnectExtAuthReflection.Descriptor, global::Com.Fca.Uconnect.Global.GlobalUconnectGNSSReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.CreateProfileRequest), global::Com.Fca.Uconnect.Global.CreateProfileRequest.Parser, new[]{ "FirstName", "LastName", "EmailAddress", "MobileNumber" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.TriggerPasswordReset), global::Com.Fca.Uconnect.Global.TriggerPasswordReset.Parser, new[]{ "FirstName", "LastName", "EmailAddress", "MobileNumber" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.CreateProfileResponse), global::Com.Fca.Uconnect.Global.CreateProfileResponse.Parser, new[]{ "Response", "IsTransient", "FailureReasonCode", "FailureReasonString" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.CreateProfileResponse.Types.ResponseEnum) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.RequestProfileData), global::Com.Fca.Uconnect.Global.RequestProfileData.Parser, new[]{ "MoparEmailID", "MoparMobileNumber", "MoparPassword" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishProfileData), global::Com.Fca.Uconnect.Global.PublishProfileData.Parser, new[]{ "Timestamp", "MoparEmailID", "MoparPassword", "ProfileData" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.PublishProfileDataResponse), global::Com.Fca.Uconnect.Global.PublishProfileDataResponse.Parser, new[]{ "Response", "IsTransient", "FailureReasonCode", "FailureReasonString" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.PublishProfileDataResponse.Types.ResponseEnum) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataMap), global::Com.Fca.Uconnect.Global.DataMap.Parser, new[]{ "Category", "DataValues" }, null, new[]{ typeof(global::Com.Fca.Uconnect.Global.DataMap.Types.Category) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Com.Fca.Uconnect.Global.DataValues), global::Com.Fca.Uconnect.Global.DataValues.Parser, new[]{ "Timestamp", "Key", "Value" }, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  public sealed partial class CreateProfileRequest : pb::IMessage<CreateProfileRequest> {
    private static readonly pb::MessageParser<CreateProfileRequest> _parser = new pb::MessageParser<CreateProfileRequest>(() => new CreateProfileRequest());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CreateProfileRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileRequest(CreateProfileRequest other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      emailAddress_ = other.emailAddress_;
      mobileNumber_ = other.mobileNumber_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileRequest Clone() {
      return new CreateProfileRequest(this);
    }

    /// <summary>Field number for the "firstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    /// <summary>
    ///*
    /// Create a Profile (Mopar Account) for storing Personalization Data
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "emailAddress" field.</summary>
    public const int EmailAddressFieldNumber = 1;
    private string emailAddress_ = "";
    /// <summary>
    //// Email Address to Register Account
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string EmailAddress {
      get { return emailAddress_; }
      set {
        emailAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "mobileNumber" field.</summary>
    public const int MobileNumberFieldNumber = 4;
    private string mobileNumber_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MobileNumber {
      get { return mobileNumber_; }
      set {
        mobileNumber_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CreateProfileRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CreateProfileRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (EmailAddress != other.EmailAddress) return false;
      if (MobileNumber != other.MobileNumber) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (EmailAddress.Length != 0) hash ^= EmailAddress.GetHashCode();
      if (MobileNumber.Length != 0) hash ^= MobileNumber.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (EmailAddress.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(EmailAddress);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (MobileNumber.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MobileNumber);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (EmailAddress.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EmailAddress);
      }
      if (MobileNumber.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MobileNumber);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CreateProfileRequest other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.EmailAddress.Length != 0) {
        EmailAddress = other.EmailAddress;
      }
      if (other.MobileNumber.Length != 0) {
        MobileNumber = other.MobileNumber;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            EmailAddress = input.ReadString();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 34: {
            MobileNumber = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class TriggerPasswordReset : pb::IMessage<TriggerPasswordReset> {
    private static readonly pb::MessageParser<TriggerPasswordReset> _parser = new pb::MessageParser<TriggerPasswordReset>(() => new TriggerPasswordReset());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<TriggerPasswordReset> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public TriggerPasswordReset() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public TriggerPasswordReset(TriggerPasswordReset other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      emailAddress_ = other.emailAddress_;
      mobileNumber_ = other.mobileNumber_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public TriggerPasswordReset Clone() {
      return new TriggerPasswordReset(this);
    }

    /// <summary>Field number for the "firstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "emailAddress" field.</summary>
    public const int EmailAddressFieldNumber = 1;
    private string emailAddress_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string EmailAddress {
      get { return emailAddress_; }
      set {
        emailAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "mobileNumber" field.</summary>
    public const int MobileNumberFieldNumber = 4;
    private string mobileNumber_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MobileNumber {
      get { return mobileNumber_; }
      set {
        mobileNumber_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as TriggerPasswordReset);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(TriggerPasswordReset other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (EmailAddress != other.EmailAddress) return false;
      if (MobileNumber != other.MobileNumber) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (EmailAddress.Length != 0) hash ^= EmailAddress.GetHashCode();
      if (MobileNumber.Length != 0) hash ^= MobileNumber.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (EmailAddress.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(EmailAddress);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (MobileNumber.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MobileNumber);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (EmailAddress.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EmailAddress);
      }
      if (MobileNumber.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MobileNumber);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(TriggerPasswordReset other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.EmailAddress.Length != 0) {
        EmailAddress = other.EmailAddress;
      }
      if (other.MobileNumber.Length != 0) {
        MobileNumber = other.MobileNumber;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            EmailAddress = input.ReadString();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 34: {
            MobileNumber = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class CreateProfileResponse : pb::IMessage<CreateProfileResponse> {
    private static readonly pb::MessageParser<CreateProfileResponse> _parser = new pb::MessageParser<CreateProfileResponse>(() => new CreateProfileResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CreateProfileResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileResponse(CreateProfileResponse other) : this() {
      response_ = other.response_;
      isTransient_ = other.isTransient_;
      failureReasonCode_ = other.failureReasonCode_;
      failureReasonString_ = other.failureReasonString_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CreateProfileResponse Clone() {
      return new CreateProfileResponse(this);
    }

    /// <summary>Field number for the "response" field.</summary>
    public const int ResponseFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.CreateProfileResponse.Types.ResponseEnum response_ = 0;
    /// <summary>
    //// Success or Failure
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.CreateProfileResponse.Types.ResponseEnum Response {
      get { return response_; }
      set {
        response_ = value;
      }
    }

    /// <summary>Field number for the "isTransient" field.</summary>
    public const int IsTransientFieldNumber = 2;
    private bool isTransient_;
    /// <summary>
    //// Indicates if the error is transient and to attempt a retry.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool IsTransient {
      get { return isTransient_; }
      set {
        isTransient_ = value;
      }
    }

    /// <summary>Field number for the "failureReasonCode" field.</summary>
    public const int FailureReasonCodeFieldNumber = 3;
    private int failureReasonCode_;
    /// <summary>
    //// App or System Supplied Reason Code for Failures - See Error Codes page in wiki for details
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FailureReasonCode {
      get { return failureReasonCode_; }
      set {
        failureReasonCode_ = value;
      }
    }

    /// <summary>Field number for the "failureReasonString" field.</summary>
    public const int FailureReasonStringFieldNumber = 4;
    private string failureReasonString_ = "";
    /// <summary>
    //// can be mapped to httpResponse from B2B services
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string FailureReasonString {
      get { return failureReasonString_; }
      set {
        failureReasonString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as CreateProfileResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CreateProfileResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Response != other.Response) return false;
      if (IsTransient != other.IsTransient) return false;
      if (FailureReasonCode != other.FailureReasonCode) return false;
      if (FailureReasonString != other.FailureReasonString) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Response != 0) hash ^= Response.GetHashCode();
      if (IsTransient != false) hash ^= IsTransient.GetHashCode();
      if (FailureReasonCode != 0) hash ^= FailureReasonCode.GetHashCode();
      if (FailureReasonString.Length != 0) hash ^= FailureReasonString.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Response != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Response);
      }
      if (IsTransient != false) {
        output.WriteRawTag(16);
        output.WriteBool(IsTransient);
      }
      if (FailureReasonCode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FailureReasonCode);
      }
      if (FailureReasonString.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FailureReasonString);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Response != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Response);
      }
      if (IsTransient != false) {
        size += 1 + 1;
      }
      if (FailureReasonCode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FailureReasonCode);
      }
      if (FailureReasonString.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FailureReasonString);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CreateProfileResponse other) {
      if (other == null) {
        return;
      }
      if (other.Response != 0) {
        Response = other.Response;
      }
      if (other.IsTransient != false) {
        IsTransient = other.IsTransient;
      }
      if (other.FailureReasonCode != 0) {
        FailureReasonCode = other.FailureReasonCode;
      }
      if (other.FailureReasonString.Length != 0) {
        FailureReasonString = other.FailureReasonString;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            response_ = (global::Com.Fca.Uconnect.Global.CreateProfileResponse.Types.ResponseEnum) input.ReadEnum();
            break;
          }
          case 16: {
            IsTransient = input.ReadBool();
            break;
          }
          case 24: {
            FailureReasonCode = input.ReadInt32();
            break;
          }
          case 34: {
            FailureReasonString = input.ReadString();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the CreateProfileResponse message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum ResponseEnum {
        /// <summary>
        ////Success
        /// </summary>
        [pbr::OriginalName("SUCCESS_CONTINUE")] SuccessContinue = 0,
        /// <summary>
        //// Account Already Exists
        /// </summary>
        [pbr::OriginalName("ACCOUNT_EXISTS")] AccountExists = 1,
        /// <summary>
        //// A partial registration already exists for this email
        /// </summary>
        [pbr::OriginalName("ACCOUNT_IN_PROGRESS")] AccountInProgress = 2,
      }

    }
    #endregion

  }

  public sealed partial class RequestProfileData : pb::IMessage<RequestProfileData> {
    private static readonly pb::MessageParser<RequestProfileData> _parser = new pb::MessageParser<RequestProfileData>(() => new RequestProfileData());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<RequestProfileData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public RequestProfileData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public RequestProfileData(RequestProfileData other) : this() {
      moparEmailID_ = other.moparEmailID_;
      moparMobileNumber_ = other.moparMobileNumber_;
      moparPassword_ = other.moparPassword_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public RequestProfileData Clone() {
      return new RequestProfileData(this);
    }

    /// <summary>Field number for the "moparEmailID" field.</summary>
    public const int MoparEmailIDFieldNumber = 1;
    private string moparEmailID_ = "";
    /// <summary>
    //// Mopar Account ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MoparEmailID {
      get { return moparEmailID_; }
      set {
        moparEmailID_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "moparMobileNumber" field.</summary>
    public const int MoparMobileNumberFieldNumber = 2;
    private string moparMobileNumber_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MoparMobileNumber {
      get { return moparMobileNumber_; }
      set {
        moparMobileNumber_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "moparPassword" field.</summary>
    public const int MoparPasswordFieldNumber = 3;
    private string moparPassword_ = "";
    /// <summary>
    //// Mopar Account Password
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MoparPassword {
      get { return moparPassword_; }
      set {
        moparPassword_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as RequestProfileData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(RequestProfileData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MoparEmailID != other.MoparEmailID) return false;
      if (MoparMobileNumber != other.MoparMobileNumber) return false;
      if (MoparPassword != other.MoparPassword) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (MoparEmailID.Length != 0) hash ^= MoparEmailID.GetHashCode();
      if (MoparMobileNumber.Length != 0) hash ^= MoparMobileNumber.GetHashCode();
      if (MoparPassword.Length != 0) hash ^= MoparPassword.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (MoparEmailID.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MoparEmailID);
      }
      if (MoparMobileNumber.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(MoparMobileNumber);
      }
      if (MoparPassword.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MoparPassword);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (MoparEmailID.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MoparEmailID);
      }
      if (MoparMobileNumber.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MoparMobileNumber);
      }
      if (MoparPassword.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MoparPassword);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(RequestProfileData other) {
      if (other == null) {
        return;
      }
      if (other.MoparEmailID.Length != 0) {
        MoparEmailID = other.MoparEmailID;
      }
      if (other.MoparMobileNumber.Length != 0) {
        MoparMobileNumber = other.MoparMobileNumber;
      }
      if (other.MoparPassword.Length != 0) {
        MoparPassword = other.MoparPassword;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            MoparEmailID = input.ReadString();
            break;
          }
          case 18: {
            MoparMobileNumber = input.ReadString();
            break;
          }
          case 26: {
            MoparPassword = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class PublishProfileData : pb::IMessage<PublishProfileData> {
    private static readonly pb::MessageParser<PublishProfileData> _parser = new pb::MessageParser<PublishProfileData>(() => new PublishProfileData());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PublishProfileData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileData(PublishProfileData other) : this() {
      timestamp_ = other.timestamp_;
      moparEmailID_ = other.moparEmailID_;
      moparPassword_ = other.moparPassword_;
      profileData_ = other.profileData_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileData Clone() {
      return new PublishProfileData(this);
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private long timestamp_;
    /// <summary>
    //// UTC Timestamp
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "moparEmailID" field.</summary>
    public const int MoparEmailIDFieldNumber = 1;
    private string moparEmailID_ = "";
    /// <summary>
    ////Same as ID used for the Personal Login, used for routing only
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MoparEmailID {
      get { return moparEmailID_; }
      set {
        moparEmailID_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "moparPassword" field.</summary>
    public const int MoparPasswordFieldNumber = 7;
    private string moparPassword_ = "";
    /// <summary>
    //// Mopar account password
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string MoparPassword {
      get { return moparPassword_; }
      set {
        moparPassword_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "profileData" field.</summary>
    public const int ProfileDataFieldNumber = 6;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataMap> _repeated_profileData_codec
        = pb::FieldCodec.ForMessage(50, global::Com.Fca.Uconnect.Global.DataMap.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataMap> profileData_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataMap>();
    /// <summary>
    //// Structured Profile data
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataMap> ProfileData {
      get { return profileData_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as PublishProfileData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PublishProfileData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Timestamp != other.Timestamp) return false;
      if (MoparEmailID != other.MoparEmailID) return false;
      if (MoparPassword != other.MoparPassword) return false;
      if(!profileData_.Equals(other.profileData_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
      if (MoparEmailID.Length != 0) hash ^= MoparEmailID.GetHashCode();
      if (MoparPassword.Length != 0) hash ^= MoparPassword.GetHashCode();
      hash ^= profileData_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (MoparEmailID.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MoparEmailID);
      }
      if (Timestamp != 0L) {
        output.WriteRawTag(40);
        output.WriteInt64(Timestamp);
      }
      profileData_.WriteTo(output, _repeated_profileData_codec);
      if (MoparPassword.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(MoparPassword);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Timestamp != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
      }
      if (MoparEmailID.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MoparEmailID);
      }
      if (MoparPassword.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MoparPassword);
      }
      size += profileData_.CalculateSize(_repeated_profileData_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PublishProfileData other) {
      if (other == null) {
        return;
      }
      if (other.Timestamp != 0L) {
        Timestamp = other.Timestamp;
      }
      if (other.MoparEmailID.Length != 0) {
        MoparEmailID = other.MoparEmailID;
      }
      if (other.MoparPassword.Length != 0) {
        MoparPassword = other.MoparPassword;
      }
      profileData_.Add(other.profileData_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 10: {
            MoparEmailID = input.ReadString();
            break;
          }
          case 40: {
            Timestamp = input.ReadInt64();
            break;
          }
          case 50: {
            profileData_.AddEntriesFrom(input, _repeated_profileData_codec);
            break;
          }
          case 58: {
            MoparPassword = input.ReadString();
            break;
          }
        }
      }
    }

  }

  public sealed partial class PublishProfileDataResponse : pb::IMessage<PublishProfileDataResponse> {
    private static readonly pb::MessageParser<PublishProfileDataResponse> _parser = new pb::MessageParser<PublishProfileDataResponse>(() => new PublishProfileDataResponse());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<PublishProfileDataResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileDataResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileDataResponse(PublishProfileDataResponse other) : this() {
      response_ = other.response_;
      isTransient_ = other.isTransient_;
      failureReasonCode_ = other.failureReasonCode_;
      failureReasonString_ = other.failureReasonString_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public PublishProfileDataResponse Clone() {
      return new PublishProfileDataResponse(this);
    }

    /// <summary>Field number for the "response" field.</summary>
    public const int ResponseFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.PublishProfileDataResponse.Types.ResponseEnum response_ = 0;
    /// <summary>
    //// Success or Failure
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.PublishProfileDataResponse.Types.ResponseEnum Response {
      get { return response_; }
      set {
        response_ = value;
      }
    }

    /// <summary>Field number for the "isTransient" field.</summary>
    public const int IsTransientFieldNumber = 2;
    private bool isTransient_;
    /// <summary>
    //// Indicates if the error is transient and to attempt a retry.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool IsTransient {
      get { return isTransient_; }
      set {
        isTransient_ = value;
      }
    }

    /// <summary>Field number for the "failureReasonCode" field.</summary>
    public const int FailureReasonCodeFieldNumber = 3;
    private int failureReasonCode_;
    /// <summary>
    //// App or System Supplied Reason Code for Failures - See Error Codes page in wiki for details
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FailureReasonCode {
      get { return failureReasonCode_; }
      set {
        failureReasonCode_ = value;
      }
    }

    /// <summary>Field number for the "failureReasonString" field.</summary>
    public const int FailureReasonStringFieldNumber = 4;
    private string failureReasonString_ = "";
    /// <summary>
    //// can be mapped to httpResponse from B2B services
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string FailureReasonString {
      get { return failureReasonString_; }
      set {
        failureReasonString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as PublishProfileDataResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(PublishProfileDataResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Response != other.Response) return false;
      if (IsTransient != other.IsTransient) return false;
      if (FailureReasonCode != other.FailureReasonCode) return false;
      if (FailureReasonString != other.FailureReasonString) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Response != 0) hash ^= Response.GetHashCode();
      if (IsTransient != false) hash ^= IsTransient.GetHashCode();
      if (FailureReasonCode != 0) hash ^= FailureReasonCode.GetHashCode();
      if (FailureReasonString.Length != 0) hash ^= FailureReasonString.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Response != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Response);
      }
      if (IsTransient != false) {
        output.WriteRawTag(16);
        output.WriteBool(IsTransient);
      }
      if (FailureReasonCode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FailureReasonCode);
      }
      if (FailureReasonString.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FailureReasonString);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Response != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Response);
      }
      if (IsTransient != false) {
        size += 1 + 1;
      }
      if (FailureReasonCode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FailureReasonCode);
      }
      if (FailureReasonString.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FailureReasonString);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(PublishProfileDataResponse other) {
      if (other == null) {
        return;
      }
      if (other.Response != 0) {
        Response = other.Response;
      }
      if (other.IsTransient != false) {
        IsTransient = other.IsTransient;
      }
      if (other.FailureReasonCode != 0) {
        FailureReasonCode = other.FailureReasonCode;
      }
      if (other.FailureReasonString.Length != 0) {
        FailureReasonString = other.FailureReasonString;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            response_ = (global::Com.Fca.Uconnect.Global.PublishProfileDataResponse.Types.ResponseEnum) input.ReadEnum();
            break;
          }
          case 16: {
            IsTransient = input.ReadBool();
            break;
          }
          case 24: {
            FailureReasonCode = input.ReadInt32();
            break;
          }
          case 34: {
            FailureReasonString = input.ReadString();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the PublishProfileDataResponse message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      /// <summary>
      ///* Additional enumerations should be avaialable, based on backend responses i.e. NOT_AUTHORIZED, NOT_REGISTERED etc 
      /// </summary>
      public enum ResponseEnum {
        /// <summary>
        ////Success
        /// </summary>
        [pbr::OriginalName("SUCCESS")] Success = 0,
        /// <summary>
        //// Failure
        /// </summary>
        [pbr::OriginalName("FAILURE")] Failure = 1,
        /// <summary>
        //// Additional Responses Should come from Backend System Errors
        /// </summary>
        [pbr::OriginalName("MORE")] More = 2,
      }

    }
    #endregion

  }

  public sealed partial class DataMap : pb::IMessage<DataMap> {
    private static readonly pb::MessageParser<DataMap> _parser = new pb::MessageParser<DataMap>(() => new DataMap());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataMap(DataMap other) : this() {
      category_ = other.category_;
      dataValues_ = other.dataValues_.Clone();
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataMap Clone() {
      return new DataMap(this);
    }

    /// <summary>Field number for the "category" field.</summary>
    public const int CategoryFieldNumber = 1;
    private global::Com.Fca.Uconnect.Global.DataMap.Types.Category category_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Com.Fca.Uconnect.Global.DataMap.Types.Category Category {
      get { return category_; }
      set {
        category_ = value;
      }
    }

    /// <summary>Field number for the "dataValues" field.</summary>
    public const int DataValuesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Com.Fca.Uconnect.Global.DataValues> _repeated_dataValues_codec
        = pb::FieldCodec.ForMessage(18, global::Com.Fca.Uconnect.Global.DataValues.Parser);
    private readonly pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataValues> dataValues_ = new pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataValues>();
    /// <summary>
    //// repeated once per key value pair in category
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::Com.Fca.Uconnect.Global.DataValues> DataValues {
      get { return dataValues_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Category != other.Category) return false;
      if(!dataValues_.Equals(other.dataValues_)) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Category != 0) hash ^= Category.GetHashCode();
      hash ^= dataValues_.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Category != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Category);
      }
      dataValues_.WriteTo(output, _repeated_dataValues_codec);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Category != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Category);
      }
      size += dataValues_.CalculateSize(_repeated_dataValues_codec);
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataMap other) {
      if (other == null) {
        return;
      }
      if (other.Category != 0) {
        Category = other.Category;
      }
      dataValues_.Add(other.dataValues_);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            category_ = (global::Com.Fca.Uconnect.Global.DataMap.Types.Category) input.ReadEnum();
            break;
          }
          case 18: {
            dataValues_.AddEntriesFrom(input, _repeated_dataValues_codec);
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the DataMap message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      public enum Category {
        [pbr::OriginalName("DEFAULT_NULL")] DefaultNull = 0,
        [pbr::OriginalName("VEHICLE_SETTINGS")] VehicleSettings = 1,
        [pbr::OriginalName("VR_SETTINGS")] VrSettings = 2,
        [pbr::OriginalName("SEAT_SETTINGS")] SeatSettings = 3,
        [pbr::OriginalName("AUDIO_SETTINGS")] AudioSettings = 4,
        [pbr::OriginalName("RADIO_SETTINGS")] RadioSettings = 5,
        [pbr::OriginalName("PRESETS_SETTINGS")] PresetsSettings = 6,
        [pbr::OriginalName("APP_DRAWER_SETTINGS")] AppDrawerSettings = 7,
        [pbr::OriginalName("NAVIGATION_SETTINGS")] NavigationSettings = 8,
      }

    }
    #endregion

  }

  public sealed partial class DataValues : pb::IMessage<DataValues> {
    private static readonly pb::MessageParser<DataValues> _parser = new pb::MessageParser<DataValues>(() => new DataValues());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<DataValues> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Com.Fca.Uconnect.Global.GlobalUconnectExtPersonalProfileReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataValues() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataValues(DataValues other) : this() {
      timestamp_ = other.timestamp_;
      key_ = other.key_;
      value_ = other.value_;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public DataValues Clone() {
      return new DataValues(this);
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 1;
    private double timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public double Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "key" field.</summary>
    public const int KeyFieldNumber = 2;
    private string key_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Key {
      get { return key_; }
      set {
        key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 3;
    private string value_ = "";
    /// <summary>
    /// alternatively, the "value could be a  byte field
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Value {
      get { return value_; }
      set {
        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as DataValues);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(DataValues other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Timestamp != other.Timestamp) return false;
      if (Key != other.Key) return false;
      if (Value != other.Value) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Timestamp != 0D) hash ^= Timestamp.GetHashCode();
      if (Key.Length != 0) hash ^= Key.GetHashCode();
      if (Value.Length != 0) hash ^= Value.GetHashCode();
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (Timestamp != 0D) {
        output.WriteRawTag(9);
        output.WriteDouble(Timestamp);
      }
      if (Key.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Key);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Value);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Timestamp != 0D) {
        size += 1 + 8;
      }
      if (Key.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
      }
      if (Value.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(DataValues other) {
      if (other == null) {
        return;
      }
      if (other.Timestamp != 0D) {
        Timestamp = other.Timestamp;
      }
      if (other.Key.Length != 0) {
        Key = other.Key;
      }
      if (other.Value.Length != 0) {
        Value = other.Value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 9: {
            Timestamp = input.ReadDouble();
            break;
          }
          case 18: {
            Key = input.ReadString();
            break;
          }
          case 26: {
            Value = input.ReadString();
            break;
          }
        }
      }
    }

  }

  #endregion

}

#endregion Designer generated code
