context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: google/protobuf/wrappers.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 Google.Protobuf.WellKnownTypes {
  
    /// <summary>Holder for reflection information generated from google/protobuf/wrappers.proto</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public static partial class WrappersReflection {
  
      #region Descriptor
      /// <summary>File descriptor for google/protobuf/wrappers.proto</summary>
      public static pbr::FileDescriptor Descriptor {
        get { return descriptor; }
      }
      private static pbr::FileDescriptor descriptor;
  
      static WrappersReflection() {
        byte[] descriptorData = global::System.Convert.FromBase64String(
            string.Concat(
              "Ch5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90",
              "b2J1ZiIcCgtEb3VibGVWYWx1ZRINCgV2YWx1ZRgBIAEoASIbCgpGbG9hdFZh",
              "bHVlEg0KBXZhbHVlGAEgASgCIhsKCkludDY0VmFsdWUSDQoFdmFsdWUYASAB",
              "KAMiHAoLVUludDY0VmFsdWUSDQoFdmFsdWUYASABKAQiGwoKSW50MzJWYWx1",
              "ZRINCgV2YWx1ZRgBIAEoBSIcCgtVSW50MzJWYWx1ZRINCgV2YWx1ZRgBIAEo",
              "DSIaCglCb29sVmFsdWUSDQoFdmFsdWUYASABKAgiHAoLU3RyaW5nVmFsdWUS",
              "DQoFdmFsdWUYASABKAkiGwoKQnl0ZXNWYWx1ZRINCgV2YWx1ZRgBIAEoDEJT",
              "ChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAGgAQH4AQGi",
              "AgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3Rv",
              "Mw=="));
        descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
            new pbr::FileDescriptor[] { },
            new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.DoubleValue), global::Google.Protobuf.WellKnownTypes.DoubleValue.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.FloatValue), global::Google.Protobuf.WellKnownTypes.FloatValue.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.Int64Value), global::Google.Protobuf.WellKnownTypes.Int64Value.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.UInt64Value), global::Google.Protobuf.WellKnownTypes.UInt64Value.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.Int32Value), global::Google.Protobuf.WellKnownTypes.Int32Value.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.UInt32Value), global::Google.Protobuf.WellKnownTypes.UInt32Value.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.BoolValue), global::Google.Protobuf.WellKnownTypes.BoolValue.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.StringValue), global::Google.Protobuf.WellKnownTypes.StringValue.Parser, new[]{ "Value" }, null, null, null),
              new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKnownTypes.BytesValue), global::Google.Protobuf.WellKnownTypes.BytesValue.Parser, new[]{ "Value" }, null, null, null)
            }));
      }
      #endregion
  
    }
    #region Messages
    /// <summary>
    ///  Wrapper message for `double`.
    ///
    ///  The JSON representation for `DoubleValue` is JSON number.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class DoubleValue : pb::IMessage<DoubleValue> {
      private static readonly pb::MessageParser<DoubleValue> _parser = new pb::MessageParser<DoubleValue>(() => new DoubleValue());
      public static pb::MessageParser<DoubleValue> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor.MessageTypes[0]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      public DoubleValue() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      public DoubleValue(DoubleValue other) : this() {
        value_ = other.value_;
      }
  
      public DoubleValue Clone() {
        return new DoubleValue(this);
      }
  
      /// <summary>Field number for the "value" field.</summary>
      public const int ValueFieldNumber = 1;
      private double value_;
      /// <summary>
      ///  The double value.
      /// </summary>
      public double Value {
        get { return value_; }
        set {
          value_ = value;
        }
      }
  
      public override bool Equals(object other) {
        return Equals(other as DoubleValue);
      }
  
      public bool Equals(DoubleValue other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Value != other.Value) return false;
        return true;
      }
  
      public override int GetHashCode() {
        int hash = 1;
        if (Value != 0D) hash ^= Value.GetHashCode();
        return hash;
      }
  
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      public void WriteTo(pb::CodedOutputStream output) {
        if (Value != 0D) {
          output.WriteRawTag(9);
          output.WriteDouble(Value);
        }
      }
  
      public int CalculateSize() {
        int size = 0;
        if (Value != 0D) {
          size += 1 + 8;
        }
        return size;
      }
  
      public void MergeFrom(DoubleValue other) {
        if (other == null) {
          return;
        }
        if (other.Value != 0D) {
          Value = other.Value;
        }
      }
  
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 9: {
              Value = input.ReadDouble();
              break;
            }
          }
        }
      }
  
    }
  
    /// <summary>
    ///  Wrapper message for `float`.
    ///
    ///  The JSON representation for `FloatValue` is JSON number.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class FloatValue : pb::IMessage<FloatValue> {
      private static readonly pb::MessageParser<FloatValue> _parser = new pb::MessageParser<FloatValue>(() => new FloatValue());
      public static pb::MessageParser<FloatValue> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor.MessageTypes[1]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      public FloatValue() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      public FloatValue(FloatValue other) : this() {
        value_ = other.value_;
      }
  
      public FloatValue Clone() {
        return new FloatValue(this);
      }
  
      /// <summary>Field number for the "value" field.</summary>
      public const int ValueFieldNumber = 1;
      private float value_;
      /// <summary>
      ///  The float value.
      /// </summary>
      public float Value {
        get { return value_; }
        set {
          value_ = value;
        }
      }
  
      public override bool Equals(object other) {
        return Equals(other as FloatValue);
      }
  
      public bool Equals(FloatValue other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Value != other.Value) return false;
        return true;
      }
  
      public override int GetHashCode() {
        int hash = 1;
        if (Value != 0F) hash ^= Value.GetHashCode();
        return hash;
      }
  
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      public void WriteTo(pb::CodedOutputStream output) {
        if (Value != 0F) {
          output.WriteRawTag(13);
          output.WriteFloat(Value);
        }
      }
  
      public int CalculateSize() {
        int size = 0;
        if (Value != 0F) {
          size += 1 + 4;
        }
        return size;
      }
  
      public void MergeFrom(FloatValue other) {
        if (other == null) {
          return;
        }
        if (other.Value != 0F) {
          Value = other.Value;
        }
      }
  
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 13: {
              Value = input.ReadFloat();
              break;
            }
          }
        }
      }
  
    }
  
    /// <summary>
    ///  Wrapper message for `int64`.
    ///
    ///  The JSON representation for `Int64Value` is JSON string.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class Int64Value : pb::IMessage<Int64Value> {
      private static readonly pb::MessageParser<Int64Value> _parser = new pb::MessageParser<Int64Value>(() => new Int64Value());
      public static pb::MessageParser<Int64Value> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor.MessageTypes[2]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      public Int64Value() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      public Int64Value(Int64Value other) : this() {
        value_ = other.value_;
      }
  
      public Int64Value Clone() {
        return new Int64Value(this);
      }
  
      /// <summary>Field number for the "value" field.</summary>
      public const int ValueFieldNumber = 1;
      private long value_;
      /// <summary>
      ///  The int64 value.
      /// </summary>
      public long Value {
        get { return value_; }
        set {
          value_ = value;
        }
      }
  
      public override bool Equals(object other) {
        return Equals(other as Int64Value);
      }
  
      public bool Equals(Int64Value other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Value != other.Value) return false;
        return true;
      }
  
      public override int GetHashCode() {
        int hash = 1;
        if (Value != 0L) hash ^= Value.GetHashCode();
        return hash;
      }
  
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      public void WriteTo(pb::CodedOutputStream output) {
        if (Value != 0L) {
          output.WriteRawTag(8);
          output.WriteInt64(Value);
        }
      }
  
      public int CalculateSize() {
        int size = 0;
        if (Value != 0L) {
          size += 1 + pb::CodedOutputStream.ComputeInt64Size(Value);
        }
        return size;
      }
  
      public void MergeFrom(Int64Value other) {
        if (other == null) {
          return;
        }
        if (other.Value != 0L) {
          Value = other.Value;
        }
      }
  
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 8: {
              Value = input.ReadInt64();
              break;
            }
          }
        }
      }
  
    }
  
    /// <summary>
    ///  Wrapper message for `uint64`.
    ///
    ///  The JSON representation for `UInt64Value` is JSON string.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class UInt64Value : pb::IMessage<UInt64Value> {
      private static readonly pb::MessageParser<UInt64Value> _parser = new pb::MessageParser<UInt64Value>(() => new UInt64Value());
      public static pb::MessageParser<UInt64Value> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor.MessageTypes[3]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      public UInt64Value() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      public UInt64Value(UInt64Value other) : this() {
        value_ = other.value_;
      }
  
      public UInt64Value Clone() {
        return new UInt64Value(this);
      }
  
      /// <summary>Field number for the "value" field.</summary>
      public const int ValueFieldNumber = 1;
      private ulong value_;
      /// <summary>
      ///  The uint64 value.
      /// </summary>
      public ulong Value {
        get { return value_; }
        set {
          value_ = value;
        }
      }
  
      public override bool Equals(object other) {
        return Equals(other as UInt64Value);
      }
  
      public bool Equals(UInt64Value other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Value != other.Value) return false;
        return true;
      }
  
      public override int GetHashCode() {
        int hash = 1;
        if (Value != 0UL) hash ^= Value.GetHashCode();
        return hash;
      }
  
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      public void WriteTo(pb::CodedOutputStream output) {
        if (Value != 0UL) {
          output.WriteRawTag(8);
          output.WriteUInt64(Value);
        }
      }
  
      public int CalculateSize() {
        int size = 0;
        if (Value != 0UL) {
          size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Value);
        }
        return size;
      }
  
      public void MergeFrom(UInt64Value other) {
        if (other == null) {
          return;
        }
        if (other.Value != 0UL) {
          Value = other.Value;
        }
      }
  
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              input.SkipLastField();
              break;
            case 8: {
              Value = input.ReadUInt64();
              break;
            }
          }
        }
      }
  
    }
  
    /// <summary>
    ///  Wrapper message for `int32`.
    ///
    ///  The JSON representation for `Int32Value` is JSON number.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class Int32Value : pb::IMessage<Int32Value> {
      private static readonly pb::MessageParser<Int32Value> _parser = new pb::MessageParser<Int32Value>(() => new Int32Value());
      public static pb::MessageParser<Int32Value> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor.MessageTypes[4]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
  
gt:       get { return Descriptor; }