// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: misc_models.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#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 FilterListManager {

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

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

    static MiscModelsReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChFtaXNjX21vZGVscy5wcm90bxITZmlsdGVyX2xpc3RfbWFuYWdlchoNZmls",
            "dGVycy5wcm90byJZCg9BY3RpdmVSdWxlc0luZm8SEQoJZmlsdGVyX2lkGAEg",
            "ASgFEhAKCGdyb3VwX2lkGAIgASgFEhIKCmlzX3RydXN0ZWQYAyABKAgSDQoF",
            "cnVsZXMYBCADKAkiXAoSQWN0aXZlUnVsZXNJbmZvUmF3EhEKCWZpbHRlcl9p",
            "ZBgBIAEoBRIQCghncm91cF9pZBgCIAEoBRISCgppc190cnVzdGVkGAMgASgI",
            "Eg0KBXJ1bGVzGAQgASgJIqoBCgxVcGRhdGVSZXN1bHQSOQoMdXBkYXRlZF9s",
            "aXN0GAEgAygLMiMuZmlsdGVyX2xpc3RfbWFuYWdlci5GdWxsRmlsdGVyTGlz",
            "dBIfChdyZW1haW5pbmdfZmlsdGVyc19jb3VudBgCIAEoBRI+Cg5maWx0ZXJz",
            "X2Vycm9ycxgDIAMoCzImLmZpbHRlcl9saXN0X21hbmFnZXIuVXBkYXRlRmls",
            "dGVyRXJyb3IilQEKEVVwZGF0ZUZpbHRlckVycm9yEhEKCWZpbHRlcl9pZBgB",
            "IAEoBRIPCgdtZXNzYWdlGAIgASgJEhcKCmZpbHRlcl91cmwYAyABKAlIAIgB",
            "ARIeChFodHRwX2NsaWVudF9lcnJvchgEIAEoCUgBiAEBQg0KC19maWx0ZXJf",
            "dXJsQhQKEl9odHRwX2NsaWVudF9lcnJvciI2Cg9Nb3ZlZEZpbHRlckluZm8S",
            "EwoLcHJldmlvdXNfaWQYASABKAUSDgoGbmV3X2lkGAIgASgFIoEBChJQdWxs",
            "TWV0YWRhdGFSZXN1bHQSFQoNYWRkZWRfZmlsdGVycxgBIAMoBRIXCg9yZW1v",
            "dmVkX2ZpbHRlcnMYAiADKAUSOwoNbW92ZWRfZmlsdGVycxgDIAMoCzIkLmZp",
            "bHRlcl9saXN0X21hbmFnZXIuTW92ZWRGaWx0ZXJJbmZvQi0KGGNvbS5hZGd1",
            "YXJkLmZsbS5wcm90b2J1ZkIPTWlzY01vZGVsc1Byb3RvUAFiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::FilterListManager.FiltersReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.ActiveRulesInfo), global::FilterListManager.ActiveRulesInfo.Parser, new[]{ "FilterId", "GroupId", "IsTrusted", "Rules" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.ActiveRulesInfoRaw), global::FilterListManager.ActiveRulesInfoRaw.Parser, new[]{ "FilterId", "GroupId", "IsTrusted", "Rules" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.UpdateResult), global::FilterListManager.UpdateResult.Parser, new[]{ "UpdatedList", "RemainingFiltersCount", "FiltersErrors" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.UpdateFilterError), global::FilterListManager.UpdateFilterError.Parser, new[]{ "FilterId", "Message", "FilterUrl", "HttpClientError" }, new[]{ "FilterUrl", "HttpClientError" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.MovedFilterInfo), global::FilterListManager.MovedFilterInfo.Parser, new[]{ "PreviousId", "NewId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::FilterListManager.PullMetadataResult), global::FilterListManager.PullMetadataResult.Parser, new[]{ "AddedFilters", "RemovedFilters", "MovedFilters" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  /// ActiveRulesInfo
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ActiveRulesInfo : pb::IMessage<ActiveRulesInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ActiveRulesInfo> _parser = new pb::MessageParser<ActiveRulesInfo>(() => new ActiveRulesInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ActiveRulesInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfo(ActiveRulesInfo other) : this() {
      filterId_ = other.filterId_;
      groupId_ = other.groupId_;
      isTrusted_ = other.isTrusted_;
      rules_ = other.rules_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfo Clone() {
      return new ActiveRulesInfo(this);
    }

    /// <summary>Field number for the "filter_id" field.</summary>
    public const int FilterIdFieldNumber = 1;
    private int filterId_;
    /// <summary>
    /// Filter id for these rules
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FilterId {
      get { return filterId_; }
      set {
        filterId_ = value;
      }
    }

    /// <summary>Field number for the "group_id" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    /// <summary>
    /// Group id of the filter
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "is_trusted" field.</summary>
    public const int IsTrustedFieldNumber = 3;
    private bool isTrusted_;
    /// <summary>
    /// Is this filter trusted?
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsTrusted {
      get { return isTrusted_; }
      set {
        isTrusted_ = value;
      }
    }

    /// <summary>Field number for the "rules" field.</summary>
    public const int RulesFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_rules_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> rules_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// List of active rules.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Rules {
      get { return rules_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ActiveRulesInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ActiveRulesInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FilterId != other.FilterId) return false;
      if (GroupId != other.GroupId) return false;
      if (IsTrusted != other.IsTrusted) return false;
      if(!rules_.Equals(other.rules_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FilterId != 0) hash ^= FilterId.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (IsTrusted != false) hash ^= IsTrusted.GetHashCode();
      hash ^= rules_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (IsTrusted != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsTrusted);
      }
      rules_.WriteTo(output, _repeated_rules_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (IsTrusted != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsTrusted);
      }
      rules_.WriteTo(ref output, _repeated_rules_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FilterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FilterId);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (IsTrusted != false) {
        size += 1 + 1;
      }
      size += rules_.CalculateSize(_repeated_rules_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ActiveRulesInfo other) {
      if (other == null) {
        return;
      }
      if (other.FilterId != 0) {
        FilterId = other.FilterId;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.IsTrusted != false) {
        IsTrusted = other.IsTrusted;
      }
      rules_.Add(other.rules_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            IsTrusted = input.ReadBool();
            break;
          }
          case 34: {
            rules_.AddEntriesFrom(input, _repeated_rules_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            IsTrusted = input.ReadBool();
            break;
          }
          case 34: {
            rules_.AddEntriesFrom(ref input, _repeated_rules_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// ActiveRulesInfo raw
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ActiveRulesInfoRaw : pb::IMessage<ActiveRulesInfoRaw>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ActiveRulesInfoRaw> _parser = new pb::MessageParser<ActiveRulesInfoRaw>(() => new ActiveRulesInfoRaw());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ActiveRulesInfoRaw> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfoRaw() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfoRaw(ActiveRulesInfoRaw other) : this() {
      filterId_ = other.filterId_;
      groupId_ = other.groupId_;
      isTrusted_ = other.isTrusted_;
      rules_ = other.rules_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActiveRulesInfoRaw Clone() {
      return new ActiveRulesInfoRaw(this);
    }

    /// <summary>Field number for the "filter_id" field.</summary>
    public const int FilterIdFieldNumber = 1;
    private int filterId_;
    /// <summary>
    /// Filter id for these rules
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FilterId {
      get { return filterId_; }
      set {
        filterId_ = value;
      }
    }

    /// <summary>Field number for the "group_id" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    /// <summary>
    /// Group id of the filter
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "is_trusted" field.</summary>
    public const int IsTrustedFieldNumber = 3;
    private bool isTrusted_;
    /// <summary>
    /// Is this filter trusted?
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsTrusted {
      get { return isTrusted_; }
      set {
        isTrusted_ = value;
      }
    }

    /// <summary>Field number for the "rules" field.</summary>
    public const int RulesFieldNumber = 4;
    private string rules_ = "";
    /// <summary>
    /// List of active rules as string.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Rules {
      get { return rules_; }
      set {
        rules_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ActiveRulesInfoRaw);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ActiveRulesInfoRaw other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FilterId != other.FilterId) return false;
      if (GroupId != other.GroupId) return false;
      if (IsTrusted != other.IsTrusted) return false;
      if (Rules != other.Rules) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FilterId != 0) hash ^= FilterId.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (IsTrusted != false) hash ^= IsTrusted.GetHashCode();
      if (Rules.Length != 0) hash ^= Rules.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (IsTrusted != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsTrusted);
      }
      if (Rules.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Rules);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (IsTrusted != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsTrusted);
      }
      if (Rules.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Rules);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FilterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FilterId);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (IsTrusted != false) {
        size += 1 + 1;
      }
      if (Rules.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Rules);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ActiveRulesInfoRaw other) {
      if (other == null) {
        return;
      }
      if (other.FilterId != 0) {
        FilterId = other.FilterId;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.IsTrusted != false) {
        IsTrusted = other.IsTrusted;
      }
      if (other.Rules.Length != 0) {
        Rules = other.Rules;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            IsTrusted = input.ReadBool();
            break;
          }
          case 34: {
            Rules = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            IsTrusted = input.ReadBool();
            break;
          }
          case 34: {
            Rules = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// UpdateResult
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class UpdateResult : pb::IMessage<UpdateResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateResult> _parser = new pb::MessageParser<UpdateResult>(() => new UpdateResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateResult() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateResult(UpdateResult other) : this() {
      updatedList_ = other.updatedList_.Clone();
      remainingFiltersCount_ = other.remainingFiltersCount_;
      filtersErrors_ = other.filtersErrors_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateResult Clone() {
      return new UpdateResult(this);
    }

    /// <summary>Field number for the "updated_list" field.</summary>
    public const int UpdatedListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::FilterListManager.FullFilterList> _repeated_updatedList_codec
        = pb::FieldCodec.ForMessage(10, global::FilterListManager.FullFilterList.Parser);
    private readonly pbc::RepeatedField<global::FilterListManager.FullFilterList> updatedList_ = new pbc::RepeatedField<global::FilterListManager.FullFilterList>();
    /// <summary>
    /// Currently updated filters.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::FilterListManager.FullFilterList> UpdatedList {
      get { return updatedList_; }
    }

    /// <summary>Field number for the "remaining_filters_count" field.</summary>
    public const int RemainingFiltersCountFieldNumber = 2;
    private int remainingFiltersCount_;
    /// <summary>
    /// Number of filters not updated due to timeout.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RemainingFiltersCount {
      get { return remainingFiltersCount_; }
      set {
        remainingFiltersCount_ = value;
      }
    }

    /// <summary>Field number for the "filters_errors" field.</summary>
    public const int FiltersErrorsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::FilterListManager.UpdateFilterError> _repeated_filtersErrors_codec
        = pb::FieldCodec.ForMessage(26, global::FilterListManager.UpdateFilterError.Parser);
    private readonly pbc::RepeatedField<global::FilterListManager.UpdateFilterError> filtersErrors_ = new pbc::RepeatedField<global::FilterListManager.UpdateFilterError>();
    /// <summary>
    /// List of entities containing the filter id and a string representation of the error
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::FilterListManager.UpdateFilterError> FiltersErrors {
      get { return filtersErrors_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!updatedList_.Equals(other.updatedList_)) return false;
      if (RemainingFiltersCount != other.RemainingFiltersCount) return false;
      if(!filtersErrors_.Equals(other.filtersErrors_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= updatedList_.GetHashCode();
      if (RemainingFiltersCount != 0) hash ^= RemainingFiltersCount.GetHashCode();
      hash ^= filtersErrors_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      updatedList_.WriteTo(output, _repeated_updatedList_codec);
      if (RemainingFiltersCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RemainingFiltersCount);
      }
      filtersErrors_.WriteTo(output, _repeated_filtersErrors_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      updatedList_.WriteTo(ref output, _repeated_updatedList_codec);
      if (RemainingFiltersCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RemainingFiltersCount);
      }
      filtersErrors_.WriteTo(ref output, _repeated_filtersErrors_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += updatedList_.CalculateSize(_repeated_updatedList_codec);
      if (RemainingFiltersCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RemainingFiltersCount);
      }
      size += filtersErrors_.CalculateSize(_repeated_filtersErrors_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateResult other) {
      if (other == null) {
        return;
      }
      updatedList_.Add(other.updatedList_);
      if (other.RemainingFiltersCount != 0) {
        RemainingFiltersCount = other.RemainingFiltersCount;
      }
      filtersErrors_.Add(other.filtersErrors_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            updatedList_.AddEntriesFrom(input, _repeated_updatedList_codec);
            break;
          }
          case 16: {
            RemainingFiltersCount = input.ReadInt32();
            break;
          }
          case 26: {
            filtersErrors_.AddEntriesFrom(input, _repeated_filtersErrors_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            updatedList_.AddEntriesFrom(ref input, _repeated_updatedList_codec);
            break;
          }
          case 16: {
            RemainingFiltersCount = input.ReadInt32();
            break;
          }
          case 26: {
            filtersErrors_.AddEntriesFrom(ref input, _repeated_filtersErrors_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// UpdateFilterError
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class UpdateFilterError : pb::IMessage<UpdateFilterError>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateFilterError> _parser = new pb::MessageParser<UpdateFilterError>(() => new UpdateFilterError());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateFilterError> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateFilterError() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateFilterError(UpdateFilterError other) : this() {
      filterId_ = other.filterId_;
      message_ = other.message_;
      filterUrl_ = other.filterUrl_;
      httpClientError_ = other.httpClientError_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateFilterError Clone() {
      return new UpdateFilterError(this);
    }

    /// <summary>Field number for the "filter_id" field.</summary>
    public const int FilterIdFieldNumber = 1;
    private int filterId_;
    /// <summary>
    /// ID of that filter that couldn't be updated
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FilterId {
      get { return filterId_; }
      set {
        filterId_ = value;
      }
    }

    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 2;
    private string message_ = "";
    /// <summary>
    /// Filter error converted to a string. For debugging purposes
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "filter_url" field.</summary>
    public const int FilterUrlFieldNumber = 3;
    private readonly static string FilterUrlDefaultValue = "";

    private string filterUrl_;
    /// <summary>
    /// Filter url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FilterUrl {
      get { return filterUrl_ ?? FilterUrlDefaultValue; }
      set {
        filterUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "filter_url" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasFilterUrl {
      get { return filterUrl_ != null; }
    }
    /// <summary>Clears the value of the "filter_url" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearFilterUrl() {
      filterUrl_ = null;
    }

    /// <summary>Field number for the "http_client_error" field.</summary>
    public const int HttpClientErrorFieldNumber = 4;
    private readonly static string HttpClientErrorDefaultValue = "";

    private string httpClientError_;
    /// <summary>
    /// Http client error
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string HttpClientError {
      get { return httpClientError_ ?? HttpClientErrorDefaultValue; }
      set {
        httpClientError_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "http_client_error" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasHttpClientError {
      get { return httpClientError_ != null; }
    }
    /// <summary>Clears the value of the "http_client_error" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearHttpClientError() {
      httpClientError_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateFilterError);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateFilterError other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FilterId != other.FilterId) return false;
      if (Message != other.Message) return false;
      if (FilterUrl != other.FilterUrl) return false;
      if (HttpClientError != other.HttpClientError) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FilterId != 0) hash ^= FilterId.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (HasFilterUrl) hash ^= FilterUrl.GetHashCode();
      if (HasHttpClientError) hash ^= HttpClientError.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      if (HasFilterUrl) {
        output.WriteRawTag(26);
        output.WriteString(FilterUrl);
      }
      if (HasHttpClientError) {
        output.WriteRawTag(34);
        output.WriteString(HttpClientError);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FilterId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(FilterId);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      if (HasFilterUrl) {
        output.WriteRawTag(26);
        output.WriteString(FilterUrl);
      }
      if (HasHttpClientError) {
        output.WriteRawTag(34);
        output.WriteString(HttpClientError);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FilterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FilterId);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (HasFilterUrl) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FilterUrl);
      }
      if (HasHttpClientError) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(HttpClientError);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateFilterError other) {
      if (other == null) {
        return;
      }
      if (other.FilterId != 0) {
        FilterId = other.FilterId;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.HasFilterUrl) {
        FilterUrl = other.FilterUrl;
      }
      if (other.HasHttpClientError) {
        HttpClientError = other.HttpClientError;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
          case 26: {
            FilterUrl = input.ReadString();
            break;
          }
          case 34: {
            HttpClientError = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            FilterId = input.ReadInt32();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
          case 26: {
            FilterUrl = input.ReadString();
            break;
          }
          case 34: {
            HttpClientError = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// Information about filter movement during index metadata update
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MovedFilterInfo : pb::IMessage<MovedFilterInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MovedFilterInfo> _parser = new pb::MessageParser<MovedFilterInfo>(() => new MovedFilterInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MovedFilterInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MovedFilterInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MovedFilterInfo(MovedFilterInfo other) : this() {
      previousId_ = other.previousId_;
      newId_ = other.newId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MovedFilterInfo Clone() {
      return new MovedFilterInfo(this);
    }

    /// <summary>Field number for the "previous_id" field.</summary>
    public const int PreviousIdFieldNumber = 1;
    private int previousId_;
    /// <summary>
    ///&#x2F; Previous id of the filter
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviousId {
      get { return previousId_; }
      set {
        previousId_ = value;
      }
    }

    /// <summary>Field number for the "new_id" field.</summary>
    public const int NewIdFieldNumber = 2;
    private int newId_;
    /// <summary>
    ///&#x2F; New id of the filter
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NewId {
      get { return newId_; }
      set {
        newId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MovedFilterInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MovedFilterInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PreviousId != other.PreviousId) return false;
      if (NewId != other.NewId) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (PreviousId != 0) hash ^= PreviousId.GetHashCode();
      if (NewId != 0) hash ^= NewId.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (PreviousId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PreviousId);
      }
      if (NewId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NewId);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (PreviousId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PreviousId);
      }
      if (NewId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NewId);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (PreviousId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviousId);
      }
      if (NewId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NewId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MovedFilterInfo other) {
      if (other == null) {
        return;
      }
      if (other.PreviousId != 0) {
        PreviousId = other.PreviousId;
      }
      if (other.NewId != 0) {
        NewId = other.NewId;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PreviousId = input.ReadInt32();
            break;
          }
          case 16: {
            NewId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PreviousId = input.ReadInt32();
            break;
          }
          case 16: {
            NewId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// Result of index metadata update
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PullMetadataResult : pb::IMessage<PullMetadataResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PullMetadataResult> _parser = new pb::MessageParser<PullMetadataResult>(() => new PullMetadataResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PullMetadataResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::FilterListManager.MiscModelsReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PullMetadataResult() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PullMetadataResult(PullMetadataResult other) : this() {
      addedFilters_ = other.addedFilters_.Clone();
      removedFilters_ = other.removedFilters_.Clone();
      movedFilters_ = other.movedFilters_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PullMetadataResult Clone() {
      return new PullMetadataResult(this);
    }

    /// <summary>Field number for the "added_filters" field.</summary>
    public const int AddedFiltersFieldNumber = 1;
    private static readonly pb::FieldCodec<int> _repeated_addedFilters_codec
        = pb::FieldCodec.ForInt32(10);
    private readonly pbc::RepeatedField<int> addedFilters_ = new pbc::RepeatedField<int>();
    /// <summary>
    /// List of filters added in the update
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddedFilters {
      get { return addedFilters_; }
    }

    /// <summary>Field number for the "removed_filters" field.</summary>
    public const int RemovedFiltersFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_removedFilters_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> removedFilters_ = new pbc::RepeatedField<int>();
    /// <summary>
    /// List of filters removed in the update
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RemovedFilters {
      get { return removedFilters_; }
    }

    /// <summary>Field number for the "moved_filters" field.</summary>
    public const int MovedFiltersFieldNumber = 3;
    private static readonly pb::FieldCodec<global::FilterListManager.MovedFilterInfo> _repeated_movedFilters_codec
        = pb::FieldCodec.ForMessage(26, global::FilterListManager.MovedFilterInfo.Parser);
    private readonly pbc::RepeatedField<global::FilterListManager.MovedFilterInfo> movedFilters_ = new pbc::RepeatedField<global::FilterListManager.MovedFilterInfo>();
    /// <summary>
    /// List of filters moved in the update
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::FilterListManager.MovedFilterInfo> MovedFilters {
      get { return movedFilters_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PullMetadataResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PullMetadataResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!addedFilters_.Equals(other.addedFilters_)) return false;
      if(!removedFilters_.Equals(other.removedFilters_)) return false;
      if(!movedFilters_.Equals(other.movedFilters_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= addedFilters_.GetHashCode();
      hash ^= removedFilters_.GetHashCode();
      hash ^= movedFilters_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      addedFilters_.WriteTo(output, _repeated_addedFilters_codec);
      removedFilters_.WriteTo(output, _repeated_removedFilters_codec);
      movedFilters_.WriteTo(output, _repeated_movedFilters_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      addedFilters_.WriteTo(ref output, _repeated_addedFilters_codec);
      removedFilters_.WriteTo(ref output, _repeated_removedFilters_codec);
      movedFilters_.WriteTo(ref output, _repeated_movedFilters_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += addedFilters_.CalculateSize(_repeated_addedFilters_codec);
      size += removedFilters_.CalculateSize(_repeated_removedFilters_codec);
      size += movedFilters_.CalculateSize(_repeated_movedFilters_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PullMetadataResult other) {
      if (other == null) {
        return;
      }
      addedFilters_.Add(other.addedFilters_);
      removedFilters_.Add(other.removedFilters_);
      movedFilters_.Add(other.movedFilters_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10:
          case 8: {
            addedFilters_.AddEntriesFrom(input, _repeated_addedFilters_codec);
            break;
          }
          case 18:
          case 16: {
            removedFilters_.AddEntriesFrom(input, _repeated_removedFilters_codec);
            break;
          }
          case 26: {
            movedFilters_.AddEntriesFrom(input, _repeated_movedFilters_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10:
          case 8: {
            addedFilters_.AddEntriesFrom(ref input, _repeated_addedFilters_codec);
            break;
          }
          case 18:
          case 16: {
            removedFilters_.AddEntriesFrom(ref input, _repeated_removedFilters_codec);
            break;
          }
          case 26: {
            movedFilters_.AddEntriesFrom(ref input, _repeated_movedFilters_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
