// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: geosite.proto
// </auto-generated>
#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;
/// <summary>Holder for reflection information generated from geosite.proto</summary>
public static partial class GeositeReflection {

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

  static GeositeReflection() {
    byte[] descriptorData = global::System.Convert.FromBase64String(
        string.Concat(
          "Cg1nZW9zaXRlLnByb3RvIvMBCgxEb21haW5PYmplY3QSIAoEdHlwZRgBIAEo",
          "DjISLkRvbWFpbk9iamVjdC5UeXBlEg0KBXZhbHVlGAIgASgJEioKCWF0dHJp",
          "YnV0ZRgDIAMoCzIXLkRvbWFpbk9iamVjdC5BdHRyaWJ1dGUaUgoJQXR0cmli",
          "dXRlEgsKA2tleRgBIAEoCRIUCgpib29sX3ZhbHVlGAIgASgISAASEwoJaW50",
          "X3ZhbHVlGAMgASgDSABCDQoLdHlwZWRfdmFsdWUiMgoEVHlwZRIJCgVQbGFp",
          "bhAAEgkKBVJlZ2V4EAESCgoGRG9tYWluEAISCAoERnVsbBADIj0KB0dlb3Np",
          "dGUSEgoKZ3JvdXBfbmFtZRgBIAEoCRIeCgdkb21haW5zGAIgAygLMg0uRG9t",
          "YWluT2JqZWN0IigKC0dlb3NpdGVMaXN0EhkKB2VudHJpZXMYASADKAsyCC5H",
          "ZW9zaXRlYgZwcm90bzM="));
    descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
        new pbr::FileDescriptor[] { },
        new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
          new pbr::GeneratedClrTypeInfo(typeof(global::DomainObject), global::DomainObject.Parser, new[]{ "Type", "Value", "Attribute" }, null, new[]{ typeof(global::DomainObject.Types.Type) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::DomainObject.Types.Attribute), global::DomainObject.Types.Attribute.Parser, new[]{ "Key", "BoolValue", "IntValue" }, new[]{ "TypedValue" }, null, null, null)}),
          new pbr::GeneratedClrTypeInfo(typeof(global::Geosite), global::Geosite.Parser, new[]{ "GroupName", "Domains" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GeositeList), global::GeositeList.Parser, new[]{ "Entries" }, null, null, null, null)
        }));
  }
  #endregion

}
#region Messages
/// <summary>
/// DomainObject for routing decision.
/// </summary>
public sealed partial class DomainObject : pb::IMessage<DomainObject> {
  private static readonly pb::MessageParser<DomainObject> _parser = new pb::MessageParser<DomainObject>(() => new DomainObject());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DomainObject> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::GeositeReflection.Descriptor.MessageTypes[0]; }
  }

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DomainObject(DomainObject other) : this() {
    type_ = other.type_;
    value_ = other.value_;
    attribute_ = other.attribute_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DomainObject.Types.Type type_ = global::DomainObject.Types.Type.Plain;
  /// <summary>
  /// DomainObject matching type.
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DomainObject.Types.Type Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

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

  /// <summary>Field number for the "attribute" field.</summary>
  public const int AttributeFieldNumber = 3;
  private static readonly pb::FieldCodec<global::DomainObject.Types.Attribute> _repeated_attribute_codec
      = pb::FieldCodec.ForMessage(26, global::DomainObject.Types.Attribute.Parser);
  private readonly pbc::RepeatedField<global::DomainObject.Types.Attribute> attribute_ = new pbc::RepeatedField<global::DomainObject.Types.Attribute>();
  /// <summary>
  /// Attributes of this domain. May be used for filtering.
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::DomainObject.Types.Attribute> Attribute {
    get { return attribute_; }
  }

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != global::DomainObject.Types.Type.Plain) hash ^= Type.GetHashCode();
    if (Value.Length != 0) hash ^= Value.GetHashCode();
    hash ^= attribute_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.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 (Type != global::DomainObject.Types.Type.Plain) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (Value.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Value);
    }
    attribute_.WriteTo(output, _repeated_attribute_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != global::DomainObject.Types.Type.Plain) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (Value.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
    }
    size += attribute_.CalculateSize(_repeated_attribute_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DomainObject other) {
    if (other == null) {
      return;
    }
    if (other.Type != global::DomainObject.Types.Type.Plain) {
      Type = other.Type;
    }
    if (other.Value.Length != 0) {
      Value = other.Value;
    }
    attribute_.Add(other.attribute_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = (global::DomainObject.Types.Type) input.ReadEnum();
          break;
        }
        case 18: {
          Value = input.ReadString();
          break;
        }
        case 26: {
          attribute_.AddEntriesFrom(input, _repeated_attribute_codec);
          break;
        }
      }
    }
  }

  #region Nested types
  /// <summary>Container for nested types declared in the DomainObject message type.</summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static partial class Types {
    /// <summary>
    /// Type of domain value.
    /// </summary>
    public enum Type {
      /// <summary>
      /// The value is used as is.
      /// </summary>
      [pbr::OriginalName("Plain")] Plain = 0,
      /// <summary>
      /// The value is used as a regular expression.
      /// </summary>
      [pbr::OriginalName("Regex")] Regex = 1,
      /// <summary>
      /// The value is a root domain.
      /// </summary>
      [pbr::OriginalName("Domain")] Domain = 2,
      /// <summary>
      /// The value is a domain.
      /// </summary>
      [pbr::OriginalName("Full")] Full = 3,
    }

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

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::DomainObject.Descriptor.NestedTypes[0]; }
      }

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

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

      partial void OnConstruction();

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public Attribute(Attribute other) : this() {
        key_ = other.key_;
        switch (other.TypedValueCase) {
          case TypedValueOneofCase.BoolValue:
            BoolValue = other.BoolValue;
            break;
          case TypedValueOneofCase.IntValue:
            IntValue = other.IntValue;
            break;
        }

        _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
      }

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

      /// <summary>Field number for the "key" field.</summary>
      public const int KeyFieldNumber = 1;
      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 "bool_value" field.</summary>
      public const int BoolValueFieldNumber = 2;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool BoolValue {
        get { return typedValueCase_ == TypedValueOneofCase.BoolValue ? (bool) typedValue_ : false; }
        set {
          typedValue_ = value;
          typedValueCase_ = TypedValueOneofCase.BoolValue;
        }
      }

      /// <summary>Field number for the "int_value" field.</summary>
      public const int IntValueFieldNumber = 3;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public long IntValue {
        get { return typedValueCase_ == TypedValueOneofCase.IntValue ? (long) typedValue_ : 0L; }
        set {
          typedValue_ = value;
          typedValueCase_ = TypedValueOneofCase.IntValue;
        }
      }

      private object typedValue_;
      /// <summary>Enum of possible cases for the "typed_value" oneof.</summary>
      public enum TypedValueOneofCase {
        None = 0,
        BoolValue = 2,
        IntValue = 3,
      }
      private TypedValueOneofCase typedValueCase_ = TypedValueOneofCase.None;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public TypedValueOneofCase TypedValueCase {
        get { return typedValueCase_; }
      }

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void ClearTypedValue() {
        typedValueCase_ = TypedValueOneofCase.None;
        typedValue_ = null;
      }

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

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(Attribute other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Key != other.Key) return false;
        if (BoolValue != other.BoolValue) return false;
        if (IntValue != other.IntValue) return false;
        if (TypedValueCase != other.TypedValueCase) return false;
        return Equals(_unknownFields, other._unknownFields);
      }

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (Key.Length != 0) hash ^= Key.GetHashCode();
        if (typedValueCase_ == TypedValueOneofCase.BoolValue) hash ^= BoolValue.GetHashCode();
        if (typedValueCase_ == TypedValueOneofCase.IntValue) hash ^= IntValue.GetHashCode();
        hash ^= (int) typedValueCase_;
        if (_unknownFields != null) {
          hash ^= _unknownFields.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 (Key.Length != 0) {
          output.WriteRawTag(10);
          output.WriteString(Key);
        }
        if (typedValueCase_ == TypedValueOneofCase.BoolValue) {
          output.WriteRawTag(16);
          output.WriteBool(BoolValue);
        }
        if (typedValueCase_ == TypedValueOneofCase.IntValue) {
          output.WriteRawTag(24);
          output.WriteInt64(IntValue);
        }
        if (_unknownFields != null) {
          _unknownFields.WriteTo(output);
        }
      }

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int CalculateSize() {
        int size = 0;
        if (Key.Length != 0) {
          size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
        }
        if (typedValueCase_ == TypedValueOneofCase.BoolValue) {
          size += 1 + 1;
        }
        if (typedValueCase_ == TypedValueOneofCase.IntValue) {
          size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntValue);
        }
        if (_unknownFields != null) {
          size += _unknownFields.CalculateSize();
        }
        return size;
      }

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(Attribute other) {
        if (other == null) {
          return;
        }
        if (other.Key.Length != 0) {
          Key = other.Key;
        }
        switch (other.TypedValueCase) {
          case TypedValueOneofCase.BoolValue:
            BoolValue = other.BoolValue;
            break;
          case TypedValueOneofCase.IntValue:
            IntValue = other.IntValue;
            break;
        }

        _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
      }

      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void MergeFrom(pb::CodedInputStream input) {
        uint tag;
        while ((tag = input.ReadTag()) != 0) {
          switch(tag) {
            default:
              _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
              break;
            case 10: {
              Key = input.ReadString();
              break;
            }
            case 16: {
              BoolValue = input.ReadBool();
              break;
            }
            case 24: {
              IntValue = input.ReadInt64();
              break;
            }
          }
        }
      }

    }

  }
  #endregion

}

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::GeositeReflection.Descriptor.MessageTypes[1]; }
  }

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Geosite(Geosite other) : this() {
    groupName_ = other.groupName_;
    domains_ = other.domains_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

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

  /// <summary>Field number for the "domains" field.</summary>
  public const int DomainsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::DomainObject> _repeated_domains_codec
      = pb::FieldCodec.ForMessage(18, global::DomainObject.Parser);
  private readonly pbc::RepeatedField<global::DomainObject> domains_ = new pbc::RepeatedField<global::DomainObject>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::DomainObject> Domains {
    get { return domains_; }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Geosite other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GroupName != other.GroupName) return false;
    if(!domains_.Equals(other.domains_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GroupName.Length != 0) hash ^= GroupName.GetHashCode();
    hash ^= domains_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.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 (GroupName.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GroupName);
    }
    domains_.WriteTo(output, _repeated_domains_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GroupName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GroupName);
    }
    size += domains_.CalculateSize(_repeated_domains_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Geosite other) {
    if (other == null) {
      return;
    }
    if (other.GroupName.Length != 0) {
      GroupName = other.GroupName;
    }
    domains_.Add(other.domains_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GroupName = input.ReadString();
          break;
        }
        case 18: {
          domains_.AddEntriesFrom(input, _repeated_domains_codec);
          break;
        }
      }
    }
  }

}

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::GeositeReflection.Descriptor.MessageTypes[2]; }
  }

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GeositeList(GeositeList other) : this() {
    entries_ = other.entries_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "entries" field.</summary>
  public const int EntriesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Geosite> _repeated_entries_codec
      = pb::FieldCodec.ForMessage(10, global::Geosite.Parser);
  private readonly pbc::RepeatedField<global::Geosite> entries_ = new pbc::RepeatedField<global::Geosite>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Geosite> Entries {
    get { return entries_; }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GeositeList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!entries_.Equals(other.entries_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= entries_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.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) {
    entries_.WriteTo(output, _repeated_entries_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += entries_.CalculateSize(_repeated_entries_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GeositeList other) {
    if (other == null) {
      return;
    }
    entries_.Add(other.entries_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          entries_.AddEntriesFrom(input, _repeated_entries_codec);
          break;
        }
      }
    }
  }

}

#endregion


#endregion Designer generated code
