// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: Protos/site_command.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 ZB.MOM.WW.ScadaBridge.Communication.Grpc {

  /// <summary>Holder for reflection information generated from Protos/site_command.proto</summary>
  public static partial class SiteCommandReflection {

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

    static SiteCommandReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChlQcm90b3Mvc2l0ZV9jb21tYW5kLnByb3RvEhpzY2FkYWJyaWRnZS5zaXRl",
            "Y29tbWFuZC52MRofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoe",
            "Z29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGh5nb29nbGUvcHJvdG9i",
            "dWYvd3JhcHBlcnMucHJvdG8iCwoJTG9vc2VOdWxsIkcKDkxvb3NlVmFsdWVM",
            "aXN0EjUKBWl0ZW1zGAEgAygLMiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
            "djEuTG9vc2VWYWx1ZSKwAQoNTG9vc2VWYWx1ZU1hcBJHCgdlbnRyaWVzGAEg",
            "AygLMjYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZU1h",
            "cC5FbnRyaWVzRW50cnkaVgoMRW50cmllc0VudHJ5EgsKA2tleRgBIAEoCRI1",
            "CgV2YWx1ZRgCIAEoCzImLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkxv",
            "b3NlVmFsdWU6AjgBIpIECgpMb29zZVZhbHVlEjsKCm51bGxfdmFsdWUYASAB",
            "KAsyJS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZU51bGxIABIU",
            "Cgpib29sX3ZhbHVlGAIgASgISAASFQoLaW50MzJfdmFsdWUYAyABKAVIABIV",
            "CgtpbnQ2NF92YWx1ZRgEIAEoA0gAEhYKDGRvdWJsZV92YWx1ZRgFIAEoAUgA",
            "EhUKC2Zsb2F0X3ZhbHVlGAYgASgCSAASFgoMc3RyaW5nX3ZhbHVlGAcgASgJ",
            "SAASFwoNZGVjaW1hbF92YWx1ZRgIIAEoCUgAEhkKD2RhdGVfdGltZV92YWx1",
            "ZRgJIAEoCUgAEiAKFmRhdGVfdGltZV9vZmZzZXRfdmFsdWUYCiABKAlIABIU",
            "CgpndWlkX3ZhbHVlGAsgASgJSAASGQoPdGltZV9zcGFuX3ZhbHVlGAwgASgJ",
            "SAASFQoLYnl0ZXNfdmFsdWUYDSABKAxIABJACgpsaXN0X3ZhbHVlGA4gASgL",
            "Miouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZUxpc3RI",
            "ABI+CgltYXBfdmFsdWUYDyABKAsyKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
            "ZC52MS5Mb29zZVZhbHVlTWFwSAASFAoKanNvbl92YWx1ZRgQIAEoCUgAQgYK",
            "BGtpbmQi4gEKG1JlZnJlc2hEZXBsb3ltZW50Q29tbWFuZER0bxIVCg1kZXBs",
            "b3ltZW50X2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJ",
            "EhUKDXJldmlzaW9uX2hhc2gYAyABKAkSEwoLZGVwbG95ZWRfYnkYBCABKAkS",
            "LQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt",
            "cBIeChZjZW50cmFsX2ZldGNoX2Jhc2VfdXJsGAYgASgJEhMKC2ZldGNoX3Rv",
            "a2VuGAcgASgJInsKGEVuYWJsZUluc3RhbmNlQ29tbWFuZER0bxISCgpjb21t",
            "YW5kX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0K",
            "CXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi",
            "fAoZRGlzYWJsZUluc3RhbmNlQ29tbWFuZER0bxISCgpjb21tYW5kX2lkGAEg",
            "ASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0KCXRpbWVzdGFt",
            "cBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiewoYRGVsZXRl",
            "SW5zdGFuY2VDb21tYW5kRHRvEhIKCmNvbW1hbmRfaWQYASABKAkSHAoUaW5z",
            "dGFuY2VfdW5pcXVlX25hbWUYAiABKAkSLQoJdGltZXN0YW1wGAMgASgLMhou",
            "Z29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKFAQoeRGVwbG95bWVudFN0YXRl",
            "UXVlcnlSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGlu",
            "c3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0KCXRpbWVzdGFtcBgDIAEoCzIa",
            "Lmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAibwoXU2hhcmVkU2NyaXB0QXJ0",
            "aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIMCgRjb2RlGAIgASgJEh0KFXBhcmFt",
            "ZXRlcl9kZWZpbml0aW9ucxgDIAEoCRIZChFyZXR1cm5fZGVmaW5pdGlvbhgE",
            "IAEoCSKoAQoZRXh0ZXJuYWxTeXN0ZW1BcnRpZmFjdER0bxIMCgRuYW1lGAEg",
            "ASgJEhQKDGVuZHBvaW50X3VybBgCIAEoCRIRCglhdXRoX3R5cGUYAyABKAkS",
            "GgoSYXV0aF9jb25maWd1cmF0aW9uGAQgASgJEh8KF21ldGhvZF9kZWZpbml0",
            "aW9uc19qc29uGAUgASgJEhcKD3RpbWVvdXRfc2Vjb25kcxgGIAEoBSKNAQod",
            "RGF0YWJhc2VDb25uZWN0aW9uQXJ0aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIZ",
            "ChFjb25uZWN0aW9uX3N0cmluZxgCIAEoCRITCgttYXhfcmV0cmllcxgDIAEo",
            "BRIuCgtyZXRyeV9kZWxheRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJh",
            "dGlvbiJFChtOb3RpZmljYXRpb25MaXN0QXJ0aWZhY3REdG8SDAoEbmFtZRgB",
            "IAEoCRIYChByZWNpcGllbnRfZW1haWxzGAIgAygJIqABChlEYXRhQ29ubmVj",
            "dGlvbkFydGlmYWN0RHRvEgwKBG5hbWUYASABKAkSEAoIcHJvdG9jb2wYAiAB",
            "KAkSIgoacHJpbWFyeV9jb25maWd1cmF0aW9uX2pzb24YAyABKAkSIQoZYmFj",
            "a3VwX2NvbmZpZ3VyYXRpb25fanNvbhgEIAEoCRIcChRmYWlsb3Zlcl9yZXRy",
            "eV9jb3VudBgFIAEoBSKtAQocU210cENvbmZpZ3VyYXRpb25BcnRpZmFjdER0",
            "bxIMCgRuYW1lGAEgASgJEg4KBnNlcnZlchgCIAEoCRIMCgRwb3J0GAMgASgF",
            "EhEKCWF1dGhfbW9kZRgEIAEoCRIUCgxmcm9tX2FkZHJlc3MYBSABKAkSEAoI",
            "dXNlcm5hbWUYBiABKAkSEAoIcGFzc3dvcmQYByABKAkSFAoMb2F1dGhfY29u",
            "ZmlnGAggASgJImEKG1NoYXJlZFNjcmlwdEFydGlmYWN0TGlzdER0bxJCCgVp",
            "dGVtcxgBIAMoCzIzLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNoYXJl",
            "ZFNjcmlwdEFydGlmYWN0RHRvImUKHUV4dGVybmFsU3lzdGVtQXJ0aWZhY3RM",
            "aXN0RHRvEkQKBWl0ZW1zGAEgAygLMjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
            "bmQudjEuRXh0ZXJuYWxTeXN0ZW1BcnRpZmFjdER0byJtCiFEYXRhYmFzZUNv",
            "bm5lY3Rpb25BcnRpZmFjdExpc3REdG8SSAoFaXRlbXMYASADKAsyOS5zY2Fk",
            "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5EYXRhYmFzZUNvbm5lY3Rpb25BcnRp",
            "ZmFjdER0byJpCh9Ob3RpZmljYXRpb25MaXN0QXJ0aWZhY3RMaXN0RHRvEkYK",
            "BWl0ZW1zGAEgAygLMjcuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTm90",
            "aWZpY2F0aW9uTGlzdEFydGlmYWN0RHRvImUKHURhdGFDb25uZWN0aW9uQXJ0",
            "aWZhY3RMaXN0RHRvEkQKBWl0ZW1zGAEgAygLMjUuc2NhZGFicmlkZ2Uuc2l0",
            "ZWNvbW1hbmQudjEuRGF0YUNvbm5lY3Rpb25BcnRpZmFjdER0byJrCiBTbXRw",
            "Q29uZmlndXJhdGlvbkFydGlmYWN0TGlzdER0bxJHCgVpdGVtcxgBIAMoCzI4",
            "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNtdHBDb25maWd1cmF0aW9u",
            "QXJ0aWZhY3REdG8i7QQKGURlcGxveUFydGlmYWN0c0NvbW1hbmREdG8SFQoN",
            "ZGVwbG95bWVudF9pZBgBIAEoCRJPCg5zaGFyZWRfc2NyaXB0cxgCIAEoCzI3",
            "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNoYXJlZFNjcmlwdEFydGlm",
            "YWN0TGlzdER0bxJTChBleHRlcm5hbF9zeXN0ZW1zGAMgASgLMjkuc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRXh0ZXJuYWxTeXN0ZW1BcnRpZmFjdExp",
            "c3REdG8SWwoUZGF0YWJhc2VfY29ubmVjdGlvbnMYBCABKAsyPS5zY2FkYWJy",
            "aWRnZS5zaXRlY29tbWFuZC52MS5EYXRhYmFzZUNvbm5lY3Rpb25BcnRpZmFj",
            "dExpc3REdG8SVwoSbm90aWZpY2F0aW9uX2xpc3RzGAUgASgLMjsuc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTm90aWZpY2F0aW9uTGlzdEFydGlmYWN0",
            "TGlzdER0bxJTChBkYXRhX2Nvbm5lY3Rpb25zGAYgASgLMjkuc2NhZGFicmlk",
            "Z2Uuc2l0ZWNvbW1hbmQudjEuRGF0YUNvbm5lY3Rpb25BcnRpZmFjdExpc3RE",
            "dG8SWQoTc210cF9jb25maWd1cmF0aW9ucxgHIAEoCzI8LnNjYWRhYnJpZGdl",
            "LnNpdGVjb21tYW5kLnYxLlNtdHBDb25maWd1cmF0aW9uQXJ0aWZhY3RMaXN0",
            "RHRvEi0KCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1l",
            "c3RhbXAi2QEKG0RlcGxveW1lbnRTdGF0dXNSZXNwb25zZUR0bxIVCg1kZXBs",
            "b3ltZW50X2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJ",
            "Ej8KBnN0YXR1cxgDIAEoDjIvLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
            "LkRlcGxveW1lbnRTdGF0dXNEdG8SFQoNZXJyb3JfbWVzc2FnZRgEIAEoCRIt",
            "Cgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "IqcBChxJbnN0YW5jZUxpZmVjeWNsZVJlc3BvbnNlRHRvEhIKCmNvbW1hbmRf",
            "aWQYASABKAkSHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYAiABKAkSDwoHc3Vj",
            "Y2VzcxgDIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAQgASgJEi0KCXRpbWVzdGFt",
            "cBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi2QEKH0RlcGxv",
            "eW1lbnRTdGF0ZVF1ZXJ5UmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQY",
            "ASABKAkSHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYAiABKAkSEwoLaXNfZGVw",
            "bG95ZWQYAyABKAgSHQoVYXBwbGllZF9kZXBsb3ltZW50X2lkGAQgASgJEh0K",
            "FWFwcGxpZWRfcmV2aXNpb25faGFzaBgFIAEoCRItCgl0aW1lc3RhbXAYBiAB",
            "KAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIp4BCh1BcnRpZmFjdERl",
            "cGxveW1lbnRSZXNwb25zZUR0bxIVCg1kZXBsb3ltZW50X2lkGAEgASgJEg8K",
            "B3NpdGVfaWQYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIVCg1lcnJvcl9tZXNz",
            "YWdlGAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1",
            "Zi5UaW1lc3RhbXAimgQKEExpZmVjeWNsZVJlcXVlc3QSVQoScmVmcmVzaF9k",
            "ZXBsb3ltZW50GAEgASgLMjcuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
            "UmVmcmVzaERlcGxveW1lbnRDb21tYW5kRHRvSAASTwoPZW5hYmxlX2luc3Rh",
            "bmNlGAIgASgLMjQuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRW5hYmxl",
            "SW5zdGFuY2VDb21tYW5kRHRvSAASUQoQZGlzYWJsZV9pbnN0YW5jZRgDIAEo",
            "CzI1LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRpc2FibGVJbnN0YW5j",
            "ZUNvbW1hbmREdG9IABJPCg9kZWxldGVfaW5zdGFuY2UYBCABKAsyNC5zY2Fk",
            "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5EZWxldGVJbnN0YW5jZUNvbW1hbmRE",
            "dG9IABJcChZkZXBsb3ltZW50X3N0YXRlX3F1ZXJ5GAUgASgLMjouc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVwbG95bWVudFN0YXRlUXVlcnlSZXF1",
            "ZXN0RHRvSAASUQoQZGVwbG95X2FydGlmYWN0cxgGIAEoCzI1LnNjYWRhYnJp",
            "ZGdlLnNpdGVjb21tYW5kLnYxLkRlcGxveUFydGlmYWN0c0NvbW1hbmREdG9I",
            "AEIJCgdjb21tYW5kIoADCg5MaWZlY3ljbGVSZXBseRJUChFkZXBsb3ltZW50",
            "X3N0YXR1cxgBIAEoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRl",
            "cGxveW1lbnRTdGF0dXNSZXNwb25zZUR0b0gAElYKEmluc3RhbmNlX2xpZmVj",
            "eWNsZRgCIAEoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkluc3Rh",
            "bmNlTGlmZWN5Y2xlUmVzcG9uc2VEdG9IABJdChZkZXBsb3ltZW50X3N0YXRl",
            "X3F1ZXJ5GAMgASgLMjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVw",
            "bG95bWVudFN0YXRlUXVlcnlSZXNwb25zZUR0b0gAElgKE2FydGlmYWN0X2Rl",
            "cGxveW1lbnQYBCABKAsyOS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5B",
            "cnRpZmFjdERlcGxveW1lbnRSZXNwb25zZUR0b0gAQgcKBXJlcGx5InwKFEJy",
            "b3dzZU5vZGVDb21tYW5kRHRvEhcKD2Nvbm5lY3Rpb25fbmFtZRgBIAEoCRIW",
            "Cg5wYXJlbnRfbm9kZV9pZBgCIAEoCRIaChJjb250aW51YXRpb25fdG9rZW4Y",
            "AyABKAkSFwoPc2l0ZV9pZGVudGlmaWVyGAQgASgJIoICCg1Ccm93c2VOb2Rl",
            "RHRvEg8KB25vZGVfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEkIK",
            "Cm5vZGVfY2xhc3MYAyABKA4yLi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
            "MS5Ccm93c2VOb2RlQ2xhc3NEdG8SFAoMaGFzX2NoaWxkcmVuGAQgASgIEhEK",
            "CWRhdGFfdHlwZRgFIAEoCRIvCgp2YWx1ZV9yYW5rGAYgASgLMhsuZ29vZ2xl",
            "LnByb3RvYnVmLkludDMyVmFsdWUSLAoId3JpdGFibGUYByABKAsyGi5nb29n",
            "bGUucHJvdG9idWYuQm9vbFZhbHVlImMKEEJyb3dzZUZhaWx1cmVEdG8SPgoE",
            "a2luZBgBIAEoDjIwLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkJyb3dz",
            "ZUZhaWx1cmVLaW5kRHRvEg8KB21lc3NhZ2UYAiABKAkiwAEKE0Jyb3dzZU5v",
            "ZGVSZXN1bHREdG8SOwoIY2hpbGRyZW4YASADKAsyKS5zY2FkYWJyaWRnZS5z",
            "aXRlY29tbWFuZC52MS5Ccm93c2VOb2RlRHRvEhEKCXRydW5jYXRlZBgCIAEo",
            "CBI9CgdmYWlsdXJlGAMgASgLMiwuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
            "djEuQnJvd3NlRmFpbHVyZUR0bxIaChJjb250aW51YXRpb25fdG9rZW4YBCAB",
            "KAkihwEKHFNlYXJjaEFkZHJlc3NTcGFjZUNvbW1hbmREdG8SFwoPY29ubmVj",
            "dGlvbl9uYW1lGAEgASgJEg0KBXF1ZXJ5GAIgASgJEhEKCW1heF9kZXB0aBgD",
            "IAEoBRITCgttYXhfcmVzdWx0cxgEIAEoBRIXCg9zaXRlX2lkZW50aWZpZXIY",
            "BSABKAkiXQoUQWRkcmVzc1NwYWNlTWF0Y2hEdG8SNwoEbm9kZRgBIAEoCzIp",
            "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkJyb3dzZU5vZGVEdG8SDAoE",
            "cGF0aBgCIAEoCSK0AQobU2VhcmNoQWRkcmVzc1NwYWNlUmVzdWx0RHRvEkEK",
            "B21hdGNoZXMYASADKAsyMC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5B",
            "ZGRyZXNzU3BhY2VNYXRjaER0bxITCgtjYXBfcmVhY2hlZBgCIAEoCBI9Cgdm",
            "YWlsdXJlGAMgASgLMiwuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuQnJv",
            "d3NlRmFpbHVyZUR0byJFChdSZWFkVGFnVmFsdWVzQ29tbWFuZER0bxIXCg9j",
            "b25uZWN0aW9uX25hbWUYASABKAkSEQoJdGFnX3BhdGhzGAIgAygJIsQBChFU",
            "YWdSZWFkT3V0Y29tZUR0bxIQCgh0YWdfcGF0aBgBIAEoCRIPCgdzdWNjZXNz",
            "GAIgASgIEjUKBXZhbHVlGAMgASgLMiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
            "bmQudjEuTG9vc2VWYWx1ZRIPCgdxdWFsaXR5GAQgASgJEi0KCXRpbWVzdGFt",
            "cBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNZXJyb3Jf",
            "bWVzc2FnZRgGIAEoCSJxChdSZWFkVGFnVmFsdWVzRmFpbHVyZUR0bxJFCgRr",
            "aW5kGAEgASgOMjcuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmVhZFRh",
            "Z1ZhbHVlc0ZhaWx1cmVLaW5kRHRvEg8KB21lc3NhZ2UYAiABKAkinwEKFlJl",
            "YWRUYWdWYWx1ZXNSZXN1bHREdG8SPwoIb3V0Y29tZXMYASADKAsyLS5zY2Fk",
            "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5UYWdSZWFkT3V0Y29tZUR0bxJECgdm",
            "YWlsdXJlGAIgASgLMjMuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmVh",
            "ZFRhZ1ZhbHVlc0ZhaWx1cmVEdG8icwoYVmVyaWZ5RW5kcG9pbnRDb21tYW5k",
            "RHRvEhcKD2Nvbm5lY3Rpb25fbmFtZRgBIAEoCRIQCghwcm90b2NvbBgCIAEo",
            "CRITCgtjb25maWdfanNvbhgDIAEoCRIXCg9zaXRlX2lkZW50aWZpZXIYBCAB",
            "KAkiwwEKEVNlcnZlckNlcnRJbmZvRHRvEhIKCnRodW1icHJpbnQYASABKAkS",
            "DwoHc3ViamVjdBgCIAEoCRIOCgZpc3N1ZXIYAyABKAkSMgoObm90X2JlZm9y",
            "ZV91dGMYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDW5v",
            "dF9hZnRlcl91dGMYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "EhIKCmRlcl9iYXNlNjQYBiABKAkiWQoWVmVyaWZ5RmFpbHVyZUtpbmRWYWx1",
            "ZRI/CgV2YWx1ZRgBIAEoDjIwLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
            "LlZlcmlmeUZhaWx1cmVLaW5kRHRvIsABChdWZXJpZnlFbmRwb2ludFJlc3Vs",
            "dER0bxIPCgdzdWNjZXNzGAEgASgIEkgKDGZhaWx1cmVfa2luZBgCIAEoCzIy",
            "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlZlcmlmeUZhaWx1cmVLaW5k",
            "VmFsdWUSDQoFZXJyb3IYAyABKAkSOwoEY2VydBgEIAEoCzItLnNjYWRhYnJp",
            "ZGdlLnNpdGVjb21tYW5kLnYxLlNlcnZlckNlcnRJbmZvRHRvInUKGVRydXN0",
            "U2VydmVyQ2VydENvbW1hbmREdG8SFwoPY29ubmVjdGlvbl9uYW1lGAEgASgJ",
            "EhIKCmRlcl9iYXNlNjQYAiABKAkSEgoKdGh1bWJwcmludBgDIAEoCRIXCg9z",
            "aXRlX2lkZW50aWZpZXIYBCABKAkiNAoZTGlzdFNlcnZlckNlcnRzQ29tbWFu",
            "ZER0bxIXCg9zaXRlX2lkZW50aWZpZXIYASABKAkiSQoaUmVtb3ZlU2VydmVy",
            "Q2VydENvbW1hbmREdG8SEgoKdGh1bWJwcmludBgBIAEoCRIXCg9zaXRlX2lk",
            "ZW50aWZpZXIYAiABKAkiwgEKElRydXN0ZWRDZXJ0SW5mb0R0bxISCgp0aHVt",
            "YnByaW50GAEgASgJEg8KB3N1YmplY3QYAiABKAkSDgoGaXNzdWVyGAMgASgJ",
            "EjIKDm5vdF9iZWZvcmVfdXRjGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
            "bWVzdGFtcBIxCg1ub3RfYWZ0ZXJfdXRjGAUgASgLMhouZ29vZ2xlLnByb3Rv",
            "YnVmLlRpbWVzdGFtcBIQCghyZWplY3RlZBgGIAEoCCJXChZUcnVzdGVkQ2Vy",
            "dEluZm9MaXN0RHRvEj0KBWl0ZW1zGAEgAygLMi4uc2NhZGFicmlkZ2Uuc2l0",
            "ZWNvbW1hbmQudjEuVHJ1c3RlZENlcnRJbmZvRHRvIncKEkNlcnRUcnVzdFJl",
            "c3VsdER0bxIPCgdzdWNjZXNzGAEgASgIEg0KBWVycm9yGAIgASgJEkEKBWNl",
            "cnRzGAMgASgLMjIuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVHJ1c3Rl",
            "ZENlcnRJbmZvTGlzdER0byK9AQoSV3JpdGVUYWdSZXF1ZXN0RHRvEhYKDmNv",
            "cnJlbGF0aW9uX2lkGAEgASgJEhcKD2Nvbm5lY3Rpb25fbmFtZRgCIAEoCRIQ",
            "Cgh0YWdfcGF0aBgDIAEoCRI1CgV2YWx1ZRgEIAEoCzImLnNjYWRhYnJpZGdl",
            "LnNpdGVjb21tYW5kLnYxLkxvb3NlVmFsdWUSLQoJdGltZXN0YW1wGAUgASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKEAQoTV3JpdGVUYWdSZXNw",
            "b25zZUR0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdzdWNjZXNzGAIg",
            "ASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAkSLQoJdGltZXN0YW1wGAQgASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKgBQoMT3BjVWFSZXF1ZXN0",
            "EkcKC2Jyb3dzZV9ub2RlGAEgASgLMjAuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
            "bmQudjEuQnJvd3NlTm9kZUNvbW1hbmREdG9IABJYChRzZWFyY2hfYWRkcmVz",
            "c19zcGFjZRgCIAEoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNl",
            "YXJjaEFkZHJlc3NTcGFjZUNvbW1hbmREdG9IABJOCg9yZWFkX3RhZ192YWx1",
            "ZXMYAyABKAsyMy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5SZWFkVGFn",
            "VmFsdWVzQ29tbWFuZER0b0gAEk8KD3ZlcmlmeV9lbmRwb2ludBgEIAEoCzI0",
            "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlZlcmlmeUVuZHBvaW50Q29t",
            "bWFuZER0b0gAElIKEXRydXN0X3NlcnZlcl9jZXJ0GAUgASgLMjUuc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVHJ1c3RTZXJ2ZXJDZXJ0Q29tbWFuZER0",
            "b0gAElIKEWxpc3Rfc2VydmVyX2NlcnRzGAYgASgLMjUuc2NhZGFicmlkZ2Uu",
            "c2l0ZWNvbW1hbmQudjEuTGlzdFNlcnZlckNlcnRzQ29tbWFuZER0b0gAElQK",
            "EnJlbW92ZV9zZXJ2ZXJfY2VydBgHIAEoCzI2LnNjYWRhYnJpZGdlLnNpdGVj",
            "b21tYW5kLnYxLlJlbW92ZVNlcnZlckNlcnRDb21tYW5kRHRvSAASQwoJd3Jp",
            "dGVfdGFnGAggASgLMi4uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuV3Jp",
            "dGVUYWdSZXF1ZXN0RHRvSABCCQoHY29tbWFuZCLhAwoKT3BjVWFSZXBseRJG",
            "Cgticm93c2Vfbm9kZRgBIAEoCzIvLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5k",
            "LnYxLkJyb3dzZU5vZGVSZXN1bHREdG9IABJXChRzZWFyY2hfYWRkcmVzc19z",
            "cGFjZRgCIAEoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNlYXJj",
            "aEFkZHJlc3NTcGFjZVJlc3VsdER0b0gAEk0KD3JlYWRfdGFnX3ZhbHVlcxgD",
            "IAEoCzIyLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJlYWRUYWdWYWx1",
            "ZXNSZXN1bHREdG9IABJOCg92ZXJpZnlfZW5kcG9pbnQYBCABKAsyMy5zY2Fk",
            "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5WZXJpZnlFbmRwb2ludFJlc3VsdER0",
            "b0gAEkQKCmNlcnRfdHJ1c3QYBSABKAsyLi5zY2FkYWJyaWRnZS5zaXRlY29t",
            "bWFuZC52MS5DZXJ0VHJ1c3RSZXN1bHREdG9IABJECgl3cml0ZV90YWcYBiAB",
            "KAsyLy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Xcml0ZVRhZ1Jlc3Bv",
            "bnNlRHRvSABCBwoFcmVwbHkixQIKF0V2ZW50TG9nUXVlcnlSZXF1ZXN0RHRv",
            "EhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEg8KB3NpdGVfaWQYAiABKAkSKAoE",
            "ZnJvbRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdG8Y",
            "BCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmV2ZW50X3R5",
            "cGUYBSABKAkSEAoIc2V2ZXJpdHkYBiABKAkSEwoLaW5zdGFuY2VfaWQYByAB",
            "KAkSFgoOa2V5d29yZF9maWx0ZXIYCCABKAkSGgoSY29udGludWF0aW9uX3Rv",
            "a2VuGAkgASgJEhEKCXBhZ2Vfc2l6ZRgKIAEoBRItCgl0aW1lc3RhbXAYCyAB",
            "KAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIroBChBFdmVudExvZ0Vu",
            "dHJ5RHRvEgoKAmlkGAEgASgJEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2ds",
            "ZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKZXZlbnRfdHlwZRgDIAEoCRIQCghz",
            "ZXZlcml0eRgEIAEoCRITCgtpbnN0YW5jZV9pZBgFIAEoCRIOCgZzb3VyY2UY",
            "BiABKAkSDwoHbWVzc2FnZRgHIAEoCRIPCgdkZXRhaWxzGAggASgJIocCChhF",
            "dmVudExvZ1F1ZXJ5UmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQYASAB",
            "KAkSDwoHc2l0ZV9pZBgCIAEoCRI9CgdlbnRyaWVzGAMgAygLMiwuc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRXZlbnRMb2dFbnRyeUR0bxIaChJjb250",
            "aW51YXRpb25fdG9rZW4YBCABKAkSEAoIaGFzX21vcmUYBSABKAgSDwoHc3Vj",
            "Y2VzcxgGIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAcgASgJEi0KCXRpbWVzdGFt",
            "cBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiZAoXRGVidWdT",
            "bmFwc2hvdFJlcXVlc3REdG8SHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYASAB",
            "KAkSFgoOY29ycmVsYXRpb25faWQYAiABKAkSEwoLYWxhcm1zX29ubHkYAyAB",
            "KAgiVAocU3Vic2NyaWJlRGVidWdWaWV3UmVxdWVzdER0bxIcChRpbnN0YW5j",
            "ZV91bmlxdWVfbmFtZRgBIAEoCRIWCg5jb3JyZWxhdGlvbl9pZBgCIAEoCSJW",
            "Ch5VbnN1YnNjcmliZURlYnVnVmlld1JlcXVlc3REdG8SHAoUaW5zdGFuY2Vf",
            "dW5pcXVlX25hbWUYASABKAkSFgoOY29ycmVsYXRpb25faWQYAiABKAkiHAoa",
            "VW5zdWJzY3JpYmVEZWJ1Z1ZpZXdBY2tEdG8i1AEKFkFsYXJtQ29uZGl0aW9u",
            "U3RhdGVEdG8SDgoGYWN0aXZlGAEgASgIEhQKDGFja25vd2xlZGdlZBgCIAEo",
            "CBItCgljb25maXJtZWQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZh",
            "bHVlEj8KBnNoZWx2ZRgEIAEoDjIvLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5k",
            "LnYxLkFsYXJtU2hlbHZlU3RhdGVEdG8SEgoKc3VwcHJlc3NlZBgFIAEoCBIQ",
            "CghzZXZlcml0eRgGIAEoBSLdAQoWRGVidWdBdHRyaWJ1dGVWYWx1ZUR0bxIc",
            "ChRpbnN0YW5jZV91bmlxdWVfbmFtZRgBIAEoCRIWCg5hdHRyaWJ1dGVfcGF0",
            "aBgCIAEoCRIWCg5hdHRyaWJ1dGVfbmFtZRgDIAEoCRI1CgV2YWx1ZRgEIAEo",
            "CzImLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkxvb3NlVmFsdWUSDwoH",
            "cXVhbGl0eRgFIAEoCRItCgl0aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJv",
            "dG9idWYuVGltZXN0YW1wIq8FChJEZWJ1Z0FsYXJtU3RhdGVEdG8SHAoUaW5z",
            "dGFuY2VfdW5pcXVlX25hbWUYASABKAkSEgoKYWxhcm1fbmFtZRgCIAEoCRI4",
            "CgVzdGF0ZRgDIAEoDjIpLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkFs",
            "YXJtU3RhdGVEdG8SEAoIcHJpb3JpdHkYBCABKAUSLQoJdGltZXN0YW1wGAUg",
            "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4CgVsZXZlbBgGIAEo",
            "DjIpLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkFsYXJtTGV2ZWxEdG8S",
            "DwoHbWVzc2FnZRgHIAEoCRI2CgRraW5kGAggASgOMiguc2NhZGFicmlkZ2Uu",
            "c2l0ZWNvbW1hbmQudjEuQWxhcm1LaW5kRHRvEkUKCWNvbmRpdGlvbhgJIAEo",
            "CzIyLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkFsYXJtQ29uZGl0aW9u",
            "U3RhdGVEdG8SGAoQc291cmNlX3JlZmVyZW5jZRgKIAEoCRIXCg9hbGFybV90",
            "eXBlX25hbWUYCyABKAkSEAoIY2F0ZWdvcnkYDCABKAkSFQoNb3BlcmF0b3Jf",
            "dXNlchgNIAEoCRIYChBvcGVyYXRvcl9jb21tZW50GA4gASgJEjcKE29yaWdp",
            "bmFsX3JhaXNlX3RpbWUYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
            "YW1wEhUKDWN1cnJlbnRfdmFsdWUYECABKAkSEwoLbGltaXRfdmFsdWUYESAB",
            "KAkSJAocbmF0aXZlX3NvdXJjZV9jYW5vbmljYWxfbmFtZRgSIAEoCRIhChlp",
            "c19jb25maWd1cmVkX3BsYWNlaG9sZGVyGBMgASgIIpwCChREZWJ1Z1ZpZXdT",
            "bmFwc2hvdER0bxIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgBIAEoCRJMChBh",
            "dHRyaWJ1dGVfdmFsdWVzGAIgAygLMjIuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
            "bmQudjEuRGVidWdBdHRyaWJ1dGVWYWx1ZUR0bxJECgxhbGFybV9zdGF0ZXMY",
            "AyADKAsyLi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5EZWJ1Z0FsYXJt",
            "U3RhdGVEdG8SNgoSc25hcHNob3RfdGltZXN0YW1wGAQgASgLMhouZ29vZ2xl",
            "LnByb3RvYnVmLlRpbWVzdGFtcBIaChJpbnN0YW5jZV9ub3RfZm91bmQYBSAB",
            "KAgi8AIKDFF1ZXJ5UmVxdWVzdBJOCg9ldmVudF9sb2dfcXVlcnkYASABKAsy",
            "My5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5FdmVudExvZ1F1ZXJ5UmVx",
            "dWVzdER0b0gAEk0KDmRlYnVnX3NuYXBzaG90GAIgASgLMjMuc2NhZGFicmlk",
            "Z2Uuc2l0ZWNvbW1hbmQudjEuRGVidWdTbmFwc2hvdFJlcXVlc3REdG9IABJY",
            "ChRzdWJzY3JpYmVfZGVidWdfdmlldxgDIAEoCzI4LnNjYWRhYnJpZGdlLnNp",
            "dGVjb21tYW5kLnYxLlN1YnNjcmliZURlYnVnVmlld1JlcXVlc3REdG9IABJc",
            "ChZ1bnN1YnNjcmliZV9kZWJ1Z192aWV3GAQgASgLMjouc2NhZGFicmlkZ2Uu",
            "c2l0ZWNvbW1hbmQudjEuVW5zdWJzY3JpYmVEZWJ1Z1ZpZXdSZXF1ZXN0RHRv",
            "SABCCQoHY29tbWFuZCKRAgoKUXVlcnlSZXBseRJPCg9ldmVudF9sb2dfcXVl",
            "cnkYASABKAsyNC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5FdmVudExv",
            "Z1F1ZXJ5UmVzcG9uc2VEdG9IABJPChNkZWJ1Z192aWV3X3NuYXBzaG90GAIg",
            "ASgLMjAuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVidWdWaWV3U25h",
            "cHNob3REdG9IABJYChZ1bnN1YnNjcmliZV9kZWJ1Z192aWV3GAMgASgLMjYu",
            "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVW5zdWJzY3JpYmVEZWJ1Z1Zp",
            "ZXdBY2tEdG9IAEIHCgVyZXBseSKeAQocUGFya2VkTWVzc2FnZVF1ZXJ5UmVx",
            "dWVzdER0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdzaXRlX2lkGAIg",
            "ASgJEhMKC3BhZ2VfbnVtYmVyGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBRIt",
            "Cgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "IvICChVQYXJrZWRNZXNzYWdlRW50cnlEdG8SEgoKbWVzc2FnZV9pZBgBIAEo",
            "CRIVCg10YXJnZXRfc3lzdGVtGAIgASgJEhMKC21ldGhvZF9uYW1lGAMgASgJ",
            "EhUKDWVycm9yX21lc3NhZ2UYBCABKAkSFQoNYXR0ZW1wdF9jb3VudBgFIAEo",
            "BRI2ChJvcmlnaW5hbF90aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJvdG9i",
            "dWYuVGltZXN0YW1wEjoKFmxhc3RfYXR0ZW1wdF90aW1lc3RhbXAYByABKAsy",
            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhQKDG1heF9hdHRlbXB0cxgI",
            "IAEoBRJICghjYXRlZ29yeRgJIAEoDjI2LnNjYWRhYnJpZGdlLnNpdGVjb21t",
            "YW5kLnYxLlN0b3JlQW5kRm9yd2FyZENhdGVnb3J5RHRvEhcKD29yaWdpbl9p",
            "bnN0YW5jZRgKIAEoCSKhAgodUGFya2VkTWVzc2FnZVF1ZXJ5UmVzcG9uc2VE",
            "dG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc2l0ZV9pZBgCIAEoCRJD",
            "CghtZXNzYWdlcxgDIAMoCzIxLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
            "LlBhcmtlZE1lc3NhZ2VFbnRyeUR0bxITCgt0b3RhbF9jb3VudBgEIAEoBRIT",
            "CgtwYWdlX251bWJlchgFIAEoBRIRCglwYWdlX3NpemUYBiABKAUSDwoHc3Vj",
            "Y2VzcxgHIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAggASgJEi0KCXRpbWVzdGFt",
            "cBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiigEKHFBhcmtl",
            "ZE1lc3NhZ2VSZXRyeVJlcXVlc3REdG8SFgoOY29ycmVsYXRpb25faWQYASAB",
            "KAkSDwoHc2l0ZV9pZBgCIAEoCRISCgptZXNzYWdlX2lkGAMgASgJEi0KCXRp",
            "bWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiXwod",
            "UGFya2VkTWVzc2FnZVJldHJ5UmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25f",
            "aWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMg",
            "ASgJIowBCh5QYXJrZWRNZXNzYWdlRGlzY2FyZFJlcXVlc3REdG8SFgoOY29y",
            "cmVsYXRpb25faWQYASABKAkSDwoHc2l0ZV9pZBgCIAEoCRISCgptZXNzYWdl",
            "X2lkGAMgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1",
            "Zi5UaW1lc3RhbXAiYQofUGFya2VkTWVzc2FnZURpc2NhcmRSZXNwb25zZUR0",
            "bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEhUK",
            "DWVycm9yX21lc3NhZ2UYAyABKAkiTwoXUmV0cnlQYXJrZWRPcGVyYXRpb25E",
            "dG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSHAoUdHJhY2tlZF9vcGVyYXRp",
            "b25faWQYAiABKAkiUQoZRGlzY2FyZFBhcmtlZE9wZXJhdGlvbkR0bxIWCg5j",
            "b3JyZWxhdGlvbl9pZBgBIAEoCRIcChR0cmFja2VkX29wZXJhdGlvbl9pZBgC",
            "IAEoCSJdChtQYXJrZWRPcGVyYXRpb25BY3Rpb25BY2tEdG8SFgoOY29ycmVs",
            "YXRpb25faWQYASABKAkSDwoHYXBwbGllZBgCIAEoCBIVCg1lcnJvcl9tZXNz",
            "YWdlGAMgASgJIt4DCg1QYXJrZWRSZXF1ZXN0ElgKFHBhcmtlZF9tZXNzYWdl",
            "X3F1ZXJ5GAEgASgLMjguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFy",
            "a2VkTWVzc2FnZVF1ZXJ5UmVxdWVzdER0b0gAElgKFHBhcmtlZF9tZXNzYWdl",
            "X3JldHJ5GAIgASgLMjguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFy",
            "a2VkTWVzc2FnZVJldHJ5UmVxdWVzdER0b0gAElwKFnBhcmtlZF9tZXNzYWdl",
            "X2Rpc2NhcmQYAyABKAsyOi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Q",
            "YXJrZWRNZXNzYWdlRGlzY2FyZFJlcXVlc3REdG9IABJVChZyZXRyeV9wYXJr",
            "ZWRfb3BlcmF0aW9uGAQgASgLMjMuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
            "djEuUmV0cnlQYXJrZWRPcGVyYXRpb25EdG9IABJZChhkaXNjYXJkX3Bhcmtl",
            "ZF9vcGVyYXRpb24YBSABKAsyNS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
            "MS5EaXNjYXJkUGFya2VkT3BlcmF0aW9uRHRvSABCCQoHY29tbWFuZCKHAwoL",
            "UGFya2VkUmVwbHkSWQoUcGFya2VkX21lc3NhZ2VfcXVlcnkYASABKAsyOS5z",
            "Y2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5QYXJrZWRNZXNzYWdlUXVlcnlS",
            "ZXNwb25zZUR0b0gAElkKFHBhcmtlZF9tZXNzYWdlX3JldHJ5GAIgASgLMjku",
            "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkTWVzc2FnZVJldHJ5",
            "UmVzcG9uc2VEdG9IABJdChZwYXJrZWRfbWVzc2FnZV9kaXNjYXJkGAMgASgL",
            "Mjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkTWVzc2FnZURp",
            "c2NhcmRSZXNwb25zZUR0b0gAEloKF3BhcmtlZF9vcGVyYXRpb25fYWN0aW9u",
            "GAQgASgLMjcuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkT3Bl",
            "cmF0aW9uQWN0aW9uQWNrRHRvSABCBwoFcmVwbHki7QEKFVJvdXRlVG9DYWxs",
            "UmVxdWVzdER0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIcChRpbnN0YW5j",
            "ZV91bmlxdWVfbmFtZRgCIAEoCRITCgtzY3JpcHRfbmFtZRgDIAEoCRI9Cgpw",
            "YXJhbWV0ZXJzGAQgASgLMikuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
            "TG9vc2VWYWx1ZU1hcBItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJv",
            "dG9idWYuVGltZXN0YW1wEhsKE3BhcmVudF9leGVjdXRpb25faWQYBiABKAki",
            "xQEKFlJvdXRlVG9DYWxsUmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQY",
            "ASABKAkSDwoHc3VjY2VzcxgCIAEoCBI8CgxyZXR1cm5fdmFsdWUYAyABKAsy",
            "Ji5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZVZhbHVlEhUKDWVy",
            "cm9yX21lc3NhZ2UYBCABKAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xl",
            "LnByb3RvYnVmLlRpbWVzdGFtcCK7AQoeUm91dGVUb0dldEF0dHJpYnV0ZXNS",
            "ZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGluc3RhbmNl",
            "X3VuaXF1ZV9uYW1lGAIgASgJEhcKD2F0dHJpYnV0ZV9uYW1lcxgDIAMoCRIt",
            "Cgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "EhsKE3BhcmVudF9leGVjdXRpb25faWQYBSABKAkiywEKH1JvdXRlVG9HZXRB",
            "dHRyaWJ1dGVzUmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkS",
            "OQoGdmFsdWVzGAIgASgLMikuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
            "TG9vc2VWYWx1ZU1hcBIPCgdzdWNjZXNzGAMgASgIEhUKDWVycm9yX21lc3Nh",
            "Z2UYBCABKAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVm",
            "LlRpbWVzdGFtcCLFAgoeUm91dGVUb1NldEF0dHJpYnV0ZXNSZXF1ZXN0RHRv",
            "EhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9u",
            "YW1lGAIgASgJEmkKEGF0dHJpYnV0ZV92YWx1ZXMYAyADKAsyTy5zY2FkYWJy",
            "aWRnZS5zaXRlY29tbWFuZC52MS5Sb3V0ZVRvU2V0QXR0cmlidXRlc1JlcXVl",
            "c3REdG8uQXR0cmlidXRlVmFsdWVzRW50cnkSLQoJdGltZXN0YW1wGAQgASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIbChNwYXJlbnRfZXhlY3V0",
            "aW9uX2lkGAUgASgJGjYKFEF0dHJpYnV0ZVZhbHVlc0VudHJ5EgsKA2tleRgB",
            "IAEoCRINCgV2YWx1ZRgCIAEoCToCOAEikAEKH1JvdXRlVG9TZXRBdHRyaWJ1",
            "dGVzUmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc3Vj",
            "Y2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJEi0KCXRpbWVzdGFt",
            "cBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwwIKIVJvdXRl",
            "VG9XYWl0Rm9yQXR0cmlidXRlUmVxdWVzdER0bxIWCg5jb3JyZWxhdGlvbl9p",
            "ZBgBIAEoCRIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgCIAEoCRIWCg5hdHRy",
            "aWJ1dGVfbmFtZRgDIAEoCRI6ChR0YXJnZXRfdmFsdWVfZW5jb2RlZBgEIAEo",
            "CzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRIqCgd0aW1lb3V0GAUg",
            "ASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi0KCXRpbWVzdGFtcBgG",
            "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTcGFyZW50X2V4",
            "ZWN1dGlvbl9pZBgHIAEoCRIcChRyZXF1aXJlX2dvb2RfcXVhbGl0eRgIIAEo",
            "CCL/AQoiUm91dGVUb1dhaXRGb3JBdHRyaWJ1dGVSZXNwb25zZUR0bxIWCg5j",
            "b3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdtYXRjaGVkGAIgASgIEjUKBXZhbHVl",
            "GAMgASgLMiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1",
            "ZRIPCgdxdWFsaXR5GAQgASgJEhEKCXRpbWVkX291dBgFIAEoCBIPCgdzdWNj",
            "ZXNzGAYgASgIEhUKDWVycm9yX21lc3NhZ2UYByABKAkSLQoJdGltZXN0YW1w",
            "GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKJAwoMUm91dGVS",
            "ZXF1ZXN0EkoKDXJvdXRlX3RvX2NhbGwYASABKAsyMS5zY2FkYWJyaWRnZS5z",
            "aXRlY29tbWFuZC52MS5Sb3V0ZVRvQ2FsbFJlcXVlc3REdG9IABJdChdyb3V0",
            "ZV90b19nZXRfYXR0cmlidXRlcxgCIAEoCzI6LnNjYWRhYnJpZGdlLnNpdGVj",
            "b21tYW5kLnYxLlJvdXRlVG9HZXRBdHRyaWJ1dGVzUmVxdWVzdER0b0gAEl0K",
            "F3JvdXRlX3RvX3NldF9hdHRyaWJ1dGVzGAMgASgLMjouc2NhZGFicmlkZ2Uu",
            "c2l0ZWNvbW1hbmQudjEuUm91dGVUb1NldEF0dHJpYnV0ZXNSZXF1ZXN0RHRv",
            "SAASZAobcm91dGVfdG9fd2FpdF9mb3JfYXR0cmlidXRlGAQgASgLMj0uc2Nh",
            "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb1dhaXRGb3JBdHRyaWJ1",
            "dGVSZXF1ZXN0RHRvSABCCQoHY29tbWFuZCKJAwoKUm91dGVSZXBseRJLCg1y",
            "b3V0ZV90b19jYWxsGAEgASgLMjIuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
            "djEuUm91dGVUb0NhbGxSZXNwb25zZUR0b0gAEl4KF3JvdXRlX3RvX2dldF9h",
            "dHRyaWJ1dGVzGAIgASgLMjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
            "Um91dGVUb0dldEF0dHJpYnV0ZXNSZXNwb25zZUR0b0gAEl4KF3JvdXRlX3Rv",
            "X3NldF9hdHRyaWJ1dGVzGAMgASgLMjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
            "bmQudjEuUm91dGVUb1NldEF0dHJpYnV0ZXNSZXNwb25zZUR0b0gAEmUKG3Jv",
            "dXRlX3RvX3dhaXRfZm9yX2F0dHJpYnV0ZRgEIAEoCzI+LnNjYWRhYnJpZGdl",
            "LnNpdGVjb21tYW5kLnYxLlJvdXRlVG9XYWl0Rm9yQXR0cmlidXRlUmVzcG9u",
            "c2VEdG9IAEIHCgVyZXBseSJBChZUcmlnZ2VyU2l0ZUZhaWxvdmVyRHRvEhYK",
            "DmNvcnJlbGF0aW9uX2lkGAEgASgJEg8KB3NpdGVfaWQYAiABKAkibQoSU2l0",
            "ZUZhaWxvdmVyQWNrRHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhAKCGFj",
            "Y2VwdGVkGAIgASgIEhYKDnRhcmdldF9hZGRyZXNzGAMgASgJEhUKDWVycm9y",
            "X21lc3NhZ2UYBCABKAkqywEKE0RlcGxveW1lbnRTdGF0dXNEdG8SJQohREVQ",
            "TE9ZTUVOVF9TVEFUVVNfRFRPX1VOU1BFQ0lGSUVEEAASIQodREVQTE9ZTUVO",
            "VF9TVEFUVVNfRFRPX1BFTkRJTkcQARIlCiFERVBMT1lNRU5UX1NUQVRVU19E",
            "VE9fSU5fUFJPR1JFU1MQAhIhCh1ERVBMT1lNRU5UX1NUQVRVU19EVE9fU1VD",
            "Q0VTUxADEiAKHERFUExPWU1FTlRfU1RBVFVTX0RUT19GQUlMRUQQBCrEAQoS",
            "QnJvd3NlTm9kZUNsYXNzRHRvEiUKIUJST1dTRV9OT0RFX0NMQVNTX0RUT19V",
            "TlNQRUNJRklFRBAAEiAKHEJST1dTRV9OT0RFX0NMQVNTX0RUT19PQkpFQ1QQ",
            "ARIiCh5CUk9XU0VfTk9ERV9DTEFTU19EVE9fVkFSSUFCTEUQAhIgChxCUk9X",
            "U0VfTk9ERV9DTEFTU19EVE9fTUVUSE9EEAMSHwobQlJPV1NFX05PREVfQ0xB",
            "U1NfRFRPX09USEVSEAQqoQIKFEJyb3dzZUZhaWx1cmVLaW5kRHRvEicKI0JS",
            "T1dTRV9GQUlMVVJFX0tJTkRfRFRPX1VOU1BFQ0lGSUVEEAASMAosQlJPV1NF",
            "X0ZBSUxVUkVfS0lORF9EVE9fQ09OTkVDVElPTl9OT1RfRk9VTkQQARI0CjBC",
            "Uk9XU0VfRkFJTFVSRV9LSU5EX0RUT19DT05ORUNUSU9OX05PVF9DT05ORUNU",
            "RUQQAhIpCiVCUk9XU0VfRkFJTFVSRV9LSU5EX0RUT19OT1RfQlJPV1NBQkxF",
            "EAMSIwofQlJPV1NFX0ZBSUxVUkVfS0lORF9EVE9fVElNRU9VVBAEEigKJEJS",
            "T1dTRV9GQUlMVVJFX0tJTkRfRFRPX1NFUlZFUl9FUlJPUhAFKqoCChtSZWFk",
            "VGFnVmFsdWVzRmFpbHVyZUtpbmREdG8SMAosUkVBRF9UQUdfVkFMVUVTX0ZB",
            "SUxVUkVfS0lORF9EVE9fVU5TUEVDSUZJRUQQABI5CjVSRUFEX1RBR19WQUxV",
            "RVNfRkFJTFVSRV9LSU5EX0RUT19DT05ORUNUSU9OX05PVF9GT1VORBABEj0K",
            "OVJFQURfVEFHX1ZBTFVFU19GQUlMVVJFX0tJTkRfRFRPX0NPTk5FQ1RJT05f",
            "Tk9UX0NPTk5FQ1RFRBACEiwKKFJFQURfVEFHX1ZBTFVFU19GQUlMVVJFX0tJ",
            "TkRfRFRPX1RJTUVPVVQQAxIxCi1SRUFEX1RBR19WQUxVRVNfRkFJTFVSRV9L",
            "SU5EX0RUT19TRVJWRVJfRVJST1IQBCqTAgoUVmVyaWZ5RmFpbHVyZUtpbmRE",
            "dG8SJwojVkVSSUZZX0ZBSUxVUkVfS0lORF9EVE9fVU5TUEVDSUZJRUQQABIn",
            "CiNWRVJJRllfRkFJTFVSRV9LSU5EX0RUT19VTlJFQUNIQUJMRRABEicKI1ZF",
            "UklGWV9GQUlMVVJFX0tJTkRfRFRPX0FVVEhfRkFJTEVEEAISMQotVkVSSUZZ",
            "X0ZBSUxVUkVfS0lORF9EVE9fVU5UUlVTVEVEX0NFUlRJRklDQVRFEAMSIwof",
            "VkVSSUZZX0ZBSUxVUkVfS0lORF9EVE9fVElNRU9VVBAEEigKJFZFUklGWV9G",
            "QUlMVVJFX0tJTkRfRFRPX1NFUlZFUl9FUlJPUhAFKuUBChpTdG9yZUFuZEZv",
            "cndhcmRDYXRlZ29yeUR0bxIuCipTVE9SRV9BTkRfRk9SV0FSRF9DQVRFR09S",
            "WV9EVE9fVU5TUEVDSUZJRUQQABIyCi5TVE9SRV9BTkRfRk9SV0FSRF9DQVRF",
            "R09SWV9EVE9fRVhURVJOQUxfU1lTVEVNEAESLworU1RPUkVfQU5EX0ZPUldB",
            "UkRfQ0FURUdPUllfRFRPX05PVElGSUNBVElPThACEjIKLlNUT1JFX0FORF9G",
            "T1JXQVJEX0NBVEVHT1JZX0RUT19DQUNIRURfREJfV1JJVEUQAypoCg1BbGFy",
            "bVN0YXRlRHRvEh8KG0FMQVJNX1NUQVRFX0RUT19VTlNQRUNJRklFRBAAEhoK",
            "FkFMQVJNX1NUQVRFX0RUT19BQ1RJVkUQARIaChZBTEFSTV9TVEFURV9EVE9f",
            "Tk9STUFMEAIquQEKDUFsYXJtTGV2ZWxEdG8SHwobQUxBUk1fTEVWRUxfRFRP",
            "X1VOU1BFQ0lGSUVEEAASGAoUQUxBUk1fTEVWRUxfRFRPX05PTkUQARIXChNB",
            "TEFSTV9MRVZFTF9EVE9fTE9XEAISGwoXQUxBUk1fTEVWRUxfRFRPX0xPV19M",
            "T1cQAxIYChRBTEFSTV9MRVZFTF9EVE9fSElHSBAEEh0KGUFMQVJNX0xFVkVM",
            "X0RUT19ISUdIX0hJR0gQBSqSAQoMQWxhcm1LaW5kRHRvEh4KGkFMQVJNX0tJ",
            "TkRfRFRPX1VOU1BFQ0lGSUVEEAASGwoXQUxBUk1fS0lORF9EVE9fQ09NUFVU",
            "RUQQARIgChxBTEFSTV9LSU5EX0RUT19OQVRJVkVfT1BDX1VBEAISIwofQUxB",
            "Uk1fS0lORF9EVE9fTkFUSVZFX01YX0FDQ0VTUxADKugBChNBbGFybVNoZWx2",
            "ZVN0YXRlRHRvEiYKIkFMQVJNX1NIRUxWRV9TVEFURV9EVE9fVU5TUEVDSUZJ",
            "RUQQABIkCiBBTEFSTV9TSEVMVkVfU1RBVEVfRFRPX1VOU0hFTFZFRBABEisK",
            "J0FMQVJNX1NIRUxWRV9TVEFURV9EVE9fT05FX1NIT1RfU0hFTFZFRBACEigK",
            "JEFMQVJNX1NIRUxWRV9TVEFURV9EVE9fVElNRURfU0hFTFZFRBADEiwKKEFM",
            "QVJNX1NIRUxWRV9TVEFURV9EVE9fUEVSTUFORU5UX1NIRUxWRUQQBDKEBQoS",
            "U2l0ZUNvbW1hbmRTZXJ2aWNlEmwKEEV4ZWN1dGVMaWZlY3ljbGUSLC5zY2Fk",
            "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5MaWZlY3ljbGVSZXF1ZXN0Giouc2Nh",
            "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTGlmZWN5Y2xlUmVwbHkSYAoMRXhl",
            "Y3V0ZU9wY1VhEiguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuT3BjVWFS",
            "ZXF1ZXN0GiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuT3BjVWFSZXBs",
            "eRJgCgxFeGVjdXRlUXVlcnkSKC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
            "MS5RdWVyeVJlcXVlc3QaJi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5R",
            "dWVyeVJlcGx5EmMKDUV4ZWN1dGVQYXJrZWQSKS5zY2FkYWJyaWRnZS5zaXRl",
            "Y29tbWFuZC52MS5QYXJrZWRSZXF1ZXN0Gicuc2NhZGFicmlkZ2Uuc2l0ZWNv",
            "bW1hbmQudjEuUGFya2VkUmVwbHkSYAoMRXhlY3V0ZVJvdXRlEiguc2NhZGFi",
            "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVSZXF1ZXN0GiYuc2NhZGFicmlk",
            "Z2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVSZXBseRJ1Cg9UcmlnZ2VyRmFpbG92",
            "ZXISMi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5UcmlnZ2VyU2l0ZUZh",
            "aWxvdmVyRHRvGi4uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuU2l0ZUZh",
            "aWxvdmVyQWNrRHRvQiuqAihaQi5NT00uV1cuU2NhZGFCcmlkZ2UuQ29tbXVu",
            "aWNhdGlvbi5HcnBjYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap.Parser, new[]{ "Entries" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue.Parser, new[]{ "NullValue", "BoolValue", "Int32Value", "Int64Value", "DoubleValue", "FloatValue", "StringValue", "DecimalValue", "DateTimeValue", "DateTimeOffsetValue", "GuidValue", "TimeSpanValue", "BytesValue", "ListValue", "MapValue", "JsonValue" }, new[]{ "Kind" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto.Parser, new[]{ "DeploymentId", "InstanceUniqueName", "RevisionHash", "DeployedBy", "Timestamp", "CentralFetchBaseUrl", "FetchToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto.Parser, new[]{ "CommandId", "InstanceUniqueName", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto.Parser, new[]{ "CommandId", "InstanceUniqueName", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto.Parser, new[]{ "CommandId", "InstanceUniqueName", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto.Parser, new[]{ "Name", "Code", "ParameterDefinitions", "ReturnDefinition" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto.Parser, new[]{ "Name", "EndpointUrl", "AuthType", "AuthConfiguration", "MethodDefinitionsJson", "TimeoutSeconds" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto.Parser, new[]{ "Name", "ConnectionString", "MaxRetries", "RetryDelay" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto.Parser, new[]{ "Name", "RecipientEmails" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto.Parser, new[]{ "Name", "Protocol", "PrimaryConfigurationJson", "BackupConfigurationJson", "FailoverRetryCount" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto.Parser, new[]{ "Name", "Server", "Port", "AuthMode", "FromAddress", "Username", "Password", "OauthConfig" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto.Parser, new[]{ "DeploymentId", "SharedScripts", "ExternalSystems", "DatabaseConnections", "NotificationLists", "DataConnections", "SmtpConfigurations", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto.Parser, new[]{ "DeploymentId", "InstanceUniqueName", "Status", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto.Parser, new[]{ "CommandId", "InstanceUniqueName", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "IsDeployed", "AppliedDeploymentId", "AppliedRevisionHash", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto.Parser, new[]{ "DeploymentId", "SiteId", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LifecycleRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LifecycleRequest.Parser, new[]{ "RefreshDeployment", "EnableInstance", "DisableInstance", "DeleteInstance", "DeploymentStateQuery", "DeployArtifacts" }, new[]{ "Command" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LifecycleReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LifecycleReply.Parser, new[]{ "DeploymentStatus", "InstanceLifecycle", "DeploymentStateQuery", "ArtifactDeployment" }, new[]{ "Reply" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto.Parser, new[]{ "ConnectionName", "ParentNodeId", "ContinuationToken", "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto.Parser, new[]{ "NodeId", "DisplayName", "NodeClass", "HasChildren", "DataType", "ValueRank", "Writable" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto.Parser, new[]{ "Kind", "Message" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto.Parser, new[]{ "Children", "Truncated", "Failure", "ContinuationToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto.Parser, new[]{ "ConnectionName", "Query", "MaxDepth", "MaxResults", "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto.Parser, new[]{ "Node", "Path" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto.Parser, new[]{ "Matches", "CapReached", "Failure" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto.Parser, new[]{ "ConnectionName", "TagPaths" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto.Parser, new[]{ "TagPath", "Success", "Value", "Quality", "Timestamp", "ErrorMessage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto.Parser, new[]{ "Kind", "Message" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto.Parser, new[]{ "Outcomes", "Failure" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto.Parser, new[]{ "ConnectionName", "Protocol", "ConfigJson", "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto.Parser, new[]{ "Thumbprint", "Subject", "Issuer", "NotBeforeUtc", "NotAfterUtc", "DerBase64" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto.Parser, new[]{ "Success", "FailureKind", "Error", "Cert" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto.Parser, new[]{ "ConnectionName", "DerBase64", "Thumbprint", "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto.Parser, new[]{ "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto.Parser, new[]{ "Thumbprint", "SiteIdentifier" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto.Parser, new[]{ "Thumbprint", "Subject", "Issuer", "NotBeforeUtc", "NotAfterUtc", "Rejected" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto.Parser, new[]{ "Items" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto.Parser, new[]{ "Success", "Error", "Certs" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto.Parser, new[]{ "CorrelationId", "ConnectionName", "TagPath", "Value", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto.Parser, new[]{ "CorrelationId", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.OpcUaRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.OpcUaRequest.Parser, new[]{ "BrowseNode", "SearchAddressSpace", "ReadTagValues", "VerifyEndpoint", "TrustServerCert", "ListServerCerts", "RemoveServerCert", "WriteTag" }, new[]{ "Command" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.OpcUaReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.OpcUaReply.Parser, new[]{ "BrowseNode", "SearchAddressSpace", "ReadTagValues", "VerifyEndpoint", "CertTrust", "WriteTag" }, new[]{ "Reply" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto.Parser, new[]{ "CorrelationId", "SiteId", "From", "To", "EventType", "Severity", "InstanceId", "KeywordFilter", "ContinuationToken", "PageSize", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto.Parser, new[]{ "Id", "Timestamp", "EventType", "Severity", "InstanceId", "Source", "Message", "Details" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto.Parser, new[]{ "CorrelationId", "SiteId", "Entries", "ContinuationToken", "HasMore", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto.Parser, new[]{ "InstanceUniqueName", "CorrelationId", "AlarmsOnly" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto.Parser, new[]{ "InstanceUniqueName", "CorrelationId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto.Parser, new[]{ "InstanceUniqueName", "CorrelationId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto.Parser, new[]{ "Active", "Acknowledged", "Confirmed", "Shelve", "Suppressed", "Severity" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto.Parser, new[]{ "InstanceUniqueName", "AttributePath", "AttributeName", "Value", "Quality", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto.Parser, new[]{ "InstanceUniqueName", "AlarmName", "State", "Priority", "Timestamp", "Level", "Message", "Kind", "Condition", "SourceReference", "AlarmTypeName", "Category", "OperatorUser", "OperatorComment", "OriginalRaiseTime", "CurrentValue", "LimitValue", "NativeSourceCanonicalName", "IsConfiguredPlaceholder" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto.Parser, new[]{ "InstanceUniqueName", "AttributeValues", "AlarmStates", "SnapshotTimestamp", "InstanceNotFound" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.QueryRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.QueryRequest.Parser, new[]{ "EventLogQuery", "DebugSnapshot", "SubscribeDebugView", "UnsubscribeDebugView" }, new[]{ "Command" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.QueryReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.QueryReply.Parser, new[]{ "EventLogQuery", "DebugViewSnapshot", "UnsubscribeDebugView" }, new[]{ "Reply" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto.Parser, new[]{ "CorrelationId", "SiteId", "PageNumber", "PageSize", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto.Parser, new[]{ "MessageId", "TargetSystem", "MethodName", "ErrorMessage", "AttemptCount", "OriginalTimestamp", "LastAttemptTimestamp", "MaxAttempts", "Category", "OriginInstance" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto.Parser, new[]{ "CorrelationId", "SiteId", "Messages", "TotalCount", "PageNumber", "PageSize", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto.Parser, new[]{ "CorrelationId", "SiteId", "MessageId", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto.Parser, new[]{ "CorrelationId", "Success", "ErrorMessage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto.Parser, new[]{ "CorrelationId", "SiteId", "MessageId", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto.Parser, new[]{ "CorrelationId", "Success", "ErrorMessage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto.Parser, new[]{ "CorrelationId", "TrackedOperationId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto.Parser, new[]{ "CorrelationId", "TrackedOperationId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto.Parser, new[]{ "CorrelationId", "Applied", "ErrorMessage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedRequest.Parser, new[]{ "ParkedMessageQuery", "ParkedMessageRetry", "ParkedMessageDiscard", "RetryParkedOperation", "DiscardParkedOperation" }, new[]{ "Command" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedReply.Parser, new[]{ "ParkedMessageQuery", "ParkedMessageRetry", "ParkedMessageDiscard", "ParkedOperationAction" }, new[]{ "Reply" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "ScriptName", "Parameters", "Timestamp", "ParentExecutionId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto.Parser, new[]{ "CorrelationId", "Success", "ReturnValue", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeNames", "Timestamp", "ParentExecutionId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto.Parser, new[]{ "CorrelationId", "Values", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeValues", "Timestamp", "ParentExecutionId" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto.Parser, new[]{ "CorrelationId", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeName", "TargetValueEncoded", "Timeout", "Timestamp", "ParentExecutionId", "RequireGoodQuality" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto.Parser, new[]{ "CorrelationId", "Matched", "Value", "Quality", "TimedOut", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteRequest.Parser, new[]{ "RouteToCall", "RouteToGetAttributes", "RouteToSetAttributes", "RouteToWaitForAttribute" }, new[]{ "Command" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteReply.Parser, new[]{ "RouteToCall", "RouteToGetAttributes", "RouteToSetAttributes", "RouteToWaitForAttribute" }, new[]{ "Reply" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TriggerSiteFailoverDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TriggerSiteFailoverDto.Parser, new[]{ "CorrelationId", "SiteId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteFailoverAckDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteFailoverAckDto.Parser, new[]{ "CorrelationId", "Accepted", "TargetAddress", "ErrorMessage" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  public enum DeploymentStatusDto {
    [pbr::OriginalName("DEPLOYMENT_STATUS_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("DEPLOYMENT_STATUS_DTO_PENDING")] Pending = 1,
    [pbr::OriginalName("DEPLOYMENT_STATUS_DTO_IN_PROGRESS")] InProgress = 2,
    [pbr::OriginalName("DEPLOYMENT_STATUS_DTO_SUCCESS")] Success = 3,
    [pbr::OriginalName("DEPLOYMENT_STATUS_DTO_FAILED")] Failed = 4,
  }

  public enum BrowseNodeClassDto {
    [pbr::OriginalName("BROWSE_NODE_CLASS_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("BROWSE_NODE_CLASS_DTO_OBJECT")] Object = 1,
    [pbr::OriginalName("BROWSE_NODE_CLASS_DTO_VARIABLE")] Variable = 2,
    [pbr::OriginalName("BROWSE_NODE_CLASS_DTO_METHOD")] Method = 3,
    [pbr::OriginalName("BROWSE_NODE_CLASS_DTO_OTHER")] Other = 4,
  }

  public enum BrowseFailureKindDto {
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_CONNECTION_NOT_FOUND")] ConnectionNotFound = 1,
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_CONNECTION_NOT_CONNECTED")] ConnectionNotConnected = 2,
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_NOT_BROWSABLE")] NotBrowsable = 3,
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_TIMEOUT")] Timeout = 4,
    [pbr::OriginalName("BROWSE_FAILURE_KIND_DTO_SERVER_ERROR")] ServerError = 5,
  }

  public enum ReadTagValuesFailureKindDto {
    [pbr::OriginalName("READ_TAG_VALUES_FAILURE_KIND_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("READ_TAG_VALUES_FAILURE_KIND_DTO_CONNECTION_NOT_FOUND")] ConnectionNotFound = 1,
    [pbr::OriginalName("READ_TAG_VALUES_FAILURE_KIND_DTO_CONNECTION_NOT_CONNECTED")] ConnectionNotConnected = 2,
    [pbr::OriginalName("READ_TAG_VALUES_FAILURE_KIND_DTO_TIMEOUT")] Timeout = 3,
    [pbr::OriginalName("READ_TAG_VALUES_FAILURE_KIND_DTO_SERVER_ERROR")] ServerError = 4,
  }

  public enum VerifyFailureKindDto {
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_UNREACHABLE")] Unreachable = 1,
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_AUTH_FAILED")] AuthFailed = 2,
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_UNTRUSTED_CERTIFICATE")] UntrustedCertificate = 3,
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_TIMEOUT")] Timeout = 4,
    [pbr::OriginalName("VERIFY_FAILURE_KIND_DTO_SERVER_ERROR")] ServerError = 5,
  }

  public enum StoreAndForwardCategoryDto {
    [pbr::OriginalName("STORE_AND_FORWARD_CATEGORY_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("STORE_AND_FORWARD_CATEGORY_DTO_EXTERNAL_SYSTEM")] ExternalSystem = 1,
    [pbr::OriginalName("STORE_AND_FORWARD_CATEGORY_DTO_NOTIFICATION")] Notification = 2,
    [pbr::OriginalName("STORE_AND_FORWARD_CATEGORY_DTO_CACHED_DB_WRITE")] CachedDbWrite = 3,
  }

  public enum AlarmStateDto {
    [pbr::OriginalName("ALARM_STATE_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("ALARM_STATE_DTO_ACTIVE")] Active = 1,
    [pbr::OriginalName("ALARM_STATE_DTO_NORMAL")] Normal = 2,
  }

  public enum AlarmLevelDto {
    [pbr::OriginalName("ALARM_LEVEL_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("ALARM_LEVEL_DTO_NONE")] None = 1,
    [pbr::OriginalName("ALARM_LEVEL_DTO_LOW")] Low = 2,
    [pbr::OriginalName("ALARM_LEVEL_DTO_LOW_LOW")] LowLow = 3,
    [pbr::OriginalName("ALARM_LEVEL_DTO_HIGH")] High = 4,
    [pbr::OriginalName("ALARM_LEVEL_DTO_HIGH_HIGH")] HighHigh = 5,
  }

  public enum AlarmKindDto {
    [pbr::OriginalName("ALARM_KIND_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("ALARM_KIND_DTO_COMPUTED")] Computed = 1,
    [pbr::OriginalName("ALARM_KIND_DTO_NATIVE_OPC_UA")] NativeOpcUa = 2,
    [pbr::OriginalName("ALARM_KIND_DTO_NATIVE_MX_ACCESS")] NativeMxAccess = 3,
  }

  public enum AlarmShelveStateDto {
    [pbr::OriginalName("ALARM_SHELVE_STATE_DTO_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("ALARM_SHELVE_STATE_DTO_UNSHELVED")] Unshelved = 1,
    [pbr::OriginalName("ALARM_SHELVE_STATE_DTO_ONE_SHOT_SHELVED")] OneShotShelved = 2,
    [pbr::OriginalName("ALARM_SHELVE_STATE_DTO_TIMED_SHELVED")] TimedShelved = 3,
    [pbr::OriginalName("ALARM_SHELVE_STATE_DTO_PERMANENT_SHELVED")] PermanentShelved = 4,
  }

  #endregion

  #region Messages
  /// <summary>
  /// Explicit null marker. Needed because a map&lt;string, LooseValue> entry always
  /// has a value message present, so "the dictionary holds a null for this key"
  /// cannot be expressed by absence the way a nullable message FIELD can.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LooseNull : pb::IMessage<LooseNull>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LooseNull> _parser = new pb::MessageParser<LooseNull>(() => new LooseNull());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LooseNull> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 LooseNull() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      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 (_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 (_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 (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LooseNull other) {
      if (other == null) {
        return;
      }
      _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;
        }
      }
    #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;
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 LooseValueList() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LooseValueList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LooseValueList other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 LooseValueMap() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "entries" field.</summary>
    public const int EntriesFieldNumber = 1;
    private static readonly pbc::MapField<string, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue>.Codec _map_entries_codec
        = new pbc::MapField<string, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue.Parser), 10);
    private readonly pbc::MapField<string, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue> entries_ = new pbc::MapField<string, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue> Entries {
      get { return entries_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LooseValueMap 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]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= Entries.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
      entries_.WriteTo(output, _map_entries_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) {
      entries_.WriteTo(ref output, _map_entries_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 += entries_.CalculateSize(_map_entries_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LooseValueMap other) {
      if (other == null) {
        return;
      }
      entries_.MergeFrom(other.entries_);
      _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: {
            entries_.AddEntriesFrom(input, _map_entries_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: {
            entries_.AddEntriesFrom(ref input, _map_entries_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// Type-tagged carrier for the `object?` members the command plane still uses
  /// (script parameters and return values, attribute values, tag read/write
  /// values). The tags cover every CLR type these fields actually carry, so those
  /// values round-trip with their runtime type intact; anything else falls back to
  /// `json_value` (see the mapper's documented lossiness note).
  ///
  /// Date/time and decimal ride as invariant round-trip STRINGS rather than
  /// google.protobuf.Timestamp: Timestamp normalises everything to UTC and would
  /// silently drop DateTime.Kind / DateTimeOffset.Offset, which for an operator's
  /// tag value is data loss, not normalisation.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LooseValue : pb::IMessage<LooseValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LooseValue> _parser = new pb::MessageParser<LooseValue>(() => new LooseValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LooseValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 LooseValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LooseValue(LooseValue other) : this() {
      switch (other.KindCase) {
        case KindOneofCase.NullValue:
          NullValue = other.NullValue.Clone();
          break;
        case KindOneofCase.BoolValue:
          BoolValue = other.BoolValue;
          break;
        case KindOneofCase.Int32Value:
          Int32Value = other.Int32Value;
          break;
        case KindOneofCase.Int64Value:
          Int64Value = other.Int64Value;
          break;
        case KindOneofCase.DoubleValue:
          DoubleValue = other.DoubleValue;
          break;
        case KindOneofCase.FloatValue:
          FloatValue = other.FloatValue;
          break;
        case KindOneofCase.StringValue:
          StringValue = other.StringValue;
          break;
        case KindOneofCase.DecimalValue:
          DecimalValue = other.DecimalValue;
          break;
        case KindOneofCase.DateTimeValue:
          DateTimeValue = other.DateTimeValue;
          break;
        case KindOneofCase.DateTimeOffsetValue:
          DateTimeOffsetValue = other.DateTimeOffsetValue;
          break;
        case KindOneofCase.GuidValue:
          GuidValue = other.GuidValue;
          break;
        case KindOneofCase.TimeSpanValue:
          TimeSpanValue = other.TimeSpanValue;
          break;
        case KindOneofCase.BytesValue:
          BytesValue = other.BytesValue;
          break;
        case KindOneofCase.ListValue:
          ListValue = other.ListValue.Clone();
          break;
        case KindOneofCase.MapValue:
          MapValue = other.MapValue.Clone();
          break;
        case KindOneofCase.JsonValue:
          JsonValue = other.JsonValue;
          break;
      }

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

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

    /// <summary>Field number for the "null_value" field.</summary>
    public const int NullValueFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull NullValue {
      get { return kindCase_ == KindOneofCase.NullValue ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull) kind_ : null; }
      set {
        kind_ = value;
        kindCase_ = value == null ? KindOneofCase.None : KindOneofCase.NullValue;
      }
    }

    /// <summary>Field number for the "bool_value" field.</summary>
    public const int BoolValueFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool BoolValue {
      get { return HasBoolValue ? (bool) kind_ : false; }
      set {
        kind_ = value;
        kindCase_ = KindOneofCase.BoolValue;
      }
    }
    /// <summary>Gets whether the "bool_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasBoolValue {
      get { return kindCase_ == KindOneofCase.BoolValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "bool_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearBoolValue() {
      if (HasBoolValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "int32_value" field.</summary>
    public const int Int32ValueFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Int32Value {
      get { return HasInt32Value ? (int) kind_ : 0; }
      set {
        kind_ = value;
        kindCase_ = KindOneofCase.Int32Value;
      }
    }
    /// <summary>Gets whether the "int32_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasInt32Value {
      get { return kindCase_ == KindOneofCase.Int32Value; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "int32_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearInt32Value() {
      if (HasInt32Value) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "int64_value" field.</summary>
    public const int Int64ValueFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Int64Value {
      get { return HasInt64Value ? (long) kind_ : 0L; }
      set {
        kind_ = value;
        kindCase_ = KindOneofCase.Int64Value;
      }
    }
    /// <summary>Gets whether the "int64_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasInt64Value {
      get { return kindCase_ == KindOneofCase.Int64Value; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "int64_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearInt64Value() {
      if (HasInt64Value) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "double_value" field.</summary>
    public const int DoubleValueFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double DoubleValue {
      get { return HasDoubleValue ? (double) kind_ : 0D; }
      set {
        kind_ = value;
        kindCase_ = KindOneofCase.DoubleValue;
      }
    }
    /// <summary>Gets whether the "double_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasDoubleValue {
      get { return kindCase_ == KindOneofCase.DoubleValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "double_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearDoubleValue() {
      if (HasDoubleValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "float_value" field.</summary>
    public const int FloatValueFieldNumber = 6;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float FloatValue {
      get { return HasFloatValue ? (float) kind_ : 0F; }
      set {
        kind_ = value;
        kindCase_ = KindOneofCase.FloatValue;
      }
    }
    /// <summary>Gets whether the "float_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasFloatValue {
      get { return kindCase_ == KindOneofCase.FloatValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "float_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearFloatValue() {
      if (HasFloatValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "string_value" field.</summary>
    public const int StringValueFieldNumber = 7;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StringValue {
      get { return HasStringValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.StringValue;
      }
    }
    /// <summary>Gets whether the "string_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasStringValue {
      get { return kindCase_ == KindOneofCase.StringValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "string_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearStringValue() {
      if (HasStringValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "decimal_value" field.</summary>
    public const int DecimalValueFieldNumber = 8;
    /// <summary>
    /// invariant-culture round-trip
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DecimalValue {
      get { return HasDecimalValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.DecimalValue;
      }
    }
    /// <summary>Gets whether the "decimal_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasDecimalValue {
      get { return kindCase_ == KindOneofCase.DecimalValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "decimal_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearDecimalValue() {
      if (HasDecimalValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "date_time_value" field.</summary>
    public const int DateTimeValueFieldNumber = 9;
    /// <summary>
    /// DateTime, "O" (preserves Kind)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DateTimeValue {
      get { return HasDateTimeValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.DateTimeValue;
      }
    }
    /// <summary>Gets whether the "date_time_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasDateTimeValue {
      get { return kindCase_ == KindOneofCase.DateTimeValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "date_time_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearDateTimeValue() {
      if (HasDateTimeValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "date_time_offset_value" field.</summary>
    public const int DateTimeOffsetValueFieldNumber = 10;
    /// <summary>
    /// DateTimeOffset, "O" (preserves Offset)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DateTimeOffsetValue {
      get { return HasDateTimeOffsetValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.DateTimeOffsetValue;
      }
    }
    /// <summary>Gets whether the "date_time_offset_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasDateTimeOffsetValue {
      get { return kindCase_ == KindOneofCase.DateTimeOffsetValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "date_time_offset_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearDateTimeOffsetValue() {
      if (HasDateTimeOffsetValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "guid_value" field.</summary>
    public const int GuidValueFieldNumber = 11;
    /// <summary>
    /// "D"
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string GuidValue {
      get { return HasGuidValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.GuidValue;
      }
    }
    /// <summary>Gets whether the "guid_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasGuidValue {
      get { return kindCase_ == KindOneofCase.GuidValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "guid_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearGuidValue() {
      if (HasGuidValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "time_span_value" field.</summary>
    public const int TimeSpanValueFieldNumber = 12;
    /// <summary>
    /// "c" (constant/round-trip)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TimeSpanValue {
      get { return HasTimeSpanValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.TimeSpanValue;
      }
    }
    /// <summary>Gets whether the "time_span_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasTimeSpanValue {
      get { return kindCase_ == KindOneofCase.TimeSpanValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "time_span_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearTimeSpanValue() {
      if (HasTimeSpanValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "bytes_value" field.</summary>
    public const int BytesValueFieldNumber = 13;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString BytesValue {
      get { return HasBytesValue ? (pb::ByteString) kind_ : pb::ByteString.Empty; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.BytesValue;
      }
    }
    /// <summary>Gets whether the "bytes_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasBytesValue {
      get { return kindCase_ == KindOneofCase.BytesValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "bytes_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearBytesValue() {
      if (HasBytesValue) {
        ClearKind();
      }
    }

    /// <summary>Field number for the "list_value" field.</summary>
    public const int ListValueFieldNumber = 14;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList ListValue {
      get { return kindCase_ == KindOneofCase.ListValue ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList) kind_ : null; }
      set {
        kind_ = value;
        kindCase_ = value == null ? KindOneofCase.None : KindOneofCase.ListValue;
      }
    }

    /// <summary>Field number for the "map_value" field.</summary>
    public const int MapValueFieldNumber = 15;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap MapValue {
      get { return kindCase_ == KindOneofCase.MapValue ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap) kind_ : null; }
      set {
        kind_ = value;
        kindCase_ = value == null ? KindOneofCase.None : KindOneofCase.MapValue;
      }
    }

    /// <summary>Field number for the "json_value" field.</summary>
    public const int JsonValueFieldNumber = 16;
    /// <summary>
    /// fallback; decodes to JsonElement
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string JsonValue {
      get { return HasJsonValue ? (string) kind_ : ""; }
      set {
        kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        kindCase_ = KindOneofCase.JsonValue;
      }
    }
    /// <summary>Gets whether the "json_value" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasJsonValue {
      get { return kindCase_ == KindOneofCase.JsonValue; }
    }
    /// <summary> Clears the value of the oneof if it's currently set to "json_value" </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearJsonValue() {
      if (HasJsonValue) {
        ClearKind();
      }
    }

    private object kind_;
    /// <summary>Enum of possible cases for the "kind" oneof.</summary>
    public enum KindOneofCase {
      None = 0,
      NullValue = 1,
      BoolValue = 2,
      Int32Value = 3,
      Int64Value = 4,
      DoubleValue = 5,
      FloatValue = 6,
      StringValue = 7,
      DecimalValue = 8,
      DateTimeValue = 9,
      DateTimeOffsetValue = 10,
      GuidValue = 11,
      TimeSpanValue = 12,
      BytesValue = 13,
      ListValue = 14,
      MapValue = 15,
      JsonValue = 16,
    }
    private KindOneofCase kindCase_ = KindOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public KindOneofCase KindCase {
      get { return kindCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearKind() {
      kindCase_ = KindOneofCase.None;
      kind_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LooseValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(NullValue, other.NullValue)) return false;
      if (BoolValue != other.BoolValue) return false;
      if (Int32Value != other.Int32Value) return false;
      if (Int64Value != other.Int64Value) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DoubleValue, other.DoubleValue)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FloatValue, other.FloatValue)) return false;
      if (StringValue != other.StringValue) return false;
      if (DecimalValue != other.DecimalValue) return false;
      if (DateTimeValue != other.DateTimeValue) return false;
      if (DateTimeOffsetValue != other.DateTimeOffsetValue) return false;
      if (GuidValue != other.GuidValue) return false;
      if (TimeSpanValue != other.TimeSpanValue) return false;
      if (BytesValue != other.BytesValue) return false;
      if (!object.Equals(ListValue, other.ListValue)) return false;
      if (!object.Equals(MapValue, other.MapValue)) return false;
      if (JsonValue != other.JsonValue) return false;
      if (KindCase != other.KindCase) 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 (kindCase_ == KindOneofCase.NullValue) hash ^= NullValue.GetHashCode();
      if (HasBoolValue) hash ^= BoolValue.GetHashCode();
      if (HasInt32Value) hash ^= Int32Value.GetHashCode();
      if (HasInt64Value) hash ^= Int64Value.GetHashCode();
      if (HasDoubleValue) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DoubleValue);
      if (HasFloatValue) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FloatValue);
      if (HasStringValue) hash ^= StringValue.GetHashCode();
      if (HasDecimalValue) hash ^= DecimalValue.GetHashCode();
      if (HasDateTimeValue) hash ^= DateTimeValue.GetHashCode();
      if (HasDateTimeOffsetValue) hash ^= DateTimeOffsetValue.GetHashCode();
      if (HasGuidValue) hash ^= GuidValue.GetHashCode();
      if (HasTimeSpanValue) hash ^= TimeSpanValue.GetHashCode();
      if (HasBytesValue) hash ^= BytesValue.GetHashCode();
      if (kindCase_ == KindOneofCase.ListValue) hash ^= ListValue.GetHashCode();
      if (kindCase_ == KindOneofCase.MapValue) hash ^= MapValue.GetHashCode();
      if (HasJsonValue) hash ^= JsonValue.GetHashCode();
      hash ^= (int) kindCase_;
      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 (kindCase_ == KindOneofCase.NullValue) {
        output.WriteRawTag(10);
        output.WriteMessage(NullValue);
      }
      if (HasBoolValue) {
        output.WriteRawTag(16);
        output.WriteBool(BoolValue);
      }
      if (HasInt32Value) {
        output.WriteRawTag(24);
        output.WriteInt32(Int32Value);
      }
      if (HasInt64Value) {
        output.WriteRawTag(32);
        output.WriteInt64(Int64Value);
      }
      if (HasDoubleValue) {
        output.WriteRawTag(41);
        output.WriteDouble(DoubleValue);
      }
      if (HasFloatValue) {
        output.WriteRawTag(53);
        output.WriteFloat(FloatValue);
      }
      if (HasStringValue) {
        output.WriteRawTag(58);
        output.WriteString(StringValue);
      }
      if (HasDecimalValue) {
        output.WriteRawTag(66);
        output.WriteString(DecimalValue);
      }
      if (HasDateTimeValue) {
        output.WriteRawTag(74);
        output.WriteString(DateTimeValue);
      }
      if (HasDateTimeOffsetValue) {
        output.WriteRawTag(82);
        output.WriteString(DateTimeOffsetValue);
      }
      if (HasGuidValue) {
        output.WriteRawTag(90);
        output.WriteString(GuidValue);
      }
      if (HasTimeSpanValue) {
        output.WriteRawTag(98);
        output.WriteString(TimeSpanValue);
      }
      if (HasBytesValue) {
        output.WriteRawTag(106);
        output.WriteBytes(BytesValue);
      }
      if (kindCase_ == KindOneofCase.ListValue) {
        output.WriteRawTag(114);
        output.WriteMessage(ListValue);
      }
      if (kindCase_ == KindOneofCase.MapValue) {
        output.WriteRawTag(122);
        output.WriteMessage(MapValue);
      }
      if (HasJsonValue) {
        output.WriteRawTag(130, 1);
        output.WriteString(JsonValue);
      }
      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 (kindCase_ == KindOneofCase.NullValue) {
        output.WriteRawTag(10);
        output.WriteMessage(NullValue);
      }
      if (HasBoolValue) {
        output.WriteRawTag(16);
        output.WriteBool(BoolValue);
      }
      if (HasInt32Value) {
        output.WriteRawTag(24);
        output.WriteInt32(Int32Value);
      }
      if (HasInt64Value) {
        output.WriteRawTag(32);
        output.WriteInt64(Int64Value);
      }
      if (HasDoubleValue) {
        output.WriteRawTag(41);
        output.WriteDouble(DoubleValue);
      }
      if (HasFloatValue) {
        output.WriteRawTag(53);
        output.WriteFloat(FloatValue);
      }
      if (HasStringValue) {
        output.WriteRawTag(58);
        output.WriteString(StringValue);
      }
      if (HasDecimalValue) {
        output.WriteRawTag(66);
        output.WriteString(DecimalValue);
      }
      if (HasDateTimeValue) {
        output.WriteRawTag(74);
        output.WriteString(DateTimeValue);
      }
      if (HasDateTimeOffsetValue) {
        output.WriteRawTag(82);
        output.WriteString(DateTimeOffsetValue);
      }
      if (HasGuidValue) {
        output.WriteRawTag(90);
        output.WriteString(GuidValue);
      }
      if (HasTimeSpanValue) {
        output.WriteRawTag(98);
        output.WriteString(TimeSpanValue);
      }
      if (HasBytesValue) {
        output.WriteRawTag(106);
        output.WriteBytes(BytesValue);
      }
      if (kindCase_ == KindOneofCase.ListValue) {
        output.WriteRawTag(114);
        output.WriteMessage(ListValue);
      }
      if (kindCase_ == KindOneofCase.MapValue) {
        output.WriteRawTag(122);
        output.WriteMessage(MapValue);
      }
      if (HasJsonValue) {
        output.WriteRawTag(130, 1);
        output.WriteString(JsonValue);
      }
      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 (kindCase_ == KindOneofCase.NullValue) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NullValue);
      }
      if (HasBoolValue) {
        size += 1 + 1;
      }
      if (HasInt32Value) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Int32Value);
      }
      if (HasInt64Value) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Int64Value);
      }
      if (HasDoubleValue) {
        size += 1 + 8;
      }
      if (HasFloatValue) {
        size += 1 + 4;
      }
      if (HasStringValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue);
      }
      if (HasDecimalValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DecimalValue);
      }
      if (HasDateTimeValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DateTimeValue);
      }
      if (HasDateTimeOffsetValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DateTimeOffsetValue);
      }
      if (HasGuidValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(GuidValue);
      }
      if (HasTimeSpanValue) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TimeSpanValue);
      }
      if (HasBytesValue) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(BytesValue);
      }
      if (kindCase_ == KindOneofCase.ListValue) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ListValue);
      }
      if (kindCase_ == KindOneofCase.MapValue) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MapValue);
      }
      if (HasJsonValue) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(JsonValue);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LooseValue other) {
      if (other == null) {
        return;
      }
      switch (other.KindCase) {
        case KindOneofCase.NullValue:
          if (NullValue == null) {
            NullValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull();
          }
          NullValue.MergeFrom(other.NullValue);
          break;
        case KindOneofCase.BoolValue:
          BoolValue = other.BoolValue;
          break;
        case KindOneofCase.Int32Value:
          Int32Value = other.Int32Value;
          break;
        case KindOneofCase.Int64Value:
          Int64Value = other.Int64Value;
          break;
        case KindOneofCase.DoubleValue:
          DoubleValue = other.DoubleValue;
          break;
        case KindOneofCase.FloatValue:
          FloatValue = other.FloatValue;
          break;
        case KindOneofCase.StringValue:
          StringValue = other.StringValue;
          break;
        case KindOneofCase.DecimalValue:
          DecimalValue = other.DecimalValue;
          break;
        case KindOneofCase.DateTimeValue:
          DateTimeValue = other.DateTimeValue;
          break;
        case KindOneofCase.DateTimeOffsetValue:
          DateTimeOffsetValue = other.DateTimeOffsetValue;
          break;
        case KindOneofCase.GuidValue:
          GuidValue = other.GuidValue;
          break;
        case KindOneofCase.TimeSpanValue:
          TimeSpanValue = other.TimeSpanValue;
          break;
        case KindOneofCase.BytesValue:
          BytesValue = other.BytesValue;
          break;
        case KindOneofCase.ListValue:
          if (ListValue == null) {
            ListValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList();
          }
          ListValue.MergeFrom(other.ListValue);
          break;
        case KindOneofCase.MapValue:
          if (MapValue == null) {
            MapValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
          }
          MapValue.MergeFrom(other.MapValue);
          break;
        case KindOneofCase.JsonValue:
          JsonValue = other.JsonValue;
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull();
            if (kindCase_ == KindOneofCase.NullValue) {
              subBuilder.MergeFrom(NullValue);
            }
            input.ReadMessage(subBuilder);
            NullValue = subBuilder;
            break;
          }
          case 16: {
            BoolValue = input.ReadBool();
            break;
          }
          case 24: {
            Int32Value = input.ReadInt32();
            break;
          }
          case 32: {
            Int64Value = input.ReadInt64();
            break;
          }
          case 41: {
            DoubleValue = input.ReadDouble();
            break;
          }
          case 53: {
            FloatValue = input.ReadFloat();
            break;
          }
          case 58: {
            StringValue = input.ReadString();
            break;
          }
          case 66: {
            DecimalValue = input.ReadString();
            break;
          }
          case 74: {
            DateTimeValue = input.ReadString();
            break;
          }
          case 82: {
            DateTimeOffsetValue = input.ReadString();
            break;
          }
          case 90: {
            GuidValue = input.ReadString();
            break;
          }
          case 98: {
            TimeSpanValue = input.ReadString();
            break;
          }
          case 106: {
            BytesValue = input.ReadBytes();
            break;
          }
          case 114: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList();
            if (kindCase_ == KindOneofCase.ListValue) {
              subBuilder.MergeFrom(ListValue);
            }
            input.ReadMessage(subBuilder);
            ListValue = subBuilder;
            break;
          }
          case 122: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            if (kindCase_ == KindOneofCase.MapValue) {
              subBuilder.MergeFrom(MapValue);
            }
            input.ReadMessage(subBuilder);
            MapValue = subBuilder;
            break;
          }
          case 130: {
            JsonValue = 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 10: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull();
            if (kindCase_ == KindOneofCase.NullValue) {
              subBuilder.MergeFrom(NullValue);
            }
            input.ReadMessage(subBuilder);
            NullValue = subBuilder;
            break;
          }
          case 16: {
            BoolValue = input.ReadBool();
            break;
          }
          case 24: {
            Int32Value = input.ReadInt32();
            break;
          }
          case 32: {
            Int64Value = input.ReadInt64();
            break;
          }
          case 41: {
            DoubleValue = input.ReadDouble();
            break;
          }
          case 53: {
            FloatValue = input.ReadFloat();
            break;
          }
          case 58: {
            StringValue = input.ReadString();
            break;
          }
          case 66: {
            DecimalValue = input.ReadString();
            break;
          }
          case 74: {
            DateTimeValue = input.ReadString();
            break;
          }
          case 82: {
            DateTimeOffsetValue = input.ReadString();
            break;
          }
          case 90: {
            GuidValue = input.ReadString();
            break;
          }
          case 98: {
            TimeSpanValue = input.ReadString();
            break;
          }
          case 106: {
            BytesValue = input.ReadBytes();
            break;
          }
          case 114: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList();
            if (kindCase_ == KindOneofCase.ListValue) {
              subBuilder.MergeFrom(ListValue);
            }
            input.ReadMessage(subBuilder);
            ListValue = subBuilder;
            break;
          }
          case 122: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            if (kindCase_ == KindOneofCase.MapValue) {
              subBuilder.MergeFrom(MapValue);
            }
            input.ReadMessage(subBuilder);
            MapValue = subBuilder;
            break;
          }
          case 130: {
            JsonValue = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 RefreshDeploymentCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RefreshDeploymentCommandDto(RefreshDeploymentCommandDto other) : this() {
      deploymentId_ = other.deploymentId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      revisionHash_ = other.revisionHash_;
      deployedBy_ = other.deployedBy_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      centralFetchBaseUrl_ = other.centralFetchBaseUrl_;
      fetchToken_ = other.fetchToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "deployment_id" field.</summary>
    public const int DeploymentIdFieldNumber = 1;
    private string deploymentId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeploymentId {
      get { return deploymentId_; }
      set {
        deploymentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "revision_hash" field.</summary>
    public const int RevisionHashFieldNumber = 3;
    private string revisionHash_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RevisionHash {
      get { return revisionHash_; }
      set {
        revisionHash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "deployed_by" field.</summary>
    public const int DeployedByFieldNumber = 4;
    private string deployedBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeployedBy {
      get { return deployedBy_; }
      set {
        deployedBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "central_fetch_base_url" field.</summary>
    public const int CentralFetchBaseUrlFieldNumber = 6;
    private string centralFetchBaseUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CentralFetchBaseUrl {
      get { return centralFetchBaseUrl_; }
      set {
        centralFetchBaseUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "fetch_token" field.</summary>
    public const int FetchTokenFieldNumber = 7;
    private string fetchToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FetchToken {
      get { return fetchToken_; }
      set {
        fetchToken_ = 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 RefreshDeploymentCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RefreshDeploymentCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DeploymentId != other.DeploymentId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (RevisionHash != other.RevisionHash) return false;
      if (DeployedBy != other.DeployedBy) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (CentralFetchBaseUrl != other.CentralFetchBaseUrl) return false;
      if (FetchToken != other.FetchToken) 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 (DeploymentId.Length != 0) hash ^= DeploymentId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (RevisionHash.Length != 0) hash ^= RevisionHash.GetHashCode();
      if (DeployedBy.Length != 0) hash ^= DeployedBy.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (CentralFetchBaseUrl.Length != 0) hash ^= CentralFetchBaseUrl.GetHashCode();
      if (FetchToken.Length != 0) hash ^= FetchToken.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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (RevisionHash.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(RevisionHash);
      }
      if (DeployedBy.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DeployedBy);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (CentralFetchBaseUrl.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CentralFetchBaseUrl);
      }
      if (FetchToken.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(FetchToken);
      }
      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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (RevisionHash.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(RevisionHash);
      }
      if (DeployedBy.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DeployedBy);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (CentralFetchBaseUrl.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CentralFetchBaseUrl);
      }
      if (FetchToken.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(FetchToken);
      }
      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 (DeploymentId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (RevisionHash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RevisionHash);
      }
      if (DeployedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeployedBy);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (CentralFetchBaseUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CentralFetchBaseUrl);
      }
      if (FetchToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FetchToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RefreshDeploymentCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.DeploymentId.Length != 0) {
        DeploymentId = other.DeploymentId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.RevisionHash.Length != 0) {
        RevisionHash = other.RevisionHash;
      }
      if (other.DeployedBy.Length != 0) {
        DeployedBy = other.DeployedBy;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.CentralFetchBaseUrl.Length != 0) {
        CentralFetchBaseUrl = other.CentralFetchBaseUrl;
      }
      if (other.FetchToken.Length != 0) {
        FetchToken = other.FetchToken;
      }
      _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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            RevisionHash = input.ReadString();
            break;
          }
          case 34: {
            DeployedBy = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            CentralFetchBaseUrl = input.ReadString();
            break;
          }
          case 58: {
            FetchToken = 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 10: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            RevisionHash = input.ReadString();
            break;
          }
          case 34: {
            DeployedBy = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            CentralFetchBaseUrl = input.ReadString();
            break;
          }
          case 58: {
            FetchToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.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 EnableInstanceCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EnableInstanceCommandDto(EnableInstanceCommandDto other) : this() {
      commandId_ = other.commandId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "command_id" field.</summary>
    public const int CommandIdFieldNumber = 1;
    private string commandId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CommandId {
      get { return commandId_; }
      set {
        commandId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EnableInstanceCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CommandId != other.CommandId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CommandId.Length != 0) hash ^= CommandId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EnableInstanceCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.CommandId.Length != 0) {
        CommandId = other.CommandId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[6]; }
    }

    [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 DisableInstanceCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DisableInstanceCommandDto(DisableInstanceCommandDto other) : this() {
      commandId_ = other.commandId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "command_id" field.</summary>
    public const int CommandIdFieldNumber = 1;
    private string commandId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CommandId {
      get { return commandId_; }
      set {
        commandId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DisableInstanceCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CommandId != other.CommandId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CommandId.Length != 0) hash ^= CommandId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DisableInstanceCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.CommandId.Length != 0) {
        CommandId = other.CommandId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[7]; }
    }

    [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 DeleteInstanceCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteInstanceCommandDto(DeleteInstanceCommandDto other) : this() {
      commandId_ = other.commandId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "command_id" field.</summary>
    public const int CommandIdFieldNumber = 1;
    private string commandId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CommandId {
      get { return commandId_; }
      set {
        commandId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteInstanceCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CommandId != other.CommandId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CommandId.Length != 0) hash ^= CommandId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteInstanceCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.CommandId.Length != 0) {
        CommandId = other.CommandId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[8]; }
    }

    [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 DeploymentStateQueryRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeploymentStateQueryRequestDto(DeploymentStateQueryRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeploymentStateQueryRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeploymentStateQueryRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[9]; }
    }

    [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 SharedScriptArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SharedScriptArtifactDto(SharedScriptArtifactDto other) : this() {
      name_ = other.name_;
      code_ = other.code_;
      parameterDefinitions_ = other.parameterDefinitions_;
      returnDefinition_ = other.returnDefinition_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "code" field.</summary>
    public const int CodeFieldNumber = 2;
    private string code_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Code {
      get { return code_; }
      set {
        code_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "parameter_definitions" field.</summary>
    public const int ParameterDefinitionsFieldNumber = 3;
    private string parameterDefinitions_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParameterDefinitions {
      get { return parameterDefinitions_; }
      set {
        parameterDefinitions_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "return_definition" field.</summary>
    public const int ReturnDefinitionFieldNumber = 4;
    private string returnDefinition_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ReturnDefinition {
      get { return returnDefinition_; }
      set {
        returnDefinition_ = 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 SharedScriptArtifactDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SharedScriptArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Code != other.Code) return false;
      if (ParameterDefinitions != other.ParameterDefinitions) return false;
      if (ReturnDefinition != other.ReturnDefinition) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Code.Length != 0) hash ^= Code.GetHashCode();
      if (ParameterDefinitions.Length != 0) hash ^= ParameterDefinitions.GetHashCode();
      if (ReturnDefinition.Length != 0) hash ^= ReturnDefinition.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Code.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Code);
      }
      if (ParameterDefinitions.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ParameterDefinitions);
      }
      if (ReturnDefinition.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ReturnDefinition);
      }
      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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Code.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Code);
      }
      if (ParameterDefinitions.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ParameterDefinitions);
      }
      if (ReturnDefinition.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ReturnDefinition);
      }
      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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Code.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Code);
      }
      if (ParameterDefinitions.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParameterDefinitions);
      }
      if (ReturnDefinition.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ReturnDefinition);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SharedScriptArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Code.Length != 0) {
        Code = other.Code;
      }
      if (other.ParameterDefinitions.Length != 0) {
        ParameterDefinitions = other.ParameterDefinitions;
      }
      if (other.ReturnDefinition.Length != 0) {
        ReturnDefinition = other.ReturnDefinition;
      }
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Code = input.ReadString();
            break;
          }
          case 26: {
            ParameterDefinitions = input.ReadString();
            break;
          }
          case 34: {
            ReturnDefinition = 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 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Code = input.ReadString();
            break;
          }
          case 26: {
            ParameterDefinitions = input.ReadString();
            break;
          }
          case 34: {
            ReturnDefinition = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[10]; }
    }

    [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 ExternalSystemArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ExternalSystemArtifactDto(ExternalSystemArtifactDto other) : this() {
      name_ = other.name_;
      endpointUrl_ = other.endpointUrl_;
      authType_ = other.authType_;
      authConfiguration_ = other.authConfiguration_;
      methodDefinitionsJson_ = other.methodDefinitionsJson_;
      timeoutSeconds_ = other.timeoutSeconds_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "endpoint_url" field.</summary>
    public const int EndpointUrlFieldNumber = 2;
    private string endpointUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndpointUrl {
      get { return endpointUrl_; }
      set {
        endpointUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "auth_type" field.</summary>
    public const int AuthTypeFieldNumber = 3;
    private string authType_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AuthType {
      get { return authType_; }
      set {
        authType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "auth_configuration" field.</summary>
    public const int AuthConfigurationFieldNumber = 4;
    private string authConfiguration_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AuthConfiguration {
      get { return authConfiguration_; }
      set {
        authConfiguration_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "method_definitions_json" field.</summary>
    public const int MethodDefinitionsJsonFieldNumber = 5;
    private string methodDefinitionsJson_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MethodDefinitionsJson {
      get { return methodDefinitionsJson_; }
      set {
        methodDefinitionsJson_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timeout_seconds" field.</summary>
    public const int TimeoutSecondsFieldNumber = 6;
    private int timeoutSeconds_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeoutSeconds {
      get { return timeoutSeconds_; }
      set {
        timeoutSeconds_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ExternalSystemArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (EndpointUrl != other.EndpointUrl) return false;
      if (AuthType != other.AuthType) return false;
      if (AuthConfiguration != other.AuthConfiguration) return false;
      if (MethodDefinitionsJson != other.MethodDefinitionsJson) return false;
      if (TimeoutSeconds != other.TimeoutSeconds) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (EndpointUrl.Length != 0) hash ^= EndpointUrl.GetHashCode();
      if (AuthType.Length != 0) hash ^= AuthType.GetHashCode();
      if (AuthConfiguration.Length != 0) hash ^= AuthConfiguration.GetHashCode();
      if (MethodDefinitionsJson.Length != 0) hash ^= MethodDefinitionsJson.GetHashCode();
      if (TimeoutSeconds != 0) hash ^= TimeoutSeconds.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (EndpointUrl.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EndpointUrl);
      }
      if (AuthType.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AuthType);
      }
      if (AuthConfiguration.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AuthConfiguration);
      }
      if (MethodDefinitionsJson.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MethodDefinitionsJson);
      }
      if (TimeoutSeconds != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TimeoutSeconds);
      }
      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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (EndpointUrl.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EndpointUrl);
      }
      if (AuthType.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AuthType);
      }
      if (AuthConfiguration.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AuthConfiguration);
      }
      if (MethodDefinitionsJson.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MethodDefinitionsJson);
      }
      if (TimeoutSeconds != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TimeoutSeconds);
      }
      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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (EndpointUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndpointUrl);
      }
      if (AuthType.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AuthType);
      }
      if (AuthConfiguration.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AuthConfiguration);
      }
      if (MethodDefinitionsJson.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MethodDefinitionsJson);
      }
      if (TimeoutSeconds != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeoutSeconds);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ExternalSystemArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.EndpointUrl.Length != 0) {
        EndpointUrl = other.EndpointUrl;
      }
      if (other.AuthType.Length != 0) {
        AuthType = other.AuthType;
      }
      if (other.AuthConfiguration.Length != 0) {
        AuthConfiguration = other.AuthConfiguration;
      }
      if (other.MethodDefinitionsJson.Length != 0) {
        MethodDefinitionsJson = other.MethodDefinitionsJson;
      }
      if (other.TimeoutSeconds != 0) {
        TimeoutSeconds = other.TimeoutSeconds;
      }
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            EndpointUrl = input.ReadString();
            break;
          }
          case 26: {
            AuthType = input.ReadString();
            break;
          }
          case 34: {
            AuthConfiguration = input.ReadString();
            break;
          }
          case 42: {
            MethodDefinitionsJson = input.ReadString();
            break;
          }
          case 48: {
            TimeoutSeconds = 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 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            EndpointUrl = input.ReadString();
            break;
          }
          case 26: {
            AuthType = input.ReadString();
            break;
          }
          case 34: {
            AuthConfiguration = input.ReadString();
            break;
          }
          case 42: {
            MethodDefinitionsJson = input.ReadString();
            break;
          }
          case 48: {
            TimeoutSeconds = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[11]; }
    }

    [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 DatabaseConnectionArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatabaseConnectionArtifactDto(DatabaseConnectionArtifactDto other) : this() {
      name_ = other.name_;
      connectionString_ = other.connectionString_;
      maxRetries_ = other.maxRetries_;
      retryDelay_ = other.retryDelay_ != null ? other.retryDelay_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "connection_string" field.</summary>
    public const int ConnectionStringFieldNumber = 2;
    private string connectionString_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionString {
      get { return connectionString_; }
      set {
        connectionString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "max_retries" field.</summary>
    public const int MaxRetriesFieldNumber = 3;
    private int maxRetries_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxRetries {
      get { return maxRetries_; }
      set {
        maxRetries_ = value;
      }
    }

    /// <summary>Field number for the "retry_delay" field.</summary>
    public const int RetryDelayFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Duration retryDelay_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration RetryDelay {
      get { return retryDelay_; }
      set {
        retryDelay_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DatabaseConnectionArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (ConnectionString != other.ConnectionString) return false;
      if (MaxRetries != other.MaxRetries) return false;
      if (!object.Equals(RetryDelay, other.RetryDelay)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (ConnectionString.Length != 0) hash ^= ConnectionString.GetHashCode();
      if (MaxRetries != 0) hash ^= MaxRetries.GetHashCode();
      if (retryDelay_ != null) hash ^= RetryDelay.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionString);
      }
      if (MaxRetries != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxRetries);
      }
      if (retryDelay_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(RetryDelay);
      }
      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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionString);
      }
      if (MaxRetries != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxRetries);
      }
      if (retryDelay_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(RetryDelay);
      }
      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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (ConnectionString.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionString);
      }
      if (MaxRetries != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxRetries);
      }
      if (retryDelay_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RetryDelay);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DatabaseConnectionArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.ConnectionString.Length != 0) {
        ConnectionString = other.ConnectionString;
      }
      if (other.MaxRetries != 0) {
        MaxRetries = other.MaxRetries;
      }
      if (other.retryDelay_ != null) {
        if (retryDelay_ == null) {
          RetryDelay = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        RetryDelay.MergeFrom(other.RetryDelay);
      }
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            ConnectionString = input.ReadString();
            break;
          }
          case 24: {
            MaxRetries = input.ReadInt32();
            break;
          }
          case 34: {
            if (retryDelay_ == null) {
              RetryDelay = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(RetryDelay);
            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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            ConnectionString = input.ReadString();
            break;
          }
          case 24: {
            MaxRetries = input.ReadInt32();
            break;
          }
          case 34: {
            if (retryDelay_ == null) {
              RetryDelay = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(RetryDelay);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[12]; }
    }

    [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 NotificationListArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "recipient_emails" field.</summary>
    public const int RecipientEmailsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_recipientEmails_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> recipientEmails_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> RecipientEmails {
      get { return recipientEmails_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NotificationListArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if(!recipientEmails_.Equals(other.recipientEmails_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      hash ^= recipientEmails_.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      recipientEmails_.WriteTo(output, _repeated_recipientEmails_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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      recipientEmails_.WriteTo(ref output, _repeated_recipientEmails_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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      size += recipientEmails_.CalculateSize(_repeated_recipientEmails_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NotificationListArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      recipientEmails_.Add(other.recipientEmails_);
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            recipientEmails_.AddEntriesFrom(input, _repeated_recipientEmails_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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            recipientEmails_.AddEntriesFrom(ref input, _repeated_recipientEmails_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[13]; }
    }

    [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 DataConnectionArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DataConnectionArtifactDto(DataConnectionArtifactDto other) : this() {
      name_ = other.name_;
      protocol_ = other.protocol_;
      primaryConfigurationJson_ = other.primaryConfigurationJson_;
      backupConfigurationJson_ = other.backupConfigurationJson_;
      failoverRetryCount_ = other.failoverRetryCount_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "protocol" field.</summary>
    public const int ProtocolFieldNumber = 2;
    private string protocol_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Protocol {
      get { return protocol_; }
      set {
        protocol_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "primary_configuration_json" field.</summary>
    public const int PrimaryConfigurationJsonFieldNumber = 3;
    private string primaryConfigurationJson_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PrimaryConfigurationJson {
      get { return primaryConfigurationJson_; }
      set {
        primaryConfigurationJson_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "backup_configuration_json" field.</summary>
    public const int BackupConfigurationJsonFieldNumber = 4;
    private string backupConfigurationJson_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BackupConfigurationJson {
      get { return backupConfigurationJson_; }
      set {
        backupConfigurationJson_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "failover_retry_count" field.</summary>
    public const int FailoverRetryCountFieldNumber = 5;
    private int failoverRetryCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FailoverRetryCount {
      get { return failoverRetryCount_; }
      set {
        failoverRetryCount_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DataConnectionArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Protocol != other.Protocol) return false;
      if (PrimaryConfigurationJson != other.PrimaryConfigurationJson) return false;
      if (BackupConfigurationJson != other.BackupConfigurationJson) return false;
      if (FailoverRetryCount != other.FailoverRetryCount) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Protocol.Length != 0) hash ^= Protocol.GetHashCode();
      if (PrimaryConfigurationJson.Length != 0) hash ^= PrimaryConfigurationJson.GetHashCode();
      if (BackupConfigurationJson.Length != 0) hash ^= BackupConfigurationJson.GetHashCode();
      if (FailoverRetryCount != 0) hash ^= FailoverRetryCount.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Protocol.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Protocol);
      }
      if (PrimaryConfigurationJson.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PrimaryConfigurationJson);
      }
      if (BackupConfigurationJson.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BackupConfigurationJson);
      }
      if (FailoverRetryCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FailoverRetryCount);
      }
      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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Protocol.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Protocol);
      }
      if (PrimaryConfigurationJson.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PrimaryConfigurationJson);
      }
      if (BackupConfigurationJson.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BackupConfigurationJson);
      }
      if (FailoverRetryCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FailoverRetryCount);
      }
      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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Protocol.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Protocol);
      }
      if (PrimaryConfigurationJson.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PrimaryConfigurationJson);
      }
      if (BackupConfigurationJson.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BackupConfigurationJson);
      }
      if (FailoverRetryCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FailoverRetryCount);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DataConnectionArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Protocol.Length != 0) {
        Protocol = other.Protocol;
      }
      if (other.PrimaryConfigurationJson.Length != 0) {
        PrimaryConfigurationJson = other.PrimaryConfigurationJson;
      }
      if (other.BackupConfigurationJson.Length != 0) {
        BackupConfigurationJson = other.BackupConfigurationJson;
      }
      if (other.FailoverRetryCount != 0) {
        FailoverRetryCount = other.FailoverRetryCount;
      }
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Protocol = input.ReadString();
            break;
          }
          case 26: {
            PrimaryConfigurationJson = input.ReadString();
            break;
          }
          case 34: {
            BackupConfigurationJson = input.ReadString();
            break;
          }
          case 40: {
            FailoverRetryCount = 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 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Protocol = input.ReadString();
            break;
          }
          case 26: {
            PrimaryConfigurationJson = input.ReadString();
            break;
          }
          case 34: {
            BackupConfigurationJson = input.ReadString();
            break;
          }
          case 40: {
            FailoverRetryCount = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[14]; }
    }

    [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 SmtpConfigurationArtifactDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SmtpConfigurationArtifactDto(SmtpConfigurationArtifactDto other) : this() {
      name_ = other.name_;
      server_ = other.server_;
      port_ = other.port_;
      authMode_ = other.authMode_;
      fromAddress_ = other.fromAddress_;
      username_ = other.username_;
      password_ = other.password_;
      oauthConfig_ = other.oauthConfig_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "server" field.</summary>
    public const int ServerFieldNumber = 2;
    private string server_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Server {
      get { return server_; }
      set {
        server_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "port" field.</summary>
    public const int PortFieldNumber = 3;
    private int port_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Port {
      get { return port_; }
      set {
        port_ = value;
      }
    }

    /// <summary>Field number for the "auth_mode" field.</summary>
    public const int AuthModeFieldNumber = 4;
    private string authMode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AuthMode {
      get { return authMode_; }
      set {
        authMode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "from_address" field.</summary>
    public const int FromAddressFieldNumber = 5;
    private string fromAddress_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FromAddress {
      get { return fromAddress_; }
      set {
        fromAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "username" field.</summary>
    public const int UsernameFieldNumber = 6;
    private string username_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Username {
      get { return username_; }
      set {
        username_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "password" field.</summary>
    public const int PasswordFieldNumber = 7;
    private string password_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Password {
      get { return password_; }
      set {
        password_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "oauth_config" field.</summary>
    public const int OauthConfigFieldNumber = 8;
    private string oauthConfig_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OauthConfig {
      get { return oauthConfig_; }
      set {
        oauthConfig_ = 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 SmtpConfigurationArtifactDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SmtpConfigurationArtifactDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Server != other.Server) return false;
      if (Port != other.Port) return false;
      if (AuthMode != other.AuthMode) return false;
      if (FromAddress != other.FromAddress) return false;
      if (Username != other.Username) return false;
      if (Password != other.Password) return false;
      if (OauthConfig != other.OauthConfig) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Server.Length != 0) hash ^= Server.GetHashCode();
      if (Port != 0) hash ^= Port.GetHashCode();
      if (AuthMode.Length != 0) hash ^= AuthMode.GetHashCode();
      if (FromAddress.Length != 0) hash ^= FromAddress.GetHashCode();
      if (Username.Length != 0) hash ^= Username.GetHashCode();
      if (Password.Length != 0) hash ^= Password.GetHashCode();
      if (OauthConfig.Length != 0) hash ^= OauthConfig.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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Server.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Server);
      }
      if (Port != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Port);
      }
      if (AuthMode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AuthMode);
      }
      if (FromAddress.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FromAddress);
      }
      if (Username.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Username);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Password);
      }
      if (OauthConfig.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(OauthConfig);
      }
      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 (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Server.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Server);
      }
      if (Port != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Port);
      }
      if (AuthMode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AuthMode);
      }
      if (FromAddress.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FromAddress);
      }
      if (Username.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Username);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Password);
      }
      if (OauthConfig.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(OauthConfig);
      }
      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 (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Server.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Server);
      }
      if (Port != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Port);
      }
      if (AuthMode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AuthMode);
      }
      if (FromAddress.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FromAddress);
      }
      if (Username.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Username);
      }
      if (Password.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Password);
      }
      if (OauthConfig.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OauthConfig);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SmtpConfigurationArtifactDto other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Server.Length != 0) {
        Server = other.Server;
      }
      if (other.Port != 0) {
        Port = other.Port;
      }
      if (other.AuthMode.Length != 0) {
        AuthMode = other.AuthMode;
      }
      if (other.FromAddress.Length != 0) {
        FromAddress = other.FromAddress;
      }
      if (other.Username.Length != 0) {
        Username = other.Username;
      }
      if (other.Password.Length != 0) {
        Password = other.Password;
      }
      if (other.OauthConfig.Length != 0) {
        OauthConfig = other.OauthConfig;
      }
      _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: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Server = input.ReadString();
            break;
          }
          case 24: {
            Port = input.ReadInt32();
            break;
          }
          case 34: {
            AuthMode = input.ReadString();
            break;
          }
          case 42: {
            FromAddress = input.ReadString();
            break;
          }
          case 50: {
            Username = input.ReadString();
            break;
          }
          case 58: {
            Password = input.ReadString();
            break;
          }
          case 66: {
            OauthConfig = 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 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Server = input.ReadString();
            break;
          }
          case 24: {
            Port = input.ReadInt32();
            break;
          }
          case 34: {
            AuthMode = input.ReadString();
            break;
          }
          case 42: {
            FromAddress = input.ReadString();
            break;
          }
          case 50: {
            Username = input.ReadString();
            break;
          }
          case 58: {
            Password = input.ReadString();
            break;
          }
          case 66: {
            OauthConfig = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// Each artifact collection on DeployArtifactsCommand is a NULLABLE list, and
  /// proto3 `repeated` cannot distinguish null from empty. Wrapping each in its
  /// own message makes the null/empty distinction a message-presence question,
  /// which proto3 does model — the same silent-data-loss class the transport
  /// round-trip guard caught in PLAN-05 T8.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SharedScriptArtifactListDto : pb::IMessage<SharedScriptArtifactListDto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SharedScriptArtifactListDto> _parser = new pb::MessageParser<SharedScriptArtifactListDto>(() => new SharedScriptArtifactListDto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SharedScriptArtifactListDto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[15]; }
    }

    [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 SharedScriptArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SharedScriptArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SharedScriptArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[16]; }
    }

    [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 ExternalSystemArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ExternalSystemArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ExternalSystemArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[17]; }
    }

    [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 DatabaseConnectionArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DatabaseConnectionArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DatabaseConnectionArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[18]; }
    }

    [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 NotificationListArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NotificationListArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NotificationListArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[19]; }
    }

    [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 DataConnectionArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DataConnectionArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DataConnectionArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[20]; }
    }

    [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 SmtpConfigurationArtifactListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SmtpConfigurationArtifactListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SmtpConfigurationArtifactListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[21]; }
    }

    [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 DeployArtifactsCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeployArtifactsCommandDto(DeployArtifactsCommandDto other) : this() {
      deploymentId_ = other.deploymentId_;
      sharedScripts_ = other.sharedScripts_ != null ? other.sharedScripts_.Clone() : null;
      externalSystems_ = other.externalSystems_ != null ? other.externalSystems_.Clone() : null;
      databaseConnections_ = other.databaseConnections_ != null ? other.databaseConnections_.Clone() : null;
      notificationLists_ = other.notificationLists_ != null ? other.notificationLists_.Clone() : null;
      dataConnections_ = other.dataConnections_ != null ? other.dataConnections_.Clone() : null;
      smtpConfigurations_ = other.smtpConfigurations_ != null ? other.smtpConfigurations_.Clone() : null;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "deployment_id" field.</summary>
    public const int DeploymentIdFieldNumber = 1;
    private string deploymentId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeploymentId {
      get { return deploymentId_; }
      set {
        deploymentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "shared_scripts" field.</summary>
    public const int SharedScriptsFieldNumber = 2;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto sharedScripts_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto SharedScripts {
      get { return sharedScripts_; }
      set {
        sharedScripts_ = value;
      }
    }

    /// <summary>Field number for the "external_systems" field.</summary>
    public const int ExternalSystemsFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto externalSystems_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto ExternalSystems {
      get { return externalSystems_; }
      set {
        externalSystems_ = value;
      }
    }

    /// <summary>Field number for the "database_connections" field.</summary>
    public const int DatabaseConnectionsFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto databaseConnections_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto DatabaseConnections {
      get { return databaseConnections_; }
      set {
        databaseConnections_ = value;
      }
    }

    /// <summary>Field number for the "notification_lists" field.</summary>
    public const int NotificationListsFieldNumber = 5;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto notificationLists_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto NotificationLists {
      get { return notificationLists_; }
      set {
        notificationLists_ = value;
      }
    }

    /// <summary>Field number for the "data_connections" field.</summary>
    public const int DataConnectionsFieldNumber = 6;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto dataConnections_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto DataConnections {
      get { return dataConnections_; }
      set {
        dataConnections_ = value;
      }
    }

    /// <summary>Field number for the "smtp_configurations" field.</summary>
    public const int SmtpConfigurationsFieldNumber = 7;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto smtpConfigurations_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto SmtpConfigurations {
      get { return smtpConfigurations_; }
      set {
        smtpConfigurations_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 8;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeployArtifactsCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DeploymentId != other.DeploymentId) return false;
      if (!object.Equals(SharedScripts, other.SharedScripts)) return false;
      if (!object.Equals(ExternalSystems, other.ExternalSystems)) return false;
      if (!object.Equals(DatabaseConnections, other.DatabaseConnections)) return false;
      if (!object.Equals(NotificationLists, other.NotificationLists)) return false;
      if (!object.Equals(DataConnections, other.DataConnections)) return false;
      if (!object.Equals(SmtpConfigurations, other.SmtpConfigurations)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (DeploymentId.Length != 0) hash ^= DeploymentId.GetHashCode();
      if (sharedScripts_ != null) hash ^= SharedScripts.GetHashCode();
      if (externalSystems_ != null) hash ^= ExternalSystems.GetHashCode();
      if (databaseConnections_ != null) hash ^= DatabaseConnections.GetHashCode();
      if (notificationLists_ != null) hash ^= NotificationLists.GetHashCode();
      if (dataConnections_ != null) hash ^= DataConnections.GetHashCode();
      if (smtpConfigurations_ != null) hash ^= SmtpConfigurations.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (sharedScripts_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SharedScripts);
      }
      if (externalSystems_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ExternalSystems);
      }
      if (databaseConnections_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DatabaseConnections);
      }
      if (notificationLists_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotificationLists);
      }
      if (dataConnections_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DataConnections);
      }
      if (smtpConfigurations_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(SmtpConfigurations);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (sharedScripts_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SharedScripts);
      }
      if (externalSystems_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ExternalSystems);
      }
      if (databaseConnections_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DatabaseConnections);
      }
      if (notificationLists_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotificationLists);
      }
      if (dataConnections_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DataConnections);
      }
      if (smtpConfigurations_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(SmtpConfigurations);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeploymentId);
      }
      if (sharedScripts_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SharedScripts);
      }
      if (externalSystems_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExternalSystems);
      }
      if (databaseConnections_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DatabaseConnections);
      }
      if (notificationLists_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NotificationLists);
      }
      if (dataConnections_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DataConnections);
      }
      if (smtpConfigurations_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SmtpConfigurations);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeployArtifactsCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.DeploymentId.Length != 0) {
        DeploymentId = other.DeploymentId;
      }
      if (other.sharedScripts_ != null) {
        if (sharedScripts_ == null) {
          SharedScripts = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto();
        }
        SharedScripts.MergeFrom(other.SharedScripts);
      }
      if (other.externalSystems_ != null) {
        if (externalSystems_ == null) {
          ExternalSystems = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto();
        }
        ExternalSystems.MergeFrom(other.ExternalSystems);
      }
      if (other.databaseConnections_ != null) {
        if (databaseConnections_ == null) {
          DatabaseConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto();
        }
        DatabaseConnections.MergeFrom(other.DatabaseConnections);
      }
      if (other.notificationLists_ != null) {
        if (notificationLists_ == null) {
          NotificationLists = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto();
        }
        NotificationLists.MergeFrom(other.NotificationLists);
      }
      if (other.dataConnections_ != null) {
        if (dataConnections_ == null) {
          DataConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto();
        }
        DataConnections.MergeFrom(other.DataConnections);
      }
      if (other.smtpConfigurations_ != null) {
        if (smtpConfigurations_ == null) {
          SmtpConfigurations = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto();
        }
        SmtpConfigurations.MergeFrom(other.SmtpConfigurations);
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            if (sharedScripts_ == null) {
              SharedScripts = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto();
            }
            input.ReadMessage(SharedScripts);
            break;
          }
          case 26: {
            if (externalSystems_ == null) {
              ExternalSystems = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto();
            }
            input.ReadMessage(ExternalSystems);
            break;
          }
          case 34: {
            if (databaseConnections_ == null) {
              DatabaseConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto();
            }
            input.ReadMessage(DatabaseConnections);
            break;
          }
          case 42: {
            if (notificationLists_ == null) {
              NotificationLists = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto();
            }
            input.ReadMessage(NotificationLists);
            break;
          }
          case 50: {
            if (dataConnections_ == null) {
              DataConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto();
            }
            input.ReadMessage(DataConnections);
            break;
          }
          case 58: {
            if (smtpConfigurations_ == null) {
              SmtpConfigurations = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto();
            }
            input.ReadMessage(SmtpConfigurations);
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            if (sharedScripts_ == null) {
              SharedScripts = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SharedScriptArtifactListDto();
            }
            input.ReadMessage(SharedScripts);
            break;
          }
          case 26: {
            if (externalSystems_ == null) {
              ExternalSystems = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ExternalSystemArtifactListDto();
            }
            input.ReadMessage(ExternalSystems);
            break;
          }
          case 34: {
            if (databaseConnections_ == null) {
              DatabaseConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DatabaseConnectionArtifactListDto();
            }
            input.ReadMessage(DatabaseConnections);
            break;
          }
          case 42: {
            if (notificationLists_ == null) {
              NotificationLists = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.NotificationListArtifactListDto();
            }
            input.ReadMessage(NotificationLists);
            break;
          }
          case 50: {
            if (dataConnections_ == null) {
              DataConnections = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DataConnectionArtifactListDto();
            }
            input.ReadMessage(DataConnections);
            break;
          }
          case 58: {
            if (smtpConfigurations_ == null) {
              SmtpConfigurations = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SmtpConfigurationArtifactListDto();
            }
            input.ReadMessage(SmtpConfigurations);
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[22]; }
    }

    [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 DeploymentStatusResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeploymentStatusResponseDto(DeploymentStatusResponseDto other) : this() {
      deploymentId_ = other.deploymentId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      status_ = other.status_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "deployment_id" field.</summary>
    public const int DeploymentIdFieldNumber = 1;
    private string deploymentId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeploymentId {
      get { return deploymentId_; }
      set {
        deploymentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "status" field.</summary>
    public const int StatusFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto status_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto Status {
      get { return status_; }
      set {
        status_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeploymentStatusResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DeploymentId != other.DeploymentId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (Status != other.Status) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (DeploymentId.Length != 0) hash ^= DeploymentId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (Status != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified) hash ^= Status.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (Status != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) Status);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (Status != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) Status);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeploymentId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (Status != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeploymentStatusResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.DeploymentId.Length != 0) {
        DeploymentId = other.DeploymentId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.Status != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto.Unspecified) {
        Status = other.Status;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            Status = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto) input.ReadEnum();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            Status = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto) input.ReadEnum();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[23]; }
    }

    [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 InstanceLifecycleResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InstanceLifecycleResponseDto(InstanceLifecycleResponseDto other) : this() {
      commandId_ = other.commandId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "command_id" field.</summary>
    public const int CommandIdFieldNumber = 1;
    private string commandId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CommandId {
      get { return commandId_; }
      set {
        commandId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 3;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InstanceLifecycleResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CommandId != other.CommandId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CommandId.Length != 0) hash ^= CommandId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CommandId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CommandId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InstanceLifecycleResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CommandId.Length != 0) {
        CommandId = other.CommandId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CommandId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[24]; }
    }

    [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 DeploymentStateQueryResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeploymentStateQueryResponseDto(DeploymentStateQueryResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      isDeployed_ = other.isDeployed_;
      appliedDeploymentId_ = other.appliedDeploymentId_;
      appliedRevisionHash_ = other.appliedRevisionHash_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "is_deployed" field.</summary>
    public const int IsDeployedFieldNumber = 3;
    private bool isDeployed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsDeployed {
      get { return isDeployed_; }
      set {
        isDeployed_ = value;
      }
    }

    /// <summary>Field number for the "applied_deployment_id" field.</summary>
    public const int AppliedDeploymentIdFieldNumber = 4;
    private string appliedDeploymentId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AppliedDeploymentId {
      get { return appliedDeploymentId_; }
      set {
        appliedDeploymentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "applied_revision_hash" field.</summary>
    public const int AppliedRevisionHashFieldNumber = 5;
    private string appliedRevisionHash_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AppliedRevisionHash {
      get { return appliedRevisionHash_; }
      set {
        appliedRevisionHash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeploymentStateQueryResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (IsDeployed != other.IsDeployed) return false;
      if (AppliedDeploymentId != other.AppliedDeploymentId) return false;
      if (AppliedRevisionHash != other.AppliedRevisionHash) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (IsDeployed != false) hash ^= IsDeployed.GetHashCode();
      if (AppliedDeploymentId.Length != 0) hash ^= AppliedDeploymentId.GetHashCode();
      if (AppliedRevisionHash.Length != 0) hash ^= AppliedRevisionHash.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (IsDeployed != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsDeployed);
      }
      if (AppliedDeploymentId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AppliedDeploymentId);
      }
      if (AppliedRevisionHash.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AppliedRevisionHash);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (IsDeployed != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsDeployed);
      }
      if (AppliedDeploymentId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AppliedDeploymentId);
      }
      if (AppliedRevisionHash.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AppliedRevisionHash);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (IsDeployed != false) {
        size += 1 + 1;
      }
      if (AppliedDeploymentId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AppliedDeploymentId);
      }
      if (AppliedRevisionHash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AppliedRevisionHash);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeploymentStateQueryResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.IsDeployed != false) {
        IsDeployed = other.IsDeployed;
      }
      if (other.AppliedDeploymentId.Length != 0) {
        AppliedDeploymentId = other.AppliedDeploymentId;
      }
      if (other.AppliedRevisionHash.Length != 0) {
        AppliedRevisionHash = other.AppliedRevisionHash;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            IsDeployed = input.ReadBool();
            break;
          }
          case 34: {
            AppliedDeploymentId = input.ReadString();
            break;
          }
          case 42: {
            AppliedRevisionHash = input.ReadString();
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 24: {
            IsDeployed = input.ReadBool();
            break;
          }
          case 34: {
            AppliedDeploymentId = input.ReadString();
            break;
          }
          case 42: {
            AppliedRevisionHash = input.ReadString();
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[25]; }
    }

    [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 ArtifactDeploymentResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ArtifactDeploymentResponseDto(ArtifactDeploymentResponseDto other) : this() {
      deploymentId_ = other.deploymentId_;
      siteId_ = other.siteId_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "deployment_id" field.</summary>
    public const int DeploymentIdFieldNumber = 1;
    private string deploymentId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeploymentId {
      get { return deploymentId_; }
      set {
        deploymentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 3;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ArtifactDeploymentResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DeploymentId != other.DeploymentId) return false;
      if (SiteId != other.SiteId) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (DeploymentId.Length != 0) hash ^= DeploymentId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(DeploymentId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (DeploymentId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeploymentId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ArtifactDeploymentResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.DeploymentId.Length != 0) {
        DeploymentId = other.DeploymentId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            DeploymentId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[26]; }
    }

    [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 LifecycleRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LifecycleRequest(LifecycleRequest other) : this() {
      switch (other.CommandCase) {
        case CommandOneofCase.RefreshDeployment:
          RefreshDeployment = other.RefreshDeployment.Clone();
          break;
        case CommandOneofCase.EnableInstance:
          EnableInstance = other.EnableInstance.Clone();
          break;
        case CommandOneofCase.DisableInstance:
          DisableInstance = other.DisableInstance.Clone();
          break;
        case CommandOneofCase.DeleteInstance:
          DeleteInstance = other.DeleteInstance.Clone();
          break;
        case CommandOneofCase.DeploymentStateQuery:
          DeploymentStateQuery = other.DeploymentStateQuery.Clone();
          break;
        case CommandOneofCase.DeployArtifacts:
          DeployArtifacts = other.DeployArtifacts.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "refresh_deployment" field.</summary>
    public const int RefreshDeploymentFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto RefreshDeployment {
      get { return commandCase_ == CommandOneofCase.RefreshDeployment ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RefreshDeployment;
      }
    }

    /// <summary>Field number for the "enable_instance" field.</summary>
    public const int EnableInstanceFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto EnableInstance {
      get { return commandCase_ == CommandOneofCase.EnableInstance ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.EnableInstance;
      }
    }

    /// <summary>Field number for the "disable_instance" field.</summary>
    public const int DisableInstanceFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto DisableInstance {
      get { return commandCase_ == CommandOneofCase.DisableInstance ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DisableInstance;
      }
    }

    /// <summary>Field number for the "delete_instance" field.</summary>
    public const int DeleteInstanceFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto DeleteInstance {
      get { return commandCase_ == CommandOneofCase.DeleteInstance ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DeleteInstance;
      }
    }

    /// <summary>Field number for the "deployment_state_query" field.</summary>
    public const int DeploymentStateQueryFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto DeploymentStateQuery {
      get { return commandCase_ == CommandOneofCase.DeploymentStateQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DeploymentStateQuery;
      }
    }

    /// <summary>Field number for the "deploy_artifacts" field.</summary>
    public const int DeployArtifactsFieldNumber = 6;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto DeployArtifacts {
      get { return commandCase_ == CommandOneofCase.DeployArtifacts ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DeployArtifacts;
      }
    }

    private object command_;
    /// <summary>Enum of possible cases for the "command" oneof.</summary>
    public enum CommandOneofCase {
      None = 0,
      RefreshDeployment = 1,
      EnableInstance = 2,
      DisableInstance = 3,
      DeleteInstance = 4,
      DeploymentStateQuery = 5,
      DeployArtifacts = 6,
    }
    private CommandOneofCase commandCase_ = CommandOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandOneofCase CommandCase {
      get { return commandCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearCommand() {
      commandCase_ = CommandOneofCase.None;
      command_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LifecycleRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RefreshDeployment, other.RefreshDeployment)) return false;
      if (!object.Equals(EnableInstance, other.EnableInstance)) return false;
      if (!object.Equals(DisableInstance, other.DisableInstance)) return false;
      if (!object.Equals(DeleteInstance, other.DeleteInstance)) return false;
      if (!object.Equals(DeploymentStateQuery, other.DeploymentStateQuery)) return false;
      if (!object.Equals(DeployArtifacts, other.DeployArtifacts)) return false;
      if (CommandCase != other.CommandCase) 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 (commandCase_ == CommandOneofCase.RefreshDeployment) hash ^= RefreshDeployment.GetHashCode();
      if (commandCase_ == CommandOneofCase.EnableInstance) hash ^= EnableInstance.GetHashCode();
      if (commandCase_ == CommandOneofCase.DisableInstance) hash ^= DisableInstance.GetHashCode();
      if (commandCase_ == CommandOneofCase.DeleteInstance) hash ^= DeleteInstance.GetHashCode();
      if (commandCase_ == CommandOneofCase.DeploymentStateQuery) hash ^= DeploymentStateQuery.GetHashCode();
      if (commandCase_ == CommandOneofCase.DeployArtifacts) hash ^= DeployArtifacts.GetHashCode();
      hash ^= (int) commandCase_;
      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 (commandCase_ == CommandOneofCase.RefreshDeployment) {
        output.WriteRawTag(10);
        output.WriteMessage(RefreshDeployment);
      }
      if (commandCase_ == CommandOneofCase.EnableInstance) {
        output.WriteRawTag(18);
        output.WriteMessage(EnableInstance);
      }
      if (commandCase_ == CommandOneofCase.DisableInstance) {
        output.WriteRawTag(26);
        output.WriteMessage(DisableInstance);
      }
      if (commandCase_ == CommandOneofCase.DeleteInstance) {
        output.WriteRawTag(34);
        output.WriteMessage(DeleteInstance);
      }
      if (commandCase_ == CommandOneofCase.DeploymentStateQuery) {
        output.WriteRawTag(42);
        output.WriteMessage(DeploymentStateQuery);
      }
      if (commandCase_ == CommandOneofCase.DeployArtifacts) {
        output.WriteRawTag(50);
        output.WriteMessage(DeployArtifacts);
      }
      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 (commandCase_ == CommandOneofCase.RefreshDeployment) {
        output.WriteRawTag(10);
        output.WriteMessage(RefreshDeployment);
      }
      if (commandCase_ == CommandOneofCase.EnableInstance) {
        output.WriteRawTag(18);
        output.WriteMessage(EnableInstance);
      }
      if (commandCase_ == CommandOneofCase.DisableInstance) {
        output.WriteRawTag(26);
        output.WriteMessage(DisableInstance);
      }
      if (commandCase_ == CommandOneofCase.DeleteInstance) {
        output.WriteRawTag(34);
        output.WriteMessage(DeleteInstance);
      }
      if (commandCase_ == CommandOneofCase.DeploymentStateQuery) {
        output.WriteRawTag(42);
        output.WriteMessage(DeploymentStateQuery);
      }
      if (commandCase_ == CommandOneofCase.DeployArtifacts) {
        output.WriteRawTag(50);
        output.WriteMessage(DeployArtifacts);
      }
      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 (commandCase_ == CommandOneofCase.RefreshDeployment) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RefreshDeployment);
      }
      if (commandCase_ == CommandOneofCase.EnableInstance) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EnableInstance);
      }
      if (commandCase_ == CommandOneofCase.DisableInstance) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DisableInstance);
      }
      if (commandCase_ == CommandOneofCase.DeleteInstance) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeleteInstance);
      }
      if (commandCase_ == CommandOneofCase.DeploymentStateQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeploymentStateQuery);
      }
      if (commandCase_ == CommandOneofCase.DeployArtifacts) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeployArtifacts);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LifecycleRequest other) {
      if (other == null) {
        return;
      }
      switch (other.CommandCase) {
        case CommandOneofCase.RefreshDeployment:
          if (RefreshDeployment == null) {
            RefreshDeployment = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto();
          }
          RefreshDeployment.MergeFrom(other.RefreshDeployment);
          break;
        case CommandOneofCase.EnableInstance:
          if (EnableInstance == null) {
            EnableInstance = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto();
          }
          EnableInstance.MergeFrom(other.EnableInstance);
          break;
        case CommandOneofCase.DisableInstance:
          if (DisableInstance == null) {
            DisableInstance = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto();
          }
          DisableInstance.MergeFrom(other.DisableInstance);
          break;
        case CommandOneofCase.DeleteInstance:
          if (DeleteInstance == null) {
            DeleteInstance = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto();
          }
          DeleteInstance.MergeFrom(other.DeleteInstance);
          break;
        case CommandOneofCase.DeploymentStateQuery:
          if (DeploymentStateQuery == null) {
            DeploymentStateQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto();
          }
          DeploymentStateQuery.MergeFrom(other.DeploymentStateQuery);
          break;
        case CommandOneofCase.DeployArtifacts:
          if (DeployArtifacts == null) {
            DeployArtifacts = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto();
          }
          DeployArtifacts.MergeFrom(other.DeployArtifacts);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto();
            if (commandCase_ == CommandOneofCase.RefreshDeployment) {
              subBuilder.MergeFrom(RefreshDeployment);
            }
            input.ReadMessage(subBuilder);
            RefreshDeployment = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.EnableInstance) {
              subBuilder.MergeFrom(EnableInstance);
            }
            input.ReadMessage(subBuilder);
            EnableInstance = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.DisableInstance) {
              subBuilder.MergeFrom(DisableInstance);
            }
            input.ReadMessage(subBuilder);
            DisableInstance = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.DeleteInstance) {
              subBuilder.MergeFrom(DeleteInstance);
            }
            input.ReadMessage(subBuilder);
            DeleteInstance = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto();
            if (commandCase_ == CommandOneofCase.DeploymentStateQuery) {
              subBuilder.MergeFrom(DeploymentStateQuery);
            }
            input.ReadMessage(subBuilder);
            DeploymentStateQuery = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto();
            if (commandCase_ == CommandOneofCase.DeployArtifacts) {
              subBuilder.MergeFrom(DeployArtifacts);
            }
            input.ReadMessage(subBuilder);
            DeployArtifacts = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RefreshDeploymentCommandDto();
            if (commandCase_ == CommandOneofCase.RefreshDeployment) {
              subBuilder.MergeFrom(RefreshDeployment);
            }
            input.ReadMessage(subBuilder);
            RefreshDeployment = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EnableInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.EnableInstance) {
              subBuilder.MergeFrom(EnableInstance);
            }
            input.ReadMessage(subBuilder);
            EnableInstance = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DisableInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.DisableInstance) {
              subBuilder.MergeFrom(DisableInstance);
            }
            input.ReadMessage(subBuilder);
            DisableInstance = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeleteInstanceCommandDto();
            if (commandCase_ == CommandOneofCase.DeleteInstance) {
              subBuilder.MergeFrom(DeleteInstance);
            }
            input.ReadMessage(subBuilder);
            DeleteInstance = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryRequestDto();
            if (commandCase_ == CommandOneofCase.DeploymentStateQuery) {
              subBuilder.MergeFrom(DeploymentStateQuery);
            }
            input.ReadMessage(subBuilder);
            DeploymentStateQuery = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeployArtifactsCommandDto();
            if (commandCase_ == CommandOneofCase.DeployArtifacts) {
              subBuilder.MergeFrom(DeployArtifacts);
            }
            input.ReadMessage(subBuilder);
            DeployArtifacts = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[27]; }
    }

    [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 LifecycleReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LifecycleReply(LifecycleReply other) : this() {
      switch (other.ReplyCase) {
        case ReplyOneofCase.DeploymentStatus:
          DeploymentStatus = other.DeploymentStatus.Clone();
          break;
        case ReplyOneofCase.InstanceLifecycle:
          InstanceLifecycle = other.InstanceLifecycle.Clone();
          break;
        case ReplyOneofCase.DeploymentStateQuery:
          DeploymentStateQuery = other.DeploymentStateQuery.Clone();
          break;
        case ReplyOneofCase.ArtifactDeployment:
          ArtifactDeployment = other.ArtifactDeployment.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "deployment_status" field.</summary>
    public const int DeploymentStatusFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto DeploymentStatus {
      get { return replyCase_ == ReplyOneofCase.DeploymentStatus ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.DeploymentStatus;
      }
    }

    /// <summary>Field number for the "instance_lifecycle" field.</summary>
    public const int InstanceLifecycleFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto InstanceLifecycle {
      get { return replyCase_ == ReplyOneofCase.InstanceLifecycle ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.InstanceLifecycle;
      }
    }

    /// <summary>Field number for the "deployment_state_query" field.</summary>
    public const int DeploymentStateQueryFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto DeploymentStateQuery {
      get { return replyCase_ == ReplyOneofCase.DeploymentStateQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.DeploymentStateQuery;
      }
    }

    /// <summary>Field number for the "artifact_deployment" field.</summary>
    public const int ArtifactDeploymentFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto ArtifactDeployment {
      get { return replyCase_ == ReplyOneofCase.ArtifactDeployment ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ArtifactDeployment;
      }
    }

    private object reply_;
    /// <summary>Enum of possible cases for the "reply" oneof.</summary>
    public enum ReplyOneofCase {
      None = 0,
      DeploymentStatus = 1,
      InstanceLifecycle = 2,
      DeploymentStateQuery = 3,
      ArtifactDeployment = 4,
    }
    private ReplyOneofCase replyCase_ = ReplyOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReplyOneofCase ReplyCase {
      get { return replyCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearReply() {
      replyCase_ = ReplyOneofCase.None;
      reply_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LifecycleReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(DeploymentStatus, other.DeploymentStatus)) return false;
      if (!object.Equals(InstanceLifecycle, other.InstanceLifecycle)) return false;
      if (!object.Equals(DeploymentStateQuery, other.DeploymentStateQuery)) return false;
      if (!object.Equals(ArtifactDeployment, other.ArtifactDeployment)) return false;
      if (ReplyCase != other.ReplyCase) 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 (replyCase_ == ReplyOneofCase.DeploymentStatus) hash ^= DeploymentStatus.GetHashCode();
      if (replyCase_ == ReplyOneofCase.InstanceLifecycle) hash ^= InstanceLifecycle.GetHashCode();
      if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) hash ^= DeploymentStateQuery.GetHashCode();
      if (replyCase_ == ReplyOneofCase.ArtifactDeployment) hash ^= ArtifactDeployment.GetHashCode();
      hash ^= (int) replyCase_;
      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 (replyCase_ == ReplyOneofCase.DeploymentStatus) {
        output.WriteRawTag(10);
        output.WriteMessage(DeploymentStatus);
      }
      if (replyCase_ == ReplyOneofCase.InstanceLifecycle) {
        output.WriteRawTag(18);
        output.WriteMessage(InstanceLifecycle);
      }
      if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) {
        output.WriteRawTag(26);
        output.WriteMessage(DeploymentStateQuery);
      }
      if (replyCase_ == ReplyOneofCase.ArtifactDeployment) {
        output.WriteRawTag(34);
        output.WriteMessage(ArtifactDeployment);
      }
      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 (replyCase_ == ReplyOneofCase.DeploymentStatus) {
        output.WriteRawTag(10);
        output.WriteMessage(DeploymentStatus);
      }
      if (replyCase_ == ReplyOneofCase.InstanceLifecycle) {
        output.WriteRawTag(18);
        output.WriteMessage(InstanceLifecycle);
      }
      if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) {
        output.WriteRawTag(26);
        output.WriteMessage(DeploymentStateQuery);
      }
      if (replyCase_ == ReplyOneofCase.ArtifactDeployment) {
        output.WriteRawTag(34);
        output.WriteMessage(ArtifactDeployment);
      }
      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 (replyCase_ == ReplyOneofCase.DeploymentStatus) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeploymentStatus);
      }
      if (replyCase_ == ReplyOneofCase.InstanceLifecycle) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(InstanceLifecycle);
      }
      if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeploymentStateQuery);
      }
      if (replyCase_ == ReplyOneofCase.ArtifactDeployment) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ArtifactDeployment);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LifecycleReply other) {
      if (other == null) {
        return;
      }
      switch (other.ReplyCase) {
        case ReplyOneofCase.DeploymentStatus:
          if (DeploymentStatus == null) {
            DeploymentStatus = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto();
          }
          DeploymentStatus.MergeFrom(other.DeploymentStatus);
          break;
        case ReplyOneofCase.InstanceLifecycle:
          if (InstanceLifecycle == null) {
            InstanceLifecycle = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto();
          }
          InstanceLifecycle.MergeFrom(other.InstanceLifecycle);
          break;
        case ReplyOneofCase.DeploymentStateQuery:
          if (DeploymentStateQuery == null) {
            DeploymentStateQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto();
          }
          DeploymentStateQuery.MergeFrom(other.DeploymentStateQuery);
          break;
        case ReplyOneofCase.ArtifactDeployment:
          if (ArtifactDeployment == null) {
            ArtifactDeployment = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto();
          }
          ArtifactDeployment.MergeFrom(other.ArtifactDeployment);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto();
            if (replyCase_ == ReplyOneofCase.DeploymentStatus) {
              subBuilder.MergeFrom(DeploymentStatus);
            }
            input.ReadMessage(subBuilder);
            DeploymentStatus = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto();
            if (replyCase_ == ReplyOneofCase.InstanceLifecycle) {
              subBuilder.MergeFrom(InstanceLifecycle);
            }
            input.ReadMessage(subBuilder);
            InstanceLifecycle = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) {
              subBuilder.MergeFrom(DeploymentStateQuery);
            }
            input.ReadMessage(subBuilder);
            DeploymentStateQuery = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto();
            if (replyCase_ == ReplyOneofCase.ArtifactDeployment) {
              subBuilder.MergeFrom(ArtifactDeployment);
            }
            input.ReadMessage(subBuilder);
            ArtifactDeployment = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusResponseDto();
            if (replyCase_ == ReplyOneofCase.DeploymentStatus) {
              subBuilder.MergeFrom(DeploymentStatus);
            }
            input.ReadMessage(subBuilder);
            DeploymentStatus = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceLifecycleResponseDto();
            if (replyCase_ == ReplyOneofCase.InstanceLifecycle) {
              subBuilder.MergeFrom(InstanceLifecycle);
            }
            input.ReadMessage(subBuilder);
            InstanceLifecycle = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStateQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.DeploymentStateQuery) {
              subBuilder.MergeFrom(DeploymentStateQuery);
            }
            input.ReadMessage(subBuilder);
            DeploymentStateQuery = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ArtifactDeploymentResponseDto();
            if (replyCase_ == ReplyOneofCase.ArtifactDeployment) {
              subBuilder.MergeFrom(ArtifactDeployment);
            }
            input.ReadMessage(subBuilder);
            ArtifactDeployment = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[28]; }
    }

    [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 BrowseNodeCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BrowseNodeCommandDto(BrowseNodeCommandDto other) : this() {
      connectionName_ = other.connectionName_;
      parentNodeId_ = other.parentNodeId_;
      continuationToken_ = other.continuationToken_;
      siteIdentifier_ = other.siteIdentifier_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 1;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "parent_node_id" field.</summary>
    public const int ParentNodeIdFieldNumber = 2;
    private string parentNodeId_ = "";
    /// <summary>
    /// empty string represents null (browse root)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParentNodeId {
      get { return parentNodeId_; }
      set {
        parentNodeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "continuation_token" field.</summary>
    public const int ContinuationTokenFieldNumber = 3;
    private string continuationToken_ = "";
    /// <summary>
    /// empty string represents null (first page)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ContinuationToken {
      get { return continuationToken_; }
      set {
        continuationToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 4;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 BrowseNodeCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BrowseNodeCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ConnectionName != other.ConnectionName) return false;
      if (ParentNodeId != other.ParentNodeId) return false;
      if (ContinuationToken != other.ContinuationToken) return false;
      if (SiteIdentifier != other.SiteIdentifier) 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 (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      if (ParentNodeId.Length != 0) hash ^= ParentNodeId.GetHashCode();
      if (ContinuationToken.Length != 0) hash ^= ContinuationToken.GetHashCode();
      if (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (ParentNodeId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ParentNodeId);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ContinuationToken);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (ParentNodeId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ParentNodeId);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ContinuationToken);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      if (ParentNodeId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentNodeId);
      }
      if (ContinuationToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ContinuationToken);
      }
      if (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BrowseNodeCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      if (other.ParentNodeId.Length != 0) {
        ParentNodeId = other.ParentNodeId;
      }
      if (other.ContinuationToken.Length != 0) {
        ContinuationToken = other.ContinuationToken;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            ParentNodeId = input.ReadString();
            break;
          }
          case 26: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = 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 10: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            ParentNodeId = input.ReadString();
            break;
          }
          case 26: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[29]; }
    }

    [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 BrowseNodeDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BrowseNodeDto(BrowseNodeDto other) : this() {
      nodeId_ = other.nodeId_;
      displayName_ = other.displayName_;
      nodeClass_ = other.nodeClass_;
      hasChildren_ = other.hasChildren_;
      dataType_ = other.dataType_;
      ValueRank = other.ValueRank;
      Writable = other.Writable;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "node_id" field.</summary>
    public const int NodeIdFieldNumber = 1;
    private string nodeId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NodeId {
      get { return nodeId_; }
      set {
        nodeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "display_name" field.</summary>
    public const int DisplayNameFieldNumber = 2;
    private string displayName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "node_class" field.</summary>
    public const int NodeClassFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto nodeClass_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto NodeClass {
      get { return nodeClass_; }
      set {
        nodeClass_ = value;
      }
    }

    /// <summary>Field number for the "has_children" field.</summary>
    public const int HasChildrenFieldNumber = 4;
    private bool hasChildren_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasChildren {
      get { return hasChildren_; }
      set {
        hasChildren_ = value;
      }
    }

    /// <summary>Field number for the "data_type" field.</summary>
    public const int DataTypeFieldNumber = 5;
    private string dataType_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DataType {
      get { return dataType_; }
      set {
        dataType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "value_rank" field.</summary>
    public const int ValueRankFieldNumber = 6;
    private static readonly pb::FieldCodec<int?> _single_valueRank_codec = pb::FieldCodec.ForStructWrapper<int>(50);
    private int? valueRank_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int? ValueRank {
      get { return valueRank_; }
      set {
        valueRank_ = value;
      }
    }


    /// <summary>Field number for the "writable" field.</summary>
    public const int WritableFieldNumber = 7;
    private static readonly pb::FieldCodec<bool?> _single_writable_codec = pb::FieldCodec.ForStructWrapper<bool>(58);
    private bool? writable_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool? Writable {
      get { return writable_; }
      set {
        writable_ = value;
      }
    }


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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BrowseNodeDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NodeId != other.NodeId) return false;
      if (DisplayName != other.DisplayName) return false;
      if (NodeClass != other.NodeClass) return false;
      if (HasChildren != other.HasChildren) return false;
      if (DataType != other.DataType) return false;
      if (ValueRank != other.ValueRank) return false;
      if (Writable != other.Writable) 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 (NodeId.Length != 0) hash ^= NodeId.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (NodeClass != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified) hash ^= NodeClass.GetHashCode();
      if (HasChildren != false) hash ^= HasChildren.GetHashCode();
      if (DataType.Length != 0) hash ^= DataType.GetHashCode();
      if (valueRank_ != null) hash ^= ValueRank.GetHashCode();
      if (writable_ != null) hash ^= Writable.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 (NodeId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NodeId);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DisplayName);
      }
      if (NodeClass != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) NodeClass);
      }
      if (HasChildren != false) {
        output.WriteRawTag(32);
        output.WriteBool(HasChildren);
      }
      if (DataType.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(DataType);
      }
      if (valueRank_ != null) {
        _single_valueRank_codec.WriteTagAndValue(output, ValueRank);
      }
      if (writable_ != null) {
        _single_writable_codec.WriteTagAndValue(output, Writable);
      }
      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 (NodeId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NodeId);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DisplayName);
      }
      if (NodeClass != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) NodeClass);
      }
      if (HasChildren != false) {
        output.WriteRawTag(32);
        output.WriteBool(HasChildren);
      }
      if (DataType.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(DataType);
      }
      if (valueRank_ != null) {
        _single_valueRank_codec.WriteTagAndValue(ref output, ValueRank);
      }
      if (writable_ != null) {
        _single_writable_codec.WriteTagAndValue(ref output, Writable);
      }
      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 (NodeId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NodeId);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (NodeClass != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NodeClass);
      }
      if (HasChildren != false) {
        size += 1 + 1;
      }
      if (DataType.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DataType);
      }
      if (valueRank_ != null) {
        size += _single_valueRank_codec.CalculateSizeWithTag(ValueRank);
      }
      if (writable_ != null) {
        size += _single_writable_codec.CalculateSizeWithTag(Writable);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BrowseNodeDto other) {
      if (other == null) {
        return;
      }
      if (other.NodeId.Length != 0) {
        NodeId = other.NodeId;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.NodeClass != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto.Unspecified) {
        NodeClass = other.NodeClass;
      }
      if (other.HasChildren != false) {
        HasChildren = other.HasChildren;
      }
      if (other.DataType.Length != 0) {
        DataType = other.DataType;
      }
      if (other.valueRank_ != null) {
        if (valueRank_ == null || other.ValueRank != 0) {
          ValueRank = other.ValueRank;
        }
      }
      if (other.writable_ != null) {
        if (writable_ == null || other.Writable != false) {
          Writable = other.Writable;
        }
      }
      _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: {
            NodeId = input.ReadString();
            break;
          }
          case 18: {
            DisplayName = input.ReadString();
            break;
          }
          case 24: {
            NodeClass = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto) input.ReadEnum();
            break;
          }
          case 32: {
            HasChildren = input.ReadBool();
            break;
          }
          case 42: {
            DataType = input.ReadString();
            break;
          }
          case 50: {
            int? value = _single_valueRank_codec.Read(input);
            if (valueRank_ == null || value != 0) {
              ValueRank = value;
            }
            break;
          }
          case 58: {
            bool? value = _single_writable_codec.Read(input);
            if (writable_ == null || value != false) {
              Writable = value;
            }
            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: {
            NodeId = input.ReadString();
            break;
          }
          case 18: {
            DisplayName = input.ReadString();
            break;
          }
          case 24: {
            NodeClass = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto) input.ReadEnum();
            break;
          }
          case 32: {
            HasChildren = input.ReadBool();
            break;
          }
          case 42: {
            DataType = input.ReadString();
            break;
          }
          case 50: {
            int? value = _single_valueRank_codec.Read(ref input);
            if (valueRank_ == null || value != 0) {
              ValueRank = value;
            }
            break;
          }
          case 58: {
            bool? value = _single_writable_codec.Read(ref input);
            if (writable_ == null || value != false) {
              Writable = value;
            }
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[30]; }
    }

    [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 BrowseFailureDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "kind" field.</summary>
    public const int KindFieldNumber = 1;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto kind_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto Kind {
      get { return kind_; }
      set {
        kind_ = value;
      }
    }

    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 2;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = 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 BrowseFailureDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BrowseFailureDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Kind != other.Kind) return false;
      if (Message != other.Message) 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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified) hash ^= Kind.GetHashCode();
      if (Message.Length != 0) hash ^= Message.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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Kind);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Kind);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BrowseFailureDto other) {
      if (other == null) {
        return;
      }
      if (other.Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto.Unspecified) {
        Kind = other.Kind;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      _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: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto) input.ReadEnum();
            break;
          }
          case 18: {
            Message = 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: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto) input.ReadEnum();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[31]; }
    }

    [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 BrowseNodeResultDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BrowseNodeResultDto(BrowseNodeResultDto other) : this() {
      children_ = other.children_.Clone();
      truncated_ = other.truncated_;
      failure_ = other.failure_ != null ? other.failure_.Clone() : null;
      continuationToken_ = other.continuationToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "children" field.</summary>
    public const int ChildrenFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto> _repeated_children_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto> children_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto> Children {
      get { return children_; }
    }

    /// <summary>Field number for the "truncated" field.</summary>
    public const int TruncatedFieldNumber = 2;
    private bool truncated_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Truncated {
      get { return truncated_; }
      set {
        truncated_ = value;
      }
    }

    /// <summary>Field number for the "failure" field.</summary>
    public const int FailureFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto failure_;
    /// <summary>
    /// absent => null (success)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto Failure {
      get { return failure_; }
      set {
        failure_ = value;
      }
    }

    /// <summary>Field number for the "continuation_token" field.</summary>
    public const int ContinuationTokenFieldNumber = 4;
    private string continuationToken_ = "";
    /// <summary>
    /// empty string represents null (final page)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ContinuationToken {
      get { return continuationToken_; }
      set {
        continuationToken_ = 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 BrowseNodeResultDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BrowseNodeResultDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!children_.Equals(other.children_)) return false;
      if (Truncated != other.Truncated) return false;
      if (!object.Equals(Failure, other.Failure)) return false;
      if (ContinuationToken != other.ContinuationToken) 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 ^= children_.GetHashCode();
      if (Truncated != false) hash ^= Truncated.GetHashCode();
      if (failure_ != null) hash ^= Failure.GetHashCode();
      if (ContinuationToken.Length != 0) hash ^= ContinuationToken.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
      children_.WriteTo(output, _repeated_children_codec);
      if (Truncated != false) {
        output.WriteRawTag(16);
        output.WriteBool(Truncated);
      }
      if (failure_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Failure);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ContinuationToken);
      }
      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) {
      children_.WriteTo(ref output, _repeated_children_codec);
      if (Truncated != false) {
        output.WriteRawTag(16);
        output.WriteBool(Truncated);
      }
      if (failure_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Failure);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ContinuationToken);
      }
      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 += children_.CalculateSize(_repeated_children_codec);
      if (Truncated != false) {
        size += 1 + 1;
      }
      if (failure_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Failure);
      }
      if (ContinuationToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ContinuationToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BrowseNodeResultDto other) {
      if (other == null) {
        return;
      }
      children_.Add(other.children_);
      if (other.Truncated != false) {
        Truncated = other.Truncated;
      }
      if (other.failure_ != null) {
        if (failure_ == null) {
          Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
        }
        Failure.MergeFrom(other.Failure);
      }
      if (other.ContinuationToken.Length != 0) {
        ContinuationToken = other.ContinuationToken;
      }
      _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: {
            children_.AddEntriesFrom(input, _repeated_children_codec);
            break;
          }
          case 16: {
            Truncated = input.ReadBool();
            break;
          }
          case 26: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
            }
            input.ReadMessage(Failure);
            break;
          }
          case 34: {
            ContinuationToken = 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 10: {
            children_.AddEntriesFrom(ref input, _repeated_children_codec);
            break;
          }
          case 16: {
            Truncated = input.ReadBool();
            break;
          }
          case 26: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
            }
            input.ReadMessage(Failure);
            break;
          }
          case 34: {
            ContinuationToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[32]; }
    }

    [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 SearchAddressSpaceCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchAddressSpaceCommandDto(SearchAddressSpaceCommandDto other) : this() {
      connectionName_ = other.connectionName_;
      query_ = other.query_;
      maxDepth_ = other.maxDepth_;
      maxResults_ = other.maxResults_;
      siteIdentifier_ = other.siteIdentifier_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 1;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "query" field.</summary>
    public const int QueryFieldNumber = 2;
    private string query_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Query {
      get { return query_; }
      set {
        query_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "max_depth" field.</summary>
    public const int MaxDepthFieldNumber = 3;
    private int maxDepth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxDepth {
      get { return maxDepth_; }
      set {
        maxDepth_ = value;
      }
    }

    /// <summary>Field number for the "max_results" field.</summary>
    public const int MaxResultsFieldNumber = 4;
    private int maxResults_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxResults {
      get { return maxResults_; }
      set {
        maxResults_ = value;
      }
    }

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 5;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 SearchAddressSpaceCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SearchAddressSpaceCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ConnectionName != other.ConnectionName) return false;
      if (Query != other.Query) return false;
      if (MaxDepth != other.MaxDepth) return false;
      if (MaxResults != other.MaxResults) return false;
      if (SiteIdentifier != other.SiteIdentifier) 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 (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      if (Query.Length != 0) hash ^= Query.GetHashCode();
      if (MaxDepth != 0) hash ^= MaxDepth.GetHashCode();
      if (MaxResults != 0) hash ^= MaxResults.GetHashCode();
      if (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (Query.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Query);
      }
      if (MaxDepth != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxDepth);
      }
      if (MaxResults != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxResults);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (Query.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Query);
      }
      if (MaxDepth != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxDepth);
      }
      if (MaxResults != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxResults);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      if (Query.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Query);
      }
      if (MaxDepth != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxDepth);
      }
      if (MaxResults != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxResults);
      }
      if (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SearchAddressSpaceCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      if (other.Query.Length != 0) {
        Query = other.Query;
      }
      if (other.MaxDepth != 0) {
        MaxDepth = other.MaxDepth;
      }
      if (other.MaxResults != 0) {
        MaxResults = other.MaxResults;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            Query = input.ReadString();
            break;
          }
          case 24: {
            MaxDepth = input.ReadInt32();
            break;
          }
          case 32: {
            MaxResults = input.ReadInt32();
            break;
          }
          case 42: {
            SiteIdentifier = 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 10: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            Query = input.ReadString();
            break;
          }
          case 24: {
            MaxDepth = input.ReadInt32();
            break;
          }
          case 32: {
            MaxResults = input.ReadInt32();
            break;
          }
          case 42: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[33]; }
    }

    [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 AddressSpaceMatchDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AddressSpaceMatchDto(AddressSpaceMatchDto other) : this() {
      node_ = other.node_ != null ? other.node_.Clone() : null;
      path_ = other.path_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "node" field.</summary>
    public const int NodeFieldNumber = 1;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto node_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto Node {
      get { return node_; }
      set {
        node_ = value;
      }
    }

    /// <summary>Field number for the "path" field.</summary>
    public const int PathFieldNumber = 2;
    private string path_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Path {
      get { return path_; }
      set {
        path_ = 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 AddressSpaceMatchDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AddressSpaceMatchDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Node, other.Node)) return false;
      if (Path != other.Path) 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 (node_ != null) hash ^= Node.GetHashCode();
      if (Path.Length != 0) hash ^= Path.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 (node_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Node);
      }
      if (Path.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Path);
      }
      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 (node_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Node);
      }
      if (Path.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Path);
      }
      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 (node_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Node);
      }
      if (Path.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Path);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AddressSpaceMatchDto other) {
      if (other == null) {
        return;
      }
      if (other.node_ != null) {
        if (node_ == null) {
          Node = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto();
        }
        Node.MergeFrom(other.Node);
      }
      if (other.Path.Length != 0) {
        Path = other.Path;
      }
      _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: {
            if (node_ == null) {
              Node = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto();
            }
            input.ReadMessage(Node);
            break;
          }
          case 18: {
            Path = 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 10: {
            if (node_ == null) {
              Node = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeDto();
            }
            input.ReadMessage(Node);
            break;
          }
          case 18: {
            Path = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[34]; }
    }

    [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 SearchAddressSpaceResultDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchAddressSpaceResultDto(SearchAddressSpaceResultDto other) : this() {
      matches_ = other.matches_.Clone();
      capReached_ = other.capReached_;
      failure_ = other.failure_ != null ? other.failure_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "matches" field.</summary>
    public const int MatchesFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto> _repeated_matches_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto> matches_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AddressSpaceMatchDto> Matches {
      get { return matches_; }
    }

    /// <summary>Field number for the "cap_reached" field.</summary>
    public const int CapReachedFieldNumber = 2;
    private bool capReached_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool CapReached {
      get { return capReached_; }
      set {
        capReached_ = value;
      }
    }

    /// <summary>Field number for the "failure" field.</summary>
    public const int FailureFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto failure_;
    /// <summary>
    /// absent => null (success)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto Failure {
      get { return failure_; }
      set {
        failure_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SearchAddressSpaceResultDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!matches_.Equals(other.matches_)) return false;
      if (CapReached != other.CapReached) return false;
      if (!object.Equals(Failure, other.Failure)) 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 ^= matches_.GetHashCode();
      if (CapReached != false) hash ^= CapReached.GetHashCode();
      if (failure_ != null) hash ^= Failure.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
      matches_.WriteTo(output, _repeated_matches_codec);
      if (CapReached != false) {
        output.WriteRawTag(16);
        output.WriteBool(CapReached);
      }
      if (failure_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Failure);
      }
      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) {
      matches_.WriteTo(ref output, _repeated_matches_codec);
      if (CapReached != false) {
        output.WriteRawTag(16);
        output.WriteBool(CapReached);
      }
      if (failure_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Failure);
      }
      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 += matches_.CalculateSize(_repeated_matches_codec);
      if (CapReached != false) {
        size += 1 + 1;
      }
      if (failure_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Failure);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SearchAddressSpaceResultDto other) {
      if (other == null) {
        return;
      }
      matches_.Add(other.matches_);
      if (other.CapReached != false) {
        CapReached = other.CapReached;
      }
      if (other.failure_ != null) {
        if (failure_ == null) {
          Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
        }
        Failure.MergeFrom(other.Failure);
      }
      _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: {
            matches_.AddEntriesFrom(input, _repeated_matches_codec);
            break;
          }
          case 16: {
            CapReached = input.ReadBool();
            break;
          }
          case 26: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
            }
            input.ReadMessage(Failure);
            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: {
            matches_.AddEntriesFrom(ref input, _repeated_matches_codec);
            break;
          }
          case 16: {
            CapReached = input.ReadBool();
            break;
          }
          case 26: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureDto();
            }
            input.ReadMessage(Failure);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[35]; }
    }

    [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 ReadTagValuesCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 1;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "tag_paths" field.</summary>
    public const int TagPathsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_tagPaths_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> tagPaths_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> TagPaths {
      get { return tagPaths_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ReadTagValuesCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ConnectionName != other.ConnectionName) return false;
      if(!tagPaths_.Equals(other.tagPaths_)) 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 (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      hash ^= tagPaths_.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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      tagPaths_.WriteTo(output, _repeated_tagPaths_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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      tagPaths_.WriteTo(ref output, _repeated_tagPaths_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 (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      size += tagPaths_.CalculateSize(_repeated_tagPaths_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ReadTagValuesCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      tagPaths_.Add(other.tagPaths_);
      _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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            tagPaths_.AddEntriesFrom(input, _repeated_tagPaths_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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            tagPaths_.AddEntriesFrom(ref input, _repeated_tagPaths_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[36]; }
    }

    [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 TagReadOutcomeDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TagReadOutcomeDto(TagReadOutcomeDto other) : this() {
      tagPath_ = other.tagPath_;
      success_ = other.success_;
      value_ = other.value_ != null ? other.value_.Clone() : null;
      quality_ = other.quality_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      errorMessage_ = other.errorMessage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "tag_path" field.</summary>
    public const int TagPathFieldNumber = 1;
    private string tagPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TagPath {
      get { return tagPath_; }
      set {
        tagPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue value_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    /// <summary>Field number for the "quality" field.</summary>
    public const int QualityFieldNumber = 4;
    private string quality_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Quality {
      get { return quality_; }
      set {
        quality_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 6;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = 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 TagReadOutcomeDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TagReadOutcomeDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (TagPath != other.TagPath) return false;
      if (Success != other.Success) return false;
      if (!object.Equals(Value, other.Value)) return false;
      if (Quality != other.Quality) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (ErrorMessage != other.ErrorMessage) 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 (TagPath.Length != 0) hash ^= TagPath.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (value_ != null) hash ^= Value.GetHashCode();
      if (Quality.Length != 0) hash ^= Quality.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.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 (TagPath.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(TagPath);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (value_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Quality);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ErrorMessage);
      }
      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 (TagPath.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(TagPath);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (value_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Quality);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ErrorMessage);
      }
      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 (TagPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TagPath);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (value_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
      }
      if (Quality.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Quality);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TagReadOutcomeDto other) {
      if (other == null) {
        return;
      }
      if (other.TagPath.Length != 0) {
        TagPath = other.TagPath;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.value_ != null) {
        if (value_ == null) {
          Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
        }
        Value.MergeFrom(other.Value);
      }
      if (other.Quality.Length != 0) {
        Quality = other.Quality;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      _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: {
            TagPath = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 34: {
            Quality = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            ErrorMessage = 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 10: {
            TagPath = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 34: {
            Quality = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            ErrorMessage = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[37]; }
    }

    [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 ReadTagValuesFailureDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "kind" field.</summary>
    public const int KindFieldNumber = 1;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto kind_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto Kind {
      get { return kind_; }
      set {
        kind_ = value;
      }
    }

    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 2;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = 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 ReadTagValuesFailureDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ReadTagValuesFailureDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Kind != other.Kind) return false;
      if (Message != other.Message) 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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified) hash ^= Kind.GetHashCode();
      if (Message.Length != 0) hash ^= Message.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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Kind);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Kind);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      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 (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ReadTagValuesFailureDto other) {
      if (other == null) {
        return;
      }
      if (other.Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto.Unspecified) {
        Kind = other.Kind;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      _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: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto) input.ReadEnum();
            break;
          }
          case 18: {
            Message = 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: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto) input.ReadEnum();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[38]; }
    }

    [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 ReadTagValuesResultDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReadTagValuesResultDto(ReadTagValuesResultDto other) : this() {
      outcomes_ = other.outcomes_.Clone();
      failure_ = other.failure_ != null ? other.failure_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "outcomes" field.</summary>
    public const int OutcomesFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto> _repeated_outcomes_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto> outcomes_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TagReadOutcomeDto> Outcomes {
      get { return outcomes_; }
    }

    /// <summary>Field number for the "failure" field.</summary>
    public const int FailureFieldNumber = 2;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto failure_;
    /// <summary>
    /// absent => null (success)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto Failure {
      get { return failure_; }
      set {
        failure_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ReadTagValuesResultDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!outcomes_.Equals(other.outcomes_)) return false;
      if (!object.Equals(Failure, other.Failure)) 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 ^= outcomes_.GetHashCode();
      if (failure_ != null) hash ^= Failure.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
      outcomes_.WriteTo(output, _repeated_outcomes_codec);
      if (failure_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Failure);
      }
      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) {
      outcomes_.WriteTo(ref output, _repeated_outcomes_codec);
      if (failure_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Failure);
      }
      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 += outcomes_.CalculateSize(_repeated_outcomes_codec);
      if (failure_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Failure);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ReadTagValuesResultDto other) {
      if (other == null) {
        return;
      }
      outcomes_.Add(other.outcomes_);
      if (other.failure_ != null) {
        if (failure_ == null) {
          Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto();
        }
        Failure.MergeFrom(other.Failure);
      }
      _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: {
            outcomes_.AddEntriesFrom(input, _repeated_outcomes_codec);
            break;
          }
          case 18: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto();
            }
            input.ReadMessage(Failure);
            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: {
            outcomes_.AddEntriesFrom(ref input, _repeated_outcomes_codec);
            break;
          }
          case 18: {
            if (failure_ == null) {
              Failure = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureDto();
            }
            input.ReadMessage(Failure);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[39]; }
    }

    [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 VerifyEndpointCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VerifyEndpointCommandDto(VerifyEndpointCommandDto other) : this() {
      connectionName_ = other.connectionName_;
      protocol_ = other.protocol_;
      configJson_ = other.configJson_;
      siteIdentifier_ = other.siteIdentifier_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 1;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "protocol" field.</summary>
    public const int ProtocolFieldNumber = 2;
    private string protocol_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Protocol {
      get { return protocol_; }
      set {
        protocol_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "config_json" field.</summary>
    public const int ConfigJsonFieldNumber = 3;
    private string configJson_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigJson {
      get { return configJson_; }
      set {
        configJson_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 4;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 VerifyEndpointCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VerifyEndpointCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ConnectionName != other.ConnectionName) return false;
      if (Protocol != other.Protocol) return false;
      if (ConfigJson != other.ConfigJson) return false;
      if (SiteIdentifier != other.SiteIdentifier) 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 (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      if (Protocol.Length != 0) hash ^= Protocol.GetHashCode();
      if (ConfigJson.Length != 0) hash ^= ConfigJson.GetHashCode();
      if (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (Protocol.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Protocol);
      }
      if (ConfigJson.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigJson);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (Protocol.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Protocol);
      }
      if (ConfigJson.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigJson);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      if (Protocol.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Protocol);
      }
      if (ConfigJson.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigJson);
      }
      if (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VerifyEndpointCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      if (other.Protocol.Length != 0) {
        Protocol = other.Protocol;
      }
      if (other.ConfigJson.Length != 0) {
        ConfigJson = other.ConfigJson;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            Protocol = input.ReadString();
            break;
          }
          case 26: {
            ConfigJson = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = 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 10: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            Protocol = input.ReadString();
            break;
          }
          case 26: {
            ConfigJson = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[40]; }
    }

    [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 ServerCertInfoDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ServerCertInfoDto(ServerCertInfoDto other) : this() {
      thumbprint_ = other.thumbprint_;
      subject_ = other.subject_;
      issuer_ = other.issuer_;
      notBeforeUtc_ = other.notBeforeUtc_ != null ? other.notBeforeUtc_.Clone() : null;
      notAfterUtc_ = other.notAfterUtc_ != null ? other.notAfterUtc_.Clone() : null;
      derBase64_ = other.derBase64_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "thumbprint" field.</summary>
    public const int ThumbprintFieldNumber = 1;
    private string thumbprint_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Thumbprint {
      get { return thumbprint_; }
      set {
        thumbprint_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "subject" field.</summary>
    public const int SubjectFieldNumber = 2;
    private string subject_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Subject {
      get { return subject_; }
      set {
        subject_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "issuer" field.</summary>
    public const int IssuerFieldNumber = 3;
    private string issuer_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Issuer {
      get { return issuer_; }
      set {
        issuer_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "not_before_utc" field.</summary>
    public const int NotBeforeUtcFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp notBeforeUtc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp NotBeforeUtc {
      get { return notBeforeUtc_; }
      set {
        notBeforeUtc_ = value;
      }
    }

    /// <summary>Field number for the "not_after_utc" field.</summary>
    public const int NotAfterUtcFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp notAfterUtc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp NotAfterUtc {
      get { return notAfterUtc_; }
      set {
        notAfterUtc_ = value;
      }
    }

    /// <summary>Field number for the "der_base64" field.</summary>
    public const int DerBase64FieldNumber = 6;
    private string derBase64_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DerBase64 {
      get { return derBase64_; }
      set {
        derBase64_ = 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 ServerCertInfoDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ServerCertInfoDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Thumbprint != other.Thumbprint) return false;
      if (Subject != other.Subject) return false;
      if (Issuer != other.Issuer) return false;
      if (!object.Equals(NotBeforeUtc, other.NotBeforeUtc)) return false;
      if (!object.Equals(NotAfterUtc, other.NotAfterUtc)) return false;
      if (DerBase64 != other.DerBase64) 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 (Thumbprint.Length != 0) hash ^= Thumbprint.GetHashCode();
      if (Subject.Length != 0) hash ^= Subject.GetHashCode();
      if (Issuer.Length != 0) hash ^= Issuer.GetHashCode();
      if (notBeforeUtc_ != null) hash ^= NotBeforeUtc.GetHashCode();
      if (notAfterUtc_ != null) hash ^= NotAfterUtc.GetHashCode();
      if (DerBase64.Length != 0) hash ^= DerBase64.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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Subject);
      }
      if (Issuer.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Issuer);
      }
      if (notBeforeUtc_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotAfterUtc);
      }
      if (DerBase64.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(DerBase64);
      }
      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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Subject);
      }
      if (Issuer.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Issuer);
      }
      if (notBeforeUtc_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotAfterUtc);
      }
      if (DerBase64.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(DerBase64);
      }
      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 (Thumbprint.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Thumbprint);
      }
      if (Subject.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Subject);
      }
      if (Issuer.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Issuer);
      }
      if (notBeforeUtc_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NotAfterUtc);
      }
      if (DerBase64.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DerBase64);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ServerCertInfoDto other) {
      if (other == null) {
        return;
      }
      if (other.Thumbprint.Length != 0) {
        Thumbprint = other.Thumbprint;
      }
      if (other.Subject.Length != 0) {
        Subject = other.Subject;
      }
      if (other.Issuer.Length != 0) {
        Issuer = other.Issuer;
      }
      if (other.notBeforeUtc_ != null) {
        if (notBeforeUtc_ == null) {
          NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        NotBeforeUtc.MergeFrom(other.NotBeforeUtc);
      }
      if (other.notAfterUtc_ != null) {
        if (notAfterUtc_ == null) {
          NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        NotAfterUtc.MergeFrom(other.NotAfterUtc);
      }
      if (other.DerBase64.Length != 0) {
        DerBase64 = other.DerBase64;
      }
      _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: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            Subject = input.ReadString();
            break;
          }
          case 26: {
            Issuer = input.ReadString();
            break;
          }
          case 34: {
            if (notBeforeUtc_ == null) {
              NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotBeforeUtc);
            break;
          }
          case 42: {
            if (notAfterUtc_ == null) {
              NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotAfterUtc);
            break;
          }
          case 50: {
            DerBase64 = 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 10: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            Subject = input.ReadString();
            break;
          }
          case 26: {
            Issuer = input.ReadString();
            break;
          }
          case 34: {
            if (notBeforeUtc_ == null) {
              NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotBeforeUtc);
            break;
          }
          case 42: {
            if (notAfterUtc_ == null) {
              NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotAfterUtc);
            break;
          }
          case 50: {
            DerBase64 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// failure_kind is a NULLABLE enum on the CLR side, and proto3 enums have no
  /// presence, so it rides inside a one-field message exactly like Int32Value.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VerifyFailureKindValue : pb::IMessage<VerifyFailureKindValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VerifyFailureKindValue> _parser = new pb::MessageParser<VerifyFailureKindValue>(() => new VerifyFailureKindValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VerifyFailureKindValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[41]; }
    }

    [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 VerifyFailureKindValue() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto value_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VerifyFailureKindValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Value != other.Value) 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 (Value != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified) hash ^= Value.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 (Value != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Value);
      }
      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 (Value != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Value);
      }
      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 (Value != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VerifyFailureKindValue other) {
      if (other == null) {
        return;
      }
      if (other.Value != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto.Unspecified) {
        Value = other.Value;
      }
      _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: {
            Value = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto) input.ReadEnum();
            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: {
            Value = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[42]; }
    }

    [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 VerifyEndpointResultDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VerifyEndpointResultDto(VerifyEndpointResultDto other) : this() {
      success_ = other.success_;
      failureKind_ = other.failureKind_ != null ? other.failureKind_.Clone() : null;
      error_ = other.error_;
      cert_ = other.cert_ != null ? other.cert_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 1;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "failure_kind" field.</summary>
    public const int FailureKindFieldNumber = 2;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue failureKind_;
    /// <summary>
    /// absent => null (success)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue FailureKind {
      get { return failureKind_; }
      set {
        failureKind_ = value;
      }
    }

    /// <summary>Field number for the "error" field.</summary>
    public const int ErrorFieldNumber = 3;
    private string error_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Error {
      get { return error_; }
      set {
        error_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "cert" field.</summary>
    public const int CertFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto cert_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto Cert {
      get { return cert_; }
      set {
        cert_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VerifyEndpointResultDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Success != other.Success) return false;
      if (!object.Equals(FailureKind, other.FailureKind)) return false;
      if (Error != other.Error) return false;
      if (!object.Equals(Cert, other.Cert)) 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 (Success != false) hash ^= Success.GetHashCode();
      if (failureKind_ != null) hash ^= FailureKind.GetHashCode();
      if (Error.Length != 0) hash ^= Error.GetHashCode();
      if (cert_ != null) hash ^= Cert.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 (Success != false) {
        output.WriteRawTag(8);
        output.WriteBool(Success);
      }
      if (failureKind_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(FailureKind);
      }
      if (Error.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Error);
      }
      if (cert_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Cert);
      }
      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 (Success != false) {
        output.WriteRawTag(8);
        output.WriteBool(Success);
      }
      if (failureKind_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(FailureKind);
      }
      if (Error.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Error);
      }
      if (cert_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Cert);
      }
      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 (Success != false) {
        size += 1 + 1;
      }
      if (failureKind_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(FailureKind);
      }
      if (Error.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Error);
      }
      if (cert_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Cert);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VerifyEndpointResultDto other) {
      if (other == null) {
        return;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.failureKind_ != null) {
        if (failureKind_ == null) {
          FailureKind = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue();
        }
        FailureKind.MergeFrom(other.FailureKind);
      }
      if (other.Error.Length != 0) {
        Error = other.Error;
      }
      if (other.cert_ != null) {
        if (cert_ == null) {
          Cert = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto();
        }
        Cert.MergeFrom(other.Cert);
      }
      _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: {
            Success = input.ReadBool();
            break;
          }
          case 18: {
            if (failureKind_ == null) {
              FailureKind = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue();
            }
            input.ReadMessage(FailureKind);
            break;
          }
          case 26: {
            Error = input.ReadString();
            break;
          }
          case 34: {
            if (cert_ == null) {
              Cert = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto();
            }
            input.ReadMessage(Cert);
            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: {
            Success = input.ReadBool();
            break;
          }
          case 18: {
            if (failureKind_ == null) {
              FailureKind = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindValue();
            }
            input.ReadMessage(FailureKind);
            break;
          }
          case 26: {
            Error = input.ReadString();
            break;
          }
          case 34: {
            if (cert_ == null) {
              Cert = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ServerCertInfoDto();
            }
            input.ReadMessage(Cert);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[43]; }
    }

    [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 TrustServerCertCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrustServerCertCommandDto(TrustServerCertCommandDto other) : this() {
      connectionName_ = other.connectionName_;
      derBase64_ = other.derBase64_;
      thumbprint_ = other.thumbprint_;
      siteIdentifier_ = other.siteIdentifier_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 1;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "der_base64" field.</summary>
    public const int DerBase64FieldNumber = 2;
    private string derBase64_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DerBase64 {
      get { return derBase64_; }
      set {
        derBase64_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "thumbprint" field.</summary>
    public const int ThumbprintFieldNumber = 3;
    private string thumbprint_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Thumbprint {
      get { return thumbprint_; }
      set {
        thumbprint_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 4;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 TrustServerCertCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrustServerCertCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ConnectionName != other.ConnectionName) return false;
      if (DerBase64 != other.DerBase64) return false;
      if (Thumbprint != other.Thumbprint) return false;
      if (SiteIdentifier != other.SiteIdentifier) 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 (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      if (DerBase64.Length != 0) hash ^= DerBase64.GetHashCode();
      if (Thumbprint.Length != 0) hash ^= Thumbprint.GetHashCode();
      if (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (DerBase64.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DerBase64);
      }
      if (Thumbprint.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ConnectionName);
      }
      if (DerBase64.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DerBase64);
      }
      if (Thumbprint.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SiteIdentifier);
      }
      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 (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      if (DerBase64.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DerBase64);
      }
      if (Thumbprint.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrustServerCertCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      if (other.DerBase64.Length != 0) {
        DerBase64 = other.DerBase64;
      }
      if (other.Thumbprint.Length != 0) {
        Thumbprint = other.Thumbprint;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            DerBase64 = input.ReadString();
            break;
          }
          case 26: {
            Thumbprint = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = 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 10: {
            ConnectionName = input.ReadString();
            break;
          }
          case 18: {
            DerBase64 = input.ReadString();
            break;
          }
          case 26: {
            Thumbprint = input.ReadString();
            break;
          }
          case 34: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[44]; }
    }

    [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 ListServerCertsCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 1;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 ListServerCertsCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ListServerCertsCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SiteIdentifier != other.SiteIdentifier) 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 (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (SiteIdentifier.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(SiteIdentifier);
      }
      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 (SiteIdentifier.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(SiteIdentifier);
      }
      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 (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ListServerCertsCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            SiteIdentifier = 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 10: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[45]; }
    }

    [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 RemoveServerCertCommandDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "thumbprint" field.</summary>
    public const int ThumbprintFieldNumber = 1;
    private string thumbprint_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Thumbprint {
      get { return thumbprint_; }
      set {
        thumbprint_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_identifier" field.</summary>
    public const int SiteIdentifierFieldNumber = 2;
    private string siteIdentifier_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteIdentifier {
      get { return siteIdentifier_; }
      set {
        siteIdentifier_ = 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 RemoveServerCertCommandDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RemoveServerCertCommandDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Thumbprint != other.Thumbprint) return false;
      if (SiteIdentifier != other.SiteIdentifier) 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 (Thumbprint.Length != 0) hash ^= Thumbprint.GetHashCode();
      if (SiteIdentifier.Length != 0) hash ^= SiteIdentifier.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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteIdentifier);
      }
      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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteIdentifier);
      }
      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 (Thumbprint.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Thumbprint);
      }
      if (SiteIdentifier.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteIdentifier);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RemoveServerCertCommandDto other) {
      if (other == null) {
        return;
      }
      if (other.Thumbprint.Length != 0) {
        Thumbprint = other.Thumbprint;
      }
      if (other.SiteIdentifier.Length != 0) {
        SiteIdentifier = other.SiteIdentifier;
      }
      _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: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            SiteIdentifier = 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 10: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            SiteIdentifier = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[46]; }
    }

    [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 TrustedCertInfoDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrustedCertInfoDto(TrustedCertInfoDto other) : this() {
      thumbprint_ = other.thumbprint_;
      subject_ = other.subject_;
      issuer_ = other.issuer_;
      notBeforeUtc_ = other.notBeforeUtc_ != null ? other.notBeforeUtc_.Clone() : null;
      notAfterUtc_ = other.notAfterUtc_ != null ? other.notAfterUtc_.Clone() : null;
      rejected_ = other.rejected_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "thumbprint" field.</summary>
    public const int ThumbprintFieldNumber = 1;
    private string thumbprint_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Thumbprint {
      get { return thumbprint_; }
      set {
        thumbprint_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "subject" field.</summary>
    public const int SubjectFieldNumber = 2;
    private string subject_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Subject {
      get { return subject_; }
      set {
        subject_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "issuer" field.</summary>
    public const int IssuerFieldNumber = 3;
    private string issuer_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Issuer {
      get { return issuer_; }
      set {
        issuer_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "not_before_utc" field.</summary>
    public const int NotBeforeUtcFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp notBeforeUtc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp NotBeforeUtc {
      get { return notBeforeUtc_; }
      set {
        notBeforeUtc_ = value;
      }
    }

    /// <summary>Field number for the "not_after_utc" field.</summary>
    public const int NotAfterUtcFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp notAfterUtc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp NotAfterUtc {
      get { return notAfterUtc_; }
      set {
        notAfterUtc_ = value;
      }
    }

    /// <summary>Field number for the "rejected" field.</summary>
    public const int RejectedFieldNumber = 6;
    private bool rejected_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Rejected {
      get { return rejected_; }
      set {
        rejected_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrustedCertInfoDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Thumbprint != other.Thumbprint) return false;
      if (Subject != other.Subject) return false;
      if (Issuer != other.Issuer) return false;
      if (!object.Equals(NotBeforeUtc, other.NotBeforeUtc)) return false;
      if (!object.Equals(NotAfterUtc, other.NotAfterUtc)) return false;
      if (Rejected != other.Rejected) 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 (Thumbprint.Length != 0) hash ^= Thumbprint.GetHashCode();
      if (Subject.Length != 0) hash ^= Subject.GetHashCode();
      if (Issuer.Length != 0) hash ^= Issuer.GetHashCode();
      if (notBeforeUtc_ != null) hash ^= NotBeforeUtc.GetHashCode();
      if (notAfterUtc_ != null) hash ^= NotAfterUtc.GetHashCode();
      if (Rejected != false) hash ^= Rejected.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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Subject);
      }
      if (Issuer.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Issuer);
      }
      if (notBeforeUtc_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotAfterUtc);
      }
      if (Rejected != false) {
        output.WriteRawTag(48);
        output.WriteBool(Rejected);
      }
      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 (Thumbprint.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Thumbprint);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Subject);
      }
      if (Issuer.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Issuer);
      }
      if (notBeforeUtc_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(NotAfterUtc);
      }
      if (Rejected != false) {
        output.WriteRawTag(48);
        output.WriteBool(Rejected);
      }
      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 (Thumbprint.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Thumbprint);
      }
      if (Subject.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Subject);
      }
      if (Issuer.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Issuer);
      }
      if (notBeforeUtc_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NotBeforeUtc);
      }
      if (notAfterUtc_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NotAfterUtc);
      }
      if (Rejected != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrustedCertInfoDto other) {
      if (other == null) {
        return;
      }
      if (other.Thumbprint.Length != 0) {
        Thumbprint = other.Thumbprint;
      }
      if (other.Subject.Length != 0) {
        Subject = other.Subject;
      }
      if (other.Issuer.Length != 0) {
        Issuer = other.Issuer;
      }
      if (other.notBeforeUtc_ != null) {
        if (notBeforeUtc_ == null) {
          NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        NotBeforeUtc.MergeFrom(other.NotBeforeUtc);
      }
      if (other.notAfterUtc_ != null) {
        if (notAfterUtc_ == null) {
          NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        NotAfterUtc.MergeFrom(other.NotAfterUtc);
      }
      if (other.Rejected != false) {
        Rejected = other.Rejected;
      }
      _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: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            Subject = input.ReadString();
            break;
          }
          case 26: {
            Issuer = input.ReadString();
            break;
          }
          case 34: {
            if (notBeforeUtc_ == null) {
              NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotBeforeUtc);
            break;
          }
          case 42: {
            if (notAfterUtc_ == null) {
              NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotAfterUtc);
            break;
          }
          case 48: {
            Rejected = input.ReadBool();
            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: {
            Thumbprint = input.ReadString();
            break;
          }
          case 18: {
            Subject = input.ReadString();
            break;
          }
          case 26: {
            Issuer = input.ReadString();
            break;
          }
          case 34: {
            if (notBeforeUtc_ == null) {
              NotBeforeUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotBeforeUtc);
            break;
          }
          case 42: {
            if (notAfterUtc_ == null) {
              NotAfterUtc = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NotAfterUtc);
            break;
          }
          case 48: {
            Rejected = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// CertTrustResult.Certs is a nullable list (null for trust/remove, populated
  /// for list) — same null-vs-empty problem as the artifact collections.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TrustedCertInfoListDto : pb::IMessage<TrustedCertInfoListDto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TrustedCertInfoListDto> _parser = new pb::MessageParser<TrustedCertInfoListDto>(() => new TrustedCertInfoListDto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TrustedCertInfoListDto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[47]; }
    }

    [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 TrustedCertInfoListDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "items" field.</summary>
    public const int ItemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto> _repeated_items_codec
        = pb::FieldCodec.ForMessage(10, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto> items_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoDto> Items {
      get { return items_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrustedCertInfoListDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!items_.Equals(other.items_)) 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 ^= items_.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
      items_.WriteTo(output, _repeated_items_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) {
      items_.WriteTo(ref output, _repeated_items_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 += items_.CalculateSize(_repeated_items_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrustedCertInfoListDto other) {
      if (other == null) {
        return;
      }
      items_.Add(other.items_);
      _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: {
            items_.AddEntriesFrom(input, _repeated_items_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: {
            items_.AddEntriesFrom(ref input, _repeated_items_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[48]; }
    }

    [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 CertTrustResultDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CertTrustResultDto(CertTrustResultDto other) : this() {
      success_ = other.success_;
      error_ = other.error_;
      certs_ = other.certs_ != null ? other.certs_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 1;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error" field.</summary>
    public const int ErrorFieldNumber = 2;
    private string error_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Error {
      get { return error_; }
      set {
        error_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "certs" field.</summary>
    public const int CertsFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto certs_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto Certs {
      get { return certs_; }
      set {
        certs_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CertTrustResultDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Success != other.Success) return false;
      if (Error != other.Error) return false;
      if (!object.Equals(Certs, other.Certs)) 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 (Success != false) hash ^= Success.GetHashCode();
      if (Error.Length != 0) hash ^= Error.GetHashCode();
      if (certs_ != null) hash ^= Certs.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 (Success != false) {
        output.WriteRawTag(8);
        output.WriteBool(Success);
      }
      if (Error.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Error);
      }
      if (certs_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Certs);
      }
      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 (Success != false) {
        output.WriteRawTag(8);
        output.WriteBool(Success);
      }
      if (Error.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Error);
      }
      if (certs_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Certs);
      }
      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 (Success != false) {
        size += 1 + 1;
      }
      if (Error.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Error);
      }
      if (certs_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Certs);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CertTrustResultDto other) {
      if (other == null) {
        return;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.Error.Length != 0) {
        Error = other.Error;
      }
      if (other.certs_ != null) {
        if (certs_ == null) {
          Certs = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto();
        }
        Certs.MergeFrom(other.Certs);
      }
      _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: {
            Success = input.ReadBool();
            break;
          }
          case 18: {
            Error = input.ReadString();
            break;
          }
          case 26: {
            if (certs_ == null) {
              Certs = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto();
            }
            input.ReadMessage(Certs);
            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: {
            Success = input.ReadBool();
            break;
          }
          case 18: {
            Error = input.ReadString();
            break;
          }
          case 26: {
            if (certs_ == null) {
              Certs = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustedCertInfoListDto();
            }
            input.ReadMessage(Certs);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[49]; }
    }

    [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 WriteTagRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WriteTagRequestDto(WriteTagRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      connectionName_ = other.connectionName_;
      tagPath_ = other.tagPath_;
      value_ = other.value_ != null ? other.value_.Clone() : null;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "connection_name" field.</summary>
    public const int ConnectionNameFieldNumber = 2;
    private string connectionName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionName {
      get { return connectionName_; }
      set {
        connectionName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "tag_path" field.</summary>
    public const int TagPathFieldNumber = 3;
    private string tagPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TagPath {
      get { return tagPath_; }
      set {
        tagPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue value_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(WriteTagRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (ConnectionName != other.ConnectionName) return false;
      if (TagPath != other.TagPath) return false;
      if (!object.Equals(Value, other.Value)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (ConnectionName.Length != 0) hash ^= ConnectionName.GetHashCode();
      if (TagPath.Length != 0) hash ^= TagPath.GetHashCode();
      if (value_ != null) hash ^= Value.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (ConnectionName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionName);
      }
      if (TagPath.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TagPath);
      }
      if (value_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Value);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (ConnectionName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionName);
      }
      if (TagPath.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TagPath);
      }
      if (value_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Value);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (ConnectionName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionName);
      }
      if (TagPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TagPath);
      }
      if (value_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(WriteTagRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.ConnectionName.Length != 0) {
        ConnectionName = other.ConnectionName;
      }
      if (other.TagPath.Length != 0) {
        TagPath = other.TagPath;
      }
      if (other.value_ != null) {
        if (value_ == null) {
          Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
        }
        Value.MergeFrom(other.Value);
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            ConnectionName = input.ReadString();
            break;
          }
          case 26: {
            TagPath = input.ReadString();
            break;
          }
          case 34: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            ConnectionName = input.ReadString();
            break;
          }
          case 26: {
            TagPath = input.ReadString();
            break;
          }
          case 34: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[50]; }
    }

    [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 WriteTagResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WriteTagResponseDto(WriteTagResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 3;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(WriteTagResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(WriteTagResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[51]; }
    }

    [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 OpcUaRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OpcUaRequest(OpcUaRequest other) : this() {
      switch (other.CommandCase) {
        case CommandOneofCase.BrowseNode:
          BrowseNode = other.BrowseNode.Clone();
          break;
        case CommandOneofCase.SearchAddressSpace:
          SearchAddressSpace = other.SearchAddressSpace.Clone();
          break;
        case CommandOneofCase.ReadTagValues:
          ReadTagValues = other.ReadTagValues.Clone();
          break;
        case CommandOneofCase.VerifyEndpoint:
          VerifyEndpoint = other.VerifyEndpoint.Clone();
          break;
        case CommandOneofCase.TrustServerCert:
          TrustServerCert = other.TrustServerCert.Clone();
          break;
        case CommandOneofCase.ListServerCerts:
          ListServerCerts = other.ListServerCerts.Clone();
          break;
        case CommandOneofCase.RemoveServerCert:
          RemoveServerCert = other.RemoveServerCert.Clone();
          break;
        case CommandOneofCase.WriteTag:
          WriteTag = other.WriteTag.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "browse_node" field.</summary>
    public const int BrowseNodeFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto BrowseNode {
      get { return commandCase_ == CommandOneofCase.BrowseNode ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.BrowseNode;
      }
    }

    /// <summary>Field number for the "search_address_space" field.</summary>
    public const int SearchAddressSpaceFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto SearchAddressSpace {
      get { return commandCase_ == CommandOneofCase.SearchAddressSpace ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.SearchAddressSpace;
      }
    }

    /// <summary>Field number for the "read_tag_values" field.</summary>
    public const int ReadTagValuesFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto ReadTagValues {
      get { return commandCase_ == CommandOneofCase.ReadTagValues ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.ReadTagValues;
      }
    }

    /// <summary>Field number for the "verify_endpoint" field.</summary>
    public const int VerifyEndpointFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto VerifyEndpoint {
      get { return commandCase_ == CommandOneofCase.VerifyEndpoint ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.VerifyEndpoint;
      }
    }

    /// <summary>Field number for the "trust_server_cert" field.</summary>
    public const int TrustServerCertFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto TrustServerCert {
      get { return commandCase_ == CommandOneofCase.TrustServerCert ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.TrustServerCert;
      }
    }

    /// <summary>Field number for the "list_server_certs" field.</summary>
    public const int ListServerCertsFieldNumber = 6;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto ListServerCerts {
      get { return commandCase_ == CommandOneofCase.ListServerCerts ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.ListServerCerts;
      }
    }

    /// <summary>Field number for the "remove_server_cert" field.</summary>
    public const int RemoveServerCertFieldNumber = 7;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto RemoveServerCert {
      get { return commandCase_ == CommandOneofCase.RemoveServerCert ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RemoveServerCert;
      }
    }

    /// <summary>Field number for the "write_tag" field.</summary>
    public const int WriteTagFieldNumber = 8;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto WriteTag {
      get { return commandCase_ == CommandOneofCase.WriteTag ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.WriteTag;
      }
    }

    private object command_;
    /// <summary>Enum of possible cases for the "command" oneof.</summary>
    public enum CommandOneofCase {
      None = 0,
      BrowseNode = 1,
      SearchAddressSpace = 2,
      ReadTagValues = 3,
      VerifyEndpoint = 4,
      TrustServerCert = 5,
      ListServerCerts = 6,
      RemoveServerCert = 7,
      WriteTag = 8,
    }
    private CommandOneofCase commandCase_ = CommandOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandOneofCase CommandCase {
      get { return commandCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearCommand() {
      commandCase_ = CommandOneofCase.None;
      command_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OpcUaRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(BrowseNode, other.BrowseNode)) return false;
      if (!object.Equals(SearchAddressSpace, other.SearchAddressSpace)) return false;
      if (!object.Equals(ReadTagValues, other.ReadTagValues)) return false;
      if (!object.Equals(VerifyEndpoint, other.VerifyEndpoint)) return false;
      if (!object.Equals(TrustServerCert, other.TrustServerCert)) return false;
      if (!object.Equals(ListServerCerts, other.ListServerCerts)) return false;
      if (!object.Equals(RemoveServerCert, other.RemoveServerCert)) return false;
      if (!object.Equals(WriteTag, other.WriteTag)) return false;
      if (CommandCase != other.CommandCase) 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 (commandCase_ == CommandOneofCase.BrowseNode) hash ^= BrowseNode.GetHashCode();
      if (commandCase_ == CommandOneofCase.SearchAddressSpace) hash ^= SearchAddressSpace.GetHashCode();
      if (commandCase_ == CommandOneofCase.ReadTagValues) hash ^= ReadTagValues.GetHashCode();
      if (commandCase_ == CommandOneofCase.VerifyEndpoint) hash ^= VerifyEndpoint.GetHashCode();
      if (commandCase_ == CommandOneofCase.TrustServerCert) hash ^= TrustServerCert.GetHashCode();
      if (commandCase_ == CommandOneofCase.ListServerCerts) hash ^= ListServerCerts.GetHashCode();
      if (commandCase_ == CommandOneofCase.RemoveServerCert) hash ^= RemoveServerCert.GetHashCode();
      if (commandCase_ == CommandOneofCase.WriteTag) hash ^= WriteTag.GetHashCode();
      hash ^= (int) commandCase_;
      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 (commandCase_ == CommandOneofCase.BrowseNode) {
        output.WriteRawTag(10);
        output.WriteMessage(BrowseNode);
      }
      if (commandCase_ == CommandOneofCase.SearchAddressSpace) {
        output.WriteRawTag(18);
        output.WriteMessage(SearchAddressSpace);
      }
      if (commandCase_ == CommandOneofCase.ReadTagValues) {
        output.WriteRawTag(26);
        output.WriteMessage(ReadTagValues);
      }
      if (commandCase_ == CommandOneofCase.VerifyEndpoint) {
        output.WriteRawTag(34);
        output.WriteMessage(VerifyEndpoint);
      }
      if (commandCase_ == CommandOneofCase.TrustServerCert) {
        output.WriteRawTag(42);
        output.WriteMessage(TrustServerCert);
      }
      if (commandCase_ == CommandOneofCase.ListServerCerts) {
        output.WriteRawTag(50);
        output.WriteMessage(ListServerCerts);
      }
      if (commandCase_ == CommandOneofCase.RemoveServerCert) {
        output.WriteRawTag(58);
        output.WriteMessage(RemoveServerCert);
      }
      if (commandCase_ == CommandOneofCase.WriteTag) {
        output.WriteRawTag(66);
        output.WriteMessage(WriteTag);
      }
      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 (commandCase_ == CommandOneofCase.BrowseNode) {
        output.WriteRawTag(10);
        output.WriteMessage(BrowseNode);
      }
      if (commandCase_ == CommandOneofCase.SearchAddressSpace) {
        output.WriteRawTag(18);
        output.WriteMessage(SearchAddressSpace);
      }
      if (commandCase_ == CommandOneofCase.ReadTagValues) {
        output.WriteRawTag(26);
        output.WriteMessage(ReadTagValues);
      }
      if (commandCase_ == CommandOneofCase.VerifyEndpoint) {
        output.WriteRawTag(34);
        output.WriteMessage(VerifyEndpoint);
      }
      if (commandCase_ == CommandOneofCase.TrustServerCert) {
        output.WriteRawTag(42);
        output.WriteMessage(TrustServerCert);
      }
      if (commandCase_ == CommandOneofCase.ListServerCerts) {
        output.WriteRawTag(50);
        output.WriteMessage(ListServerCerts);
      }
      if (commandCase_ == CommandOneofCase.RemoveServerCert) {
        output.WriteRawTag(58);
        output.WriteMessage(RemoveServerCert);
      }
      if (commandCase_ == CommandOneofCase.WriteTag) {
        output.WriteRawTag(66);
        output.WriteMessage(WriteTag);
      }
      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 (commandCase_ == CommandOneofCase.BrowseNode) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BrowseNode);
      }
      if (commandCase_ == CommandOneofCase.SearchAddressSpace) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SearchAddressSpace);
      }
      if (commandCase_ == CommandOneofCase.ReadTagValues) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReadTagValues);
      }
      if (commandCase_ == CommandOneofCase.VerifyEndpoint) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VerifyEndpoint);
      }
      if (commandCase_ == CommandOneofCase.TrustServerCert) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrustServerCert);
      }
      if (commandCase_ == CommandOneofCase.ListServerCerts) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ListServerCerts);
      }
      if (commandCase_ == CommandOneofCase.RemoveServerCert) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoveServerCert);
      }
      if (commandCase_ == CommandOneofCase.WriteTag) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(WriteTag);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OpcUaRequest other) {
      if (other == null) {
        return;
      }
      switch (other.CommandCase) {
        case CommandOneofCase.BrowseNode:
          if (BrowseNode == null) {
            BrowseNode = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto();
          }
          BrowseNode.MergeFrom(other.BrowseNode);
          break;
        case CommandOneofCase.SearchAddressSpace:
          if (SearchAddressSpace == null) {
            SearchAddressSpace = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto();
          }
          SearchAddressSpace.MergeFrom(other.SearchAddressSpace);
          break;
        case CommandOneofCase.ReadTagValues:
          if (ReadTagValues == null) {
            ReadTagValues = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto();
          }
          ReadTagValues.MergeFrom(other.ReadTagValues);
          break;
        case CommandOneofCase.VerifyEndpoint:
          if (VerifyEndpoint == null) {
            VerifyEndpoint = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto();
          }
          VerifyEndpoint.MergeFrom(other.VerifyEndpoint);
          break;
        case CommandOneofCase.TrustServerCert:
          if (TrustServerCert == null) {
            TrustServerCert = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto();
          }
          TrustServerCert.MergeFrom(other.TrustServerCert);
          break;
        case CommandOneofCase.ListServerCerts:
          if (ListServerCerts == null) {
            ListServerCerts = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto();
          }
          ListServerCerts.MergeFrom(other.ListServerCerts);
          break;
        case CommandOneofCase.RemoveServerCert:
          if (RemoveServerCert == null) {
            RemoveServerCert = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto();
          }
          RemoveServerCert.MergeFrom(other.RemoveServerCert);
          break;
        case CommandOneofCase.WriteTag:
          if (WriteTag == null) {
            WriteTag = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto();
          }
          WriteTag.MergeFrom(other.WriteTag);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto();
            if (commandCase_ == CommandOneofCase.BrowseNode) {
              subBuilder.MergeFrom(BrowseNode);
            }
            input.ReadMessage(subBuilder);
            BrowseNode = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto();
            if (commandCase_ == CommandOneofCase.SearchAddressSpace) {
              subBuilder.MergeFrom(SearchAddressSpace);
            }
            input.ReadMessage(subBuilder);
            SearchAddressSpace = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto();
            if (commandCase_ == CommandOneofCase.ReadTagValues) {
              subBuilder.MergeFrom(ReadTagValues);
            }
            input.ReadMessage(subBuilder);
            ReadTagValues = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto();
            if (commandCase_ == CommandOneofCase.VerifyEndpoint) {
              subBuilder.MergeFrom(VerifyEndpoint);
            }
            input.ReadMessage(subBuilder);
            VerifyEndpoint = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto();
            if (commandCase_ == CommandOneofCase.TrustServerCert) {
              subBuilder.MergeFrom(TrustServerCert);
            }
            input.ReadMessage(subBuilder);
            TrustServerCert = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto();
            if (commandCase_ == CommandOneofCase.ListServerCerts) {
              subBuilder.MergeFrom(ListServerCerts);
            }
            input.ReadMessage(subBuilder);
            ListServerCerts = subBuilder;
            break;
          }
          case 58: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto();
            if (commandCase_ == CommandOneofCase.RemoveServerCert) {
              subBuilder.MergeFrom(RemoveServerCert);
            }
            input.ReadMessage(subBuilder);
            RemoveServerCert = subBuilder;
            break;
          }
          case 66: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto();
            if (commandCase_ == CommandOneofCase.WriteTag) {
              subBuilder.MergeFrom(WriteTag);
            }
            input.ReadMessage(subBuilder);
            WriteTag = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeCommandDto();
            if (commandCase_ == CommandOneofCase.BrowseNode) {
              subBuilder.MergeFrom(BrowseNode);
            }
            input.ReadMessage(subBuilder);
            BrowseNode = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceCommandDto();
            if (commandCase_ == CommandOneofCase.SearchAddressSpace) {
              subBuilder.MergeFrom(SearchAddressSpace);
            }
            input.ReadMessage(subBuilder);
            SearchAddressSpace = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesCommandDto();
            if (commandCase_ == CommandOneofCase.ReadTagValues) {
              subBuilder.MergeFrom(ReadTagValues);
            }
            input.ReadMessage(subBuilder);
            ReadTagValues = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointCommandDto();
            if (commandCase_ == CommandOneofCase.VerifyEndpoint) {
              subBuilder.MergeFrom(VerifyEndpoint);
            }
            input.ReadMessage(subBuilder);
            VerifyEndpoint = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.TrustServerCertCommandDto();
            if (commandCase_ == CommandOneofCase.TrustServerCert) {
              subBuilder.MergeFrom(TrustServerCert);
            }
            input.ReadMessage(subBuilder);
            TrustServerCert = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ListServerCertsCommandDto();
            if (commandCase_ == CommandOneofCase.ListServerCerts) {
              subBuilder.MergeFrom(ListServerCerts);
            }
            input.ReadMessage(subBuilder);
            ListServerCerts = subBuilder;
            break;
          }
          case 58: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RemoveServerCertCommandDto();
            if (commandCase_ == CommandOneofCase.RemoveServerCert) {
              subBuilder.MergeFrom(RemoveServerCert);
            }
            input.ReadMessage(subBuilder);
            RemoveServerCert = subBuilder;
            break;
          }
          case 66: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagRequestDto();
            if (commandCase_ == CommandOneofCase.WriteTag) {
              subBuilder.MergeFrom(WriteTag);
            }
            input.ReadMessage(subBuilder);
            WriteTag = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[52]; }
    }

    [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 OpcUaReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OpcUaReply(OpcUaReply other) : this() {
      switch (other.ReplyCase) {
        case ReplyOneofCase.BrowseNode:
          BrowseNode = other.BrowseNode.Clone();
          break;
        case ReplyOneofCase.SearchAddressSpace:
          SearchAddressSpace = other.SearchAddressSpace.Clone();
          break;
        case ReplyOneofCase.ReadTagValues:
          ReadTagValues = other.ReadTagValues.Clone();
          break;
        case ReplyOneofCase.VerifyEndpoint:
          VerifyEndpoint = other.VerifyEndpoint.Clone();
          break;
        case ReplyOneofCase.CertTrust:
          CertTrust = other.CertTrust.Clone();
          break;
        case ReplyOneofCase.WriteTag:
          WriteTag = other.WriteTag.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "browse_node" field.</summary>
    public const int BrowseNodeFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto BrowseNode {
      get { return replyCase_ == ReplyOneofCase.BrowseNode ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.BrowseNode;
      }
    }

    /// <summary>Field number for the "search_address_space" field.</summary>
    public const int SearchAddressSpaceFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto SearchAddressSpace {
      get { return replyCase_ == ReplyOneofCase.SearchAddressSpace ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.SearchAddressSpace;
      }
    }

    /// <summary>Field number for the "read_tag_values" field.</summary>
    public const int ReadTagValuesFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto ReadTagValues {
      get { return replyCase_ == ReplyOneofCase.ReadTagValues ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ReadTagValues;
      }
    }

    /// <summary>Field number for the "verify_endpoint" field.</summary>
    public const int VerifyEndpointFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto VerifyEndpoint {
      get { return replyCase_ == ReplyOneofCase.VerifyEndpoint ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.VerifyEndpoint;
      }
    }

    /// <summary>Field number for the "cert_trust" field.</summary>
    public const int CertTrustFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto CertTrust {
      get { return replyCase_ == ReplyOneofCase.CertTrust ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.CertTrust;
      }
    }

    /// <summary>Field number for the "write_tag" field.</summary>
    public const int WriteTagFieldNumber = 6;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto WriteTag {
      get { return replyCase_ == ReplyOneofCase.WriteTag ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.WriteTag;
      }
    }

    private object reply_;
    /// <summary>Enum of possible cases for the "reply" oneof.</summary>
    public enum ReplyOneofCase {
      None = 0,
      BrowseNode = 1,
      SearchAddressSpace = 2,
      ReadTagValues = 3,
      VerifyEndpoint = 4,
      CertTrust = 5,
      WriteTag = 6,
    }
    private ReplyOneofCase replyCase_ = ReplyOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReplyOneofCase ReplyCase {
      get { return replyCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearReply() {
      replyCase_ = ReplyOneofCase.None;
      reply_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OpcUaReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(BrowseNode, other.BrowseNode)) return false;
      if (!object.Equals(SearchAddressSpace, other.SearchAddressSpace)) return false;
      if (!object.Equals(ReadTagValues, other.ReadTagValues)) return false;
      if (!object.Equals(VerifyEndpoint, other.VerifyEndpoint)) return false;
      if (!object.Equals(CertTrust, other.CertTrust)) return false;
      if (!object.Equals(WriteTag, other.WriteTag)) return false;
      if (ReplyCase != other.ReplyCase) 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 (replyCase_ == ReplyOneofCase.BrowseNode) hash ^= BrowseNode.GetHashCode();
      if (replyCase_ == ReplyOneofCase.SearchAddressSpace) hash ^= SearchAddressSpace.GetHashCode();
      if (replyCase_ == ReplyOneofCase.ReadTagValues) hash ^= ReadTagValues.GetHashCode();
      if (replyCase_ == ReplyOneofCase.VerifyEndpoint) hash ^= VerifyEndpoint.GetHashCode();
      if (replyCase_ == ReplyOneofCase.CertTrust) hash ^= CertTrust.GetHashCode();
      if (replyCase_ == ReplyOneofCase.WriteTag) hash ^= WriteTag.GetHashCode();
      hash ^= (int) replyCase_;
      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 (replyCase_ == ReplyOneofCase.BrowseNode) {
        output.WriteRawTag(10);
        output.WriteMessage(BrowseNode);
      }
      if (replyCase_ == ReplyOneofCase.SearchAddressSpace) {
        output.WriteRawTag(18);
        output.WriteMessage(SearchAddressSpace);
      }
      if (replyCase_ == ReplyOneofCase.ReadTagValues) {
        output.WriteRawTag(26);
        output.WriteMessage(ReadTagValues);
      }
      if (replyCase_ == ReplyOneofCase.VerifyEndpoint) {
        output.WriteRawTag(34);
        output.WriteMessage(VerifyEndpoint);
      }
      if (replyCase_ == ReplyOneofCase.CertTrust) {
        output.WriteRawTag(42);
        output.WriteMessage(CertTrust);
      }
      if (replyCase_ == ReplyOneofCase.WriteTag) {
        output.WriteRawTag(50);
        output.WriteMessage(WriteTag);
      }
      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 (replyCase_ == ReplyOneofCase.BrowseNode) {
        output.WriteRawTag(10);
        output.WriteMessage(BrowseNode);
      }
      if (replyCase_ == ReplyOneofCase.SearchAddressSpace) {
        output.WriteRawTag(18);
        output.WriteMessage(SearchAddressSpace);
      }
      if (replyCase_ == ReplyOneofCase.ReadTagValues) {
        output.WriteRawTag(26);
        output.WriteMessage(ReadTagValues);
      }
      if (replyCase_ == ReplyOneofCase.VerifyEndpoint) {
        output.WriteRawTag(34);
        output.WriteMessage(VerifyEndpoint);
      }
      if (replyCase_ == ReplyOneofCase.CertTrust) {
        output.WriteRawTag(42);
        output.WriteMessage(CertTrust);
      }
      if (replyCase_ == ReplyOneofCase.WriteTag) {
        output.WriteRawTag(50);
        output.WriteMessage(WriteTag);
      }
      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 (replyCase_ == ReplyOneofCase.BrowseNode) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BrowseNode);
      }
      if (replyCase_ == ReplyOneofCase.SearchAddressSpace) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SearchAddressSpace);
      }
      if (replyCase_ == ReplyOneofCase.ReadTagValues) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReadTagValues);
      }
      if (replyCase_ == ReplyOneofCase.VerifyEndpoint) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(VerifyEndpoint);
      }
      if (replyCase_ == ReplyOneofCase.CertTrust) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CertTrust);
      }
      if (replyCase_ == ReplyOneofCase.WriteTag) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(WriteTag);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OpcUaReply other) {
      if (other == null) {
        return;
      }
      switch (other.ReplyCase) {
        case ReplyOneofCase.BrowseNode:
          if (BrowseNode == null) {
            BrowseNode = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto();
          }
          BrowseNode.MergeFrom(other.BrowseNode);
          break;
        case ReplyOneofCase.SearchAddressSpace:
          if (SearchAddressSpace == null) {
            SearchAddressSpace = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto();
          }
          SearchAddressSpace.MergeFrom(other.SearchAddressSpace);
          break;
        case ReplyOneofCase.ReadTagValues:
          if (ReadTagValues == null) {
            ReadTagValues = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto();
          }
          ReadTagValues.MergeFrom(other.ReadTagValues);
          break;
        case ReplyOneofCase.VerifyEndpoint:
          if (VerifyEndpoint == null) {
            VerifyEndpoint = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto();
          }
          VerifyEndpoint.MergeFrom(other.VerifyEndpoint);
          break;
        case ReplyOneofCase.CertTrust:
          if (CertTrust == null) {
            CertTrust = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto();
          }
          CertTrust.MergeFrom(other.CertTrust);
          break;
        case ReplyOneofCase.WriteTag:
          if (WriteTag == null) {
            WriteTag = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto();
          }
          WriteTag.MergeFrom(other.WriteTag);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto();
            if (replyCase_ == ReplyOneofCase.BrowseNode) {
              subBuilder.MergeFrom(BrowseNode);
            }
            input.ReadMessage(subBuilder);
            BrowseNode = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto();
            if (replyCase_ == ReplyOneofCase.SearchAddressSpace) {
              subBuilder.MergeFrom(SearchAddressSpace);
            }
            input.ReadMessage(subBuilder);
            SearchAddressSpace = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto();
            if (replyCase_ == ReplyOneofCase.ReadTagValues) {
              subBuilder.MergeFrom(ReadTagValues);
            }
            input.ReadMessage(subBuilder);
            ReadTagValues = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto();
            if (replyCase_ == ReplyOneofCase.VerifyEndpoint) {
              subBuilder.MergeFrom(VerifyEndpoint);
            }
            input.ReadMessage(subBuilder);
            VerifyEndpoint = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto();
            if (replyCase_ == ReplyOneofCase.CertTrust) {
              subBuilder.MergeFrom(CertTrust);
            }
            input.ReadMessage(subBuilder);
            CertTrust = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto();
            if (replyCase_ == ReplyOneofCase.WriteTag) {
              subBuilder.MergeFrom(WriteTag);
            }
            input.ReadMessage(subBuilder);
            WriteTag = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeResultDto();
            if (replyCase_ == ReplyOneofCase.BrowseNode) {
              subBuilder.MergeFrom(BrowseNode);
            }
            input.ReadMessage(subBuilder);
            BrowseNode = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SearchAddressSpaceResultDto();
            if (replyCase_ == ReplyOneofCase.SearchAddressSpace) {
              subBuilder.MergeFrom(SearchAddressSpace);
            }
            input.ReadMessage(subBuilder);
            SearchAddressSpace = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesResultDto();
            if (replyCase_ == ReplyOneofCase.ReadTagValues) {
              subBuilder.MergeFrom(ReadTagValues);
            }
            input.ReadMessage(subBuilder);
            ReadTagValues = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyEndpointResultDto();
            if (replyCase_ == ReplyOneofCase.VerifyEndpoint) {
              subBuilder.MergeFrom(VerifyEndpoint);
            }
            input.ReadMessage(subBuilder);
            VerifyEndpoint = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.CertTrustResultDto();
            if (replyCase_ == ReplyOneofCase.CertTrust) {
              subBuilder.MergeFrom(CertTrust);
            }
            input.ReadMessage(subBuilder);
            CertTrust = subBuilder;
            break;
          }
          case 50: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.WriteTagResponseDto();
            if (replyCase_ == ReplyOneofCase.WriteTag) {
              subBuilder.MergeFrom(WriteTag);
            }
            input.ReadMessage(subBuilder);
            WriteTag = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[53]; }
    }

    [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 EventLogQueryRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventLogQueryRequestDto(EventLogQueryRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      from_ = other.from_ != null ? other.from_.Clone() : null;
      to_ = other.to_ != null ? other.to_.Clone() : null;
      eventType_ = other.eventType_;
      severity_ = other.severity_;
      instanceId_ = other.instanceId_;
      keywordFilter_ = other.keywordFilter_;
      continuationToken_ = other.continuationToken_;
      pageSize_ = other.pageSize_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "from" field.</summary>
    public const int FromFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp from_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp From {
      get { return from_; }
      set {
        from_ = value;
      }
    }

    /// <summary>Field number for the "to" field.</summary>
    public const int ToFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp to_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp To {
      get { return to_; }
      set {
        to_ = value;
      }
    }

    /// <summary>Field number for the "event_type" field.</summary>
    public const int EventTypeFieldNumber = 5;
    private string eventType_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EventType {
      get { return eventType_; }
      set {
        eventType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "severity" field.</summary>
    public const int SeverityFieldNumber = 6;
    private string severity_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Severity {
      get { return severity_; }
      set {
        severity_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_id" field.</summary>
    public const int InstanceIdFieldNumber = 7;
    private string instanceId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceId {
      get { return instanceId_; }
      set {
        instanceId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "keyword_filter" field.</summary>
    public const int KeywordFilterFieldNumber = 8;
    private string keywordFilter_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string KeywordFilter {
      get { return keywordFilter_; }
      set {
        keywordFilter_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "continuation_token" field.</summary>
    public const int ContinuationTokenFieldNumber = 9;
    private string continuationToken_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ContinuationToken {
      get { return continuationToken_; }
      set {
        continuationToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "page_size" field.</summary>
    public const int PageSizeFieldNumber = 10;
    private int pageSize_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageSize {
      get { return pageSize_; }
      set {
        pageSize_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 11;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventLogQueryRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if (!object.Equals(From, other.From)) return false;
      if (!object.Equals(To, other.To)) return false;
      if (EventType != other.EventType) return false;
      if (Severity != other.Severity) return false;
      if (InstanceId != other.InstanceId) return false;
      if (KeywordFilter != other.KeywordFilter) return false;
      if (ContinuationToken != other.ContinuationToken) return false;
      if (PageSize != other.PageSize) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      if (from_ != null) hash ^= From.GetHashCode();
      if (to_ != null) hash ^= To.GetHashCode();
      if (EventType.Length != 0) hash ^= EventType.GetHashCode();
      if (Severity.Length != 0) hash ^= Severity.GetHashCode();
      if (InstanceId.Length != 0) hash ^= InstanceId.GetHashCode();
      if (KeywordFilter.Length != 0) hash ^= KeywordFilter.GetHashCode();
      if (ContinuationToken.Length != 0) hash ^= ContinuationToken.GetHashCode();
      if (PageSize != 0) hash ^= PageSize.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (from_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(From);
      }
      if (to_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(To);
      }
      if (EventType.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(EventType);
      }
      if (Severity.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Severity);
      }
      if (InstanceId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(InstanceId);
      }
      if (KeywordFilter.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(KeywordFilter);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ContinuationToken);
      }
      if (PageSize != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PageSize);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (from_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(From);
      }
      if (to_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(To);
      }
      if (EventType.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(EventType);
      }
      if (Severity.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Severity);
      }
      if (InstanceId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(InstanceId);
      }
      if (KeywordFilter.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(KeywordFilter);
      }
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ContinuationToken);
      }
      if (PageSize != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PageSize);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (from_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(From);
      }
      if (to_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(To);
      }
      if (EventType.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EventType);
      }
      if (Severity.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Severity);
      }
      if (InstanceId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceId);
      }
      if (KeywordFilter.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(KeywordFilter);
      }
      if (ContinuationToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ContinuationToken);
      }
      if (PageSize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageSize);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventLogQueryRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      if (other.from_ != null) {
        if (from_ == null) {
          From = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        From.MergeFrom(other.From);
      }
      if (other.to_ != null) {
        if (to_ == null) {
          To = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        To.MergeFrom(other.To);
      }
      if (other.EventType.Length != 0) {
        EventType = other.EventType;
      }
      if (other.Severity.Length != 0) {
        Severity = other.Severity;
      }
      if (other.InstanceId.Length != 0) {
        InstanceId = other.InstanceId;
      }
      if (other.KeywordFilter.Length != 0) {
        KeywordFilter = other.KeywordFilter;
      }
      if (other.ContinuationToken.Length != 0) {
        ContinuationToken = other.ContinuationToken;
      }
      if (other.PageSize != 0) {
        PageSize = other.PageSize;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            if (from_ == null) {
              From = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(From);
            break;
          }
          case 34: {
            if (to_ == null) {
              To = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(To);
            break;
          }
          case 42: {
            EventType = input.ReadString();
            break;
          }
          case 50: {
            Severity = input.ReadString();
            break;
          }
          case 58: {
            InstanceId = input.ReadString();
            break;
          }
          case 66: {
            KeywordFilter = input.ReadString();
            break;
          }
          case 74: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 80: {
            PageSize = input.ReadInt32();
            break;
          }
          case 90: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            if (from_ == null) {
              From = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(From);
            break;
          }
          case 34: {
            if (to_ == null) {
              To = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(To);
            break;
          }
          case 42: {
            EventType = input.ReadString();
            break;
          }
          case 50: {
            Severity = input.ReadString();
            break;
          }
          case 58: {
            InstanceId = input.ReadString();
            break;
          }
          case 66: {
            KeywordFilter = input.ReadString();
            break;
          }
          case 74: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 80: {
            PageSize = input.ReadInt32();
            break;
          }
          case 90: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[54]; }
    }

    [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 EventLogEntryDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventLogEntryDto(EventLogEntryDto other) : this() {
      id_ = other.id_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      eventType_ = other.eventType_;
      severity_ = other.severity_;
      instanceId_ = other.instanceId_;
      source_ = other.source_;
      message_ = other.message_;
      details_ = other.details_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 2;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "event_type" field.</summary>
    public const int EventTypeFieldNumber = 3;
    private string eventType_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EventType {
      get { return eventType_; }
      set {
        eventType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "severity" field.</summary>
    public const int SeverityFieldNumber = 4;
    private string severity_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Severity {
      get { return severity_; }
      set {
        severity_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_id" field.</summary>
    public const int InstanceIdFieldNumber = 5;
    private string instanceId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceId {
      get { return instanceId_; }
      set {
        instanceId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "source" field.</summary>
    public const int SourceFieldNumber = 6;
    private string source_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Source {
      get { return source_; }
      set {
        source_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 7;
    private string message_ = "";
    [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 "details" field.</summary>
    public const int DetailsFieldNumber = 8;
    private string details_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Details {
      get { return details_; }
      set {
        details_ = 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 EventLogEntryDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventLogEntryDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (EventType != other.EventType) return false;
      if (Severity != other.Severity) return false;
      if (InstanceId != other.InstanceId) return false;
      if (Source != other.Source) return false;
      if (Message != other.Message) return false;
      if (Details != other.Details) 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 (Id.Length != 0) hash ^= Id.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (EventType.Length != 0) hash ^= EventType.GetHashCode();
      if (Severity.Length != 0) hash ^= Severity.GetHashCode();
      if (InstanceId.Length != 0) hash ^= InstanceId.GetHashCode();
      if (Source.Length != 0) hash ^= Source.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (Details.Length != 0) hash ^= Details.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 (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Timestamp);
      }
      if (EventType.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(EventType);
      }
      if (Severity.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Severity);
      }
      if (InstanceId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(InstanceId);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Message);
      }
      if (Details.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Details);
      }
      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 (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Timestamp);
      }
      if (EventType.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(EventType);
      }
      if (Severity.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Severity);
      }
      if (InstanceId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(InstanceId);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Message);
      }
      if (Details.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Details);
      }
      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 (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (EventType.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EventType);
      }
      if (Severity.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Severity);
      }
      if (InstanceId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceId);
      }
      if (Source.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Source);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (Details.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Details);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventLogEntryDto other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.EventType.Length != 0) {
        EventType = other.EventType;
      }
      if (other.Severity.Length != 0) {
        Severity = other.Severity;
      }
      if (other.InstanceId.Length != 0) {
        InstanceId = other.InstanceId;
      }
      if (other.Source.Length != 0) {
        Source = other.Source;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.Details.Length != 0) {
        Details = other.Details;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 26: {
            EventType = input.ReadString();
            break;
          }
          case 34: {
            Severity = input.ReadString();
            break;
          }
          case 42: {
            InstanceId = input.ReadString();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 58: {
            Message = input.ReadString();
            break;
          }
          case 66: {
            Details = 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 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 26: {
            EventType = input.ReadString();
            break;
          }
          case 34: {
            Severity = input.ReadString();
            break;
          }
          case 42: {
            InstanceId = input.ReadString();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 58: {
            Message = input.ReadString();
            break;
          }
          case 66: {
            Details = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[55]; }
    }

    [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 EventLogQueryResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventLogQueryResponseDto(EventLogQueryResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      entries_ = other.entries_.Clone();
      continuationToken_ = other.continuationToken_;
      hasMore_ = other.hasMore_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "entries" field.</summary>
    public const int EntriesFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto> _repeated_entries_codec
        = pb::FieldCodec.ForMessage(26, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto> entries_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogEntryDto> Entries {
      get { return entries_; }
    }

    /// <summary>Field number for the "continuation_token" field.</summary>
    public const int ContinuationTokenFieldNumber = 4;
    private string continuationToken_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ContinuationToken {
      get { return continuationToken_; }
      set {
        continuationToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "has_more" field.</summary>
    public const int HasMoreFieldNumber = 5;
    private bool hasMore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasMore {
      get { return hasMore_; }
      set {
        hasMore_ = value;
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 6;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 7;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 8;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventLogQueryResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if(!entries_.Equals(other.entries_)) return false;
      if (ContinuationToken != other.ContinuationToken) return false;
      if (HasMore != other.HasMore) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      hash ^= entries_.GetHashCode();
      if (ContinuationToken.Length != 0) hash ^= ContinuationToken.GetHashCode();
      if (HasMore != false) hash ^= HasMore.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      entries_.WriteTo(output, _repeated_entries_codec);
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ContinuationToken);
      }
      if (HasMore != false) {
        output.WriteRawTag(40);
        output.WriteBool(HasMore);
      }
      if (Success != false) {
        output.WriteRawTag(48);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      entries_.WriteTo(ref output, _repeated_entries_codec);
      if (ContinuationToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ContinuationToken);
      }
      if (HasMore != false) {
        output.WriteRawTag(40);
        output.WriteBool(HasMore);
      }
      if (Success != false) {
        output.WriteRawTag(48);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      size += entries_.CalculateSize(_repeated_entries_codec);
      if (ContinuationToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ContinuationToken);
      }
      if (HasMore != false) {
        size += 1 + 1;
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventLogQueryResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      entries_.Add(other.entries_);
      if (other.ContinuationToken.Length != 0) {
        ContinuationToken = other.ContinuationToken;
      }
      if (other.HasMore != false) {
        HasMore = other.HasMore;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            entries_.AddEntriesFrom(input, _repeated_entries_codec);
            break;
          }
          case 34: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 40: {
            HasMore = input.ReadBool();
            break;
          }
          case 48: {
            Success = input.ReadBool();
            break;
          }
          case 58: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            entries_.AddEntriesFrom(ref input, _repeated_entries_codec);
            break;
          }
          case 34: {
            ContinuationToken = input.ReadString();
            break;
          }
          case 40: {
            HasMore = input.ReadBool();
            break;
          }
          case 48: {
            Success = input.ReadBool();
            break;
          }
          case 58: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[56]; }
    }

    [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 DebugSnapshotRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 2;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "alarms_only" field.</summary>
    public const int AlarmsOnlyFieldNumber = 3;
    private bool alarmsOnly_;
    /// <summary>
    /// Alarms-only projection (WP2.3 wire efficiency): when true the site builds
    /// and returns ONLY the alarm rows of the debug snapshot, leaving
    /// attribute_values empty. Used by the central per-site live alarm cache,
    /// whose seed/reconcile fan-out discards every attribute row anyway — a full
    /// snapshot ships the whole attribute surface of every enabled instance once
    /// per reconcile for nothing. proto3 defaults it to false, so an older
    /// central that never sets it keeps the full-snapshot behaviour. Additive-only.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool AlarmsOnly {
      get { return alarmsOnly_; }
      set {
        alarmsOnly_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DebugSnapshotRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (CorrelationId != other.CorrelationId) return false;
      if (AlarmsOnly != other.AlarmsOnly) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (AlarmsOnly != false) hash ^= AlarmsOnly.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      if (AlarmsOnly != false) {
        output.WriteRawTag(24);
        output.WriteBool(AlarmsOnly);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      if (AlarmsOnly != false) {
        output.WriteRawTag(24);
        output.WriteBool(AlarmsOnly);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (AlarmsOnly != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DebugSnapshotRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.AlarmsOnly != false) {
        AlarmsOnly = other.AlarmsOnly;
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = input.ReadString();
            break;
          }
          case 24: {
            AlarmsOnly = input.ReadBool();
            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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = input.ReadString();
            break;
          }
          case 24: {
            AlarmsOnly = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[57]; }
    }

    [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 SubscribeDebugViewRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 2;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = 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 SubscribeDebugViewRequestDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SubscribeDebugViewRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (CorrelationId != other.CorrelationId) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (CorrelationId.Length != 0) hash ^= CorrelationId.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SubscribeDebugViewRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = 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 10: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[58]; }
    }

    [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 UnsubscribeDebugViewRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 2;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = 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 UnsubscribeDebugViewRequestDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UnsubscribeDebugViewRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (CorrelationId != other.CorrelationId) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (CorrelationId.Length != 0) hash ^= CorrelationId.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CorrelationId);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UnsubscribeDebugViewRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = 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 10: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            CorrelationId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// UnsubscribeDebugView is a Tell today (CommunicationService.UnsubscribeDebugView
  /// fires and forgets). A unary RPC must still answer something, so the site sends
  /// this empty ack; the central transport ignores it to keep the caller-visible
  /// fire-and-forget semantics identical.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class UnsubscribeDebugViewAckDto : pb::IMessage<UnsubscribeDebugViewAckDto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UnsubscribeDebugViewAckDto> _parser = new pb::MessageParser<UnsubscribeDebugViewAckDto>(() => new UnsubscribeDebugViewAckDto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UnsubscribeDebugViewAckDto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[59]; }
    }

    [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 UnsubscribeDebugViewAckDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      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 (_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 (_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 (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UnsubscribeDebugViewAckDto other) {
      if (other == null) {
        return;
      }
      _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;
        }
      }
    #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;
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[60]; }
    }

    [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 AlarmConditionStateDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AlarmConditionStateDto(AlarmConditionStateDto other) : this() {
      active_ = other.active_;
      acknowledged_ = other.acknowledged_;
      Confirmed = other.Confirmed;
      shelve_ = other.shelve_;
      suppressed_ = other.suppressed_;
      severity_ = other.severity_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "active" field.</summary>
    public const int ActiveFieldNumber = 1;
    private bool active_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Active {
      get { return active_; }
      set {
        active_ = value;
      }
    }

    /// <summary>Field number for the "acknowledged" field.</summary>
    public const int AcknowledgedFieldNumber = 2;
    private bool acknowledged_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Acknowledged {
      get { return acknowledged_; }
      set {
        acknowledged_ = value;
      }
    }

    /// <summary>Field number for the "confirmed" field.</summary>
    public const int ConfirmedFieldNumber = 3;
    private static readonly pb::FieldCodec<bool?> _single_confirmed_codec = pb::FieldCodec.ForStructWrapper<bool>(26);
    private bool? confirmed_;
    /// <summary>
    /// absent => null (not confirmable)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool? Confirmed {
      get { return confirmed_; }
      set {
        confirmed_ = value;
      }
    }


    /// <summary>Field number for the "shelve" field.</summary>
    public const int ShelveFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto shelve_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto Shelve {
      get { return shelve_; }
      set {
        shelve_ = value;
      }
    }

    /// <summary>Field number for the "suppressed" field.</summary>
    public const int SuppressedFieldNumber = 5;
    private bool suppressed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Suppressed {
      get { return suppressed_; }
      set {
        suppressed_ = value;
      }
    }

    /// <summary>Field number for the "severity" field.</summary>
    public const int SeverityFieldNumber = 6;
    private int severity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Severity {
      get { return severity_; }
      set {
        severity_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AlarmConditionStateDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Active != other.Active) return false;
      if (Acknowledged != other.Acknowledged) return false;
      if (Confirmed != other.Confirmed) return false;
      if (Shelve != other.Shelve) return false;
      if (Suppressed != other.Suppressed) return false;
      if (Severity != other.Severity) 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 (Active != false) hash ^= Active.GetHashCode();
      if (Acknowledged != false) hash ^= Acknowledged.GetHashCode();
      if (confirmed_ != null) hash ^= Confirmed.GetHashCode();
      if (Shelve != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified) hash ^= Shelve.GetHashCode();
      if (Suppressed != false) hash ^= Suppressed.GetHashCode();
      if (Severity != 0) hash ^= Severity.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 (Active != false) {
        output.WriteRawTag(8);
        output.WriteBool(Active);
      }
      if (Acknowledged != false) {
        output.WriteRawTag(16);
        output.WriteBool(Acknowledged);
      }
      if (confirmed_ != null) {
        _single_confirmed_codec.WriteTagAndValue(output, Confirmed);
      }
      if (Shelve != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified) {
        output.WriteRawTag(32);
        output.WriteEnum((int) Shelve);
      }
      if (Suppressed != false) {
        output.WriteRawTag(40);
        output.WriteBool(Suppressed);
      }
      if (Severity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Severity);
      }
      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 (Active != false) {
        output.WriteRawTag(8);
        output.WriteBool(Active);
      }
      if (Acknowledged != false) {
        output.WriteRawTag(16);
        output.WriteBool(Acknowledged);
      }
      if (confirmed_ != null) {
        _single_confirmed_codec.WriteTagAndValue(ref output, Confirmed);
      }
      if (Shelve != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified) {
        output.WriteRawTag(32);
        output.WriteEnum((int) Shelve);
      }
      if (Suppressed != false) {
        output.WriteRawTag(40);
        output.WriteBool(Suppressed);
      }
      if (Severity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Severity);
      }
      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 (Active != false) {
        size += 1 + 1;
      }
      if (Acknowledged != false) {
        size += 1 + 1;
      }
      if (confirmed_ != null) {
        size += _single_confirmed_codec.CalculateSizeWithTag(Confirmed);
      }
      if (Shelve != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Shelve);
      }
      if (Suppressed != false) {
        size += 1 + 1;
      }
      if (Severity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Severity);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AlarmConditionStateDto other) {
      if (other == null) {
        return;
      }
      if (other.Active != false) {
        Active = other.Active;
      }
      if (other.Acknowledged != false) {
        Acknowledged = other.Acknowledged;
      }
      if (other.confirmed_ != null) {
        if (confirmed_ == null || other.Confirmed != false) {
          Confirmed = other.Confirmed;
        }
      }
      if (other.Shelve != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto.Unspecified) {
        Shelve = other.Shelve;
      }
      if (other.Suppressed != false) {
        Suppressed = other.Suppressed;
      }
      if (other.Severity != 0) {
        Severity = other.Severity;
      }
      _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: {
            Active = input.ReadBool();
            break;
          }
          case 16: {
            Acknowledged = input.ReadBool();
            break;
          }
          case 26: {
            bool? value = _single_confirmed_codec.Read(input);
            if (confirmed_ == null || value != false) {
              Confirmed = value;
            }
            break;
          }
          case 32: {
            Shelve = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto) input.ReadEnum();
            break;
          }
          case 40: {
            Suppressed = input.ReadBool();
            break;
          }
          case 48: {
            Severity = 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: {
            Active = input.ReadBool();
            break;
          }
          case 16: {
            Acknowledged = input.ReadBool();
            break;
          }
          case 26: {
            bool? value = _single_confirmed_codec.Read(ref input);
            if (confirmed_ == null || value != false) {
              Confirmed = value;
            }
            break;
          }
          case 32: {
            Shelve = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto) input.ReadEnum();
            break;
          }
          case 40: {
            Suppressed = input.ReadBool();
            break;
          }
          case 48: {
            Severity = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[61]; }
    }

    [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 DebugAttributeValueDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DebugAttributeValueDto(DebugAttributeValueDto other) : this() {
      instanceUniqueName_ = other.instanceUniqueName_;
      attributePath_ = other.attributePath_;
      attributeName_ = other.attributeName_;
      value_ = other.value_ != null ? other.value_.Clone() : null;
      quality_ = other.quality_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_path" field.</summary>
    public const int AttributePathFieldNumber = 2;
    private string attributePath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AttributePath {
      get { return attributePath_; }
      set {
        attributePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_name" field.</summary>
    public const int AttributeNameFieldNumber = 3;
    private string attributeName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AttributeName {
      get { return attributeName_; }
      set {
        attributeName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue value_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    /// <summary>Field number for the "quality" field.</summary>
    public const int QualityFieldNumber = 5;
    private string quality_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Quality {
      get { return quality_; }
      set {
        quality_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DebugAttributeValueDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (AttributePath != other.AttributePath) return false;
      if (AttributeName != other.AttributeName) return false;
      if (!object.Equals(Value, other.Value)) return false;
      if (Quality != other.Quality) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (AttributePath.Length != 0) hash ^= AttributePath.GetHashCode();
      if (AttributeName.Length != 0) hash ^= AttributeName.GetHashCode();
      if (value_ != null) hash ^= Value.GetHashCode();
      if (Quality.Length != 0) hash ^= Quality.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (AttributePath.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AttributePath);
      }
      if (AttributeName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AttributeName);
      }
      if (value_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Quality);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (AttributePath.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AttributePath);
      }
      if (AttributeName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AttributeName);
      }
      if (value_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Quality);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (AttributePath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AttributePath);
      }
      if (AttributeName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AttributeName);
      }
      if (value_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
      }
      if (Quality.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Quality);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DebugAttributeValueDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.AttributePath.Length != 0) {
        AttributePath = other.AttributePath;
      }
      if (other.AttributeName.Length != 0) {
        AttributeName = other.AttributeName;
      }
      if (other.value_ != null) {
        if (value_ == null) {
          Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
        }
        Value.MergeFrom(other.Value);
      }
      if (other.Quality.Length != 0) {
        Quality = other.Quality;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            AttributePath = input.ReadString();
            break;
          }
          case 26: {
            AttributeName = input.ReadString();
            break;
          }
          case 34: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 42: {
            Quality = input.ReadString();
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            AttributePath = input.ReadString();
            break;
          }
          case 26: {
            AttributeName = input.ReadString();
            break;
          }
          case 34: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 42: {
            Quality = input.ReadString();
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// Full-fidelity projection of Commons AlarmStateChanged. Deliberately NOT the
  /// sitestream AlarmStateUpdate: that one flattens the value to a display string
  /// and the shelve state to free text, which is right for a live stream but would
  /// lose data on a snapshot the central UI renders as authoritative state.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DebugAlarmStateDto : pb::IMessage<DebugAlarmStateDto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DebugAlarmStateDto> _parser = new pb::MessageParser<DebugAlarmStateDto>(() => new DebugAlarmStateDto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DebugAlarmStateDto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[62]; }
    }

    [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 DebugAlarmStateDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DebugAlarmStateDto(DebugAlarmStateDto other) : this() {
      instanceUniqueName_ = other.instanceUniqueName_;
      alarmName_ = other.alarmName_;
      state_ = other.state_;
      priority_ = other.priority_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      level_ = other.level_;
      message_ = other.message_;
      kind_ = other.kind_;
      condition_ = other.condition_ != null ? other.condition_.Clone() : null;
      sourceReference_ = other.sourceReference_;
      alarmTypeName_ = other.alarmTypeName_;
      category_ = other.category_;
      operatorUser_ = other.operatorUser_;
      operatorComment_ = other.operatorComment_;
      originalRaiseTime_ = other.originalRaiseTime_ != null ? other.originalRaiseTime_.Clone() : null;
      currentValue_ = other.currentValue_;
      limitValue_ = other.limitValue_;
      nativeSourceCanonicalName_ = other.nativeSourceCanonicalName_;
      isConfiguredPlaceholder_ = other.isConfiguredPlaceholder_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "alarm_name" field.</summary>
    public const int AlarmNameFieldNumber = 2;
    private string alarmName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AlarmName {
      get { return alarmName_; }
      set {
        alarmName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "state" field.</summary>
    public const int StateFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto state_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto State {
      get { return state_; }
      set {
        state_ = value;
      }
    }

    /// <summary>Field number for the "priority" field.</summary>
    public const int PriorityFieldNumber = 4;
    private int priority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priority {
      get { return priority_; }
      set {
        priority_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "level" field.</summary>
    public const int LevelFieldNumber = 6;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto level_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "message" field.</summary>
    public const int MessageFieldNumber = 7;
    private string message_ = "";
    [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 "kind" field.</summary>
    public const int KindFieldNumber = 8;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto kind_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto Kind {
      get { return kind_; }
      set {
        kind_ = value;
      }
    }

    /// <summary>Field number for the "condition" field.</summary>
    public const int ConditionFieldNumber = 9;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto condition_;
    /// <summary>
    /// Absent means "not explicitly set" — the CLR record then derives the
    /// computed default from state + priority. See the mapper's note on why the
    /// encoder omits a condition that already equals that derived default.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto Condition {
      get { return condition_; }
      set {
        condition_ = value;
      }
    }

    /// <summary>Field number for the "source_reference" field.</summary>
    public const int SourceReferenceFieldNumber = 10;
    private string sourceReference_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SourceReference {
      get { return sourceReference_; }
      set {
        sourceReference_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "alarm_type_name" field.</summary>
    public const int AlarmTypeNameFieldNumber = 11;
    private string alarmTypeName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AlarmTypeName {
      get { return alarmTypeName_; }
      set {
        alarmTypeName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "category" field.</summary>
    public const int CategoryFieldNumber = 12;
    private string category_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Category {
      get { return category_; }
      set {
        category_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "operator_user" field.</summary>
    public const int OperatorUserFieldNumber = 13;
    private string operatorUser_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OperatorUser {
      get { return operatorUser_; }
      set {
        operatorUser_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "operator_comment" field.</summary>
    public const int OperatorCommentFieldNumber = 14;
    private string operatorComment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OperatorComment {
      get { return operatorComment_; }
      set {
        operatorComment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "original_raise_time" field.</summary>
    public const int OriginalRaiseTimeFieldNumber = 15;
    private global::Google.Protobuf.WellKnownTypes.Timestamp originalRaiseTime_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp OriginalRaiseTime {
      get { return originalRaiseTime_; }
      set {
        originalRaiseTime_ = value;
      }
    }

    /// <summary>Field number for the "current_value" field.</summary>
    public const int CurrentValueFieldNumber = 16;
    private string currentValue_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CurrentValue {
      get { return currentValue_; }
      set {
        currentValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "limit_value" field.</summary>
    public const int LimitValueFieldNumber = 17;
    private string limitValue_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LimitValue {
      get { return limitValue_; }
      set {
        limitValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "native_source_canonical_name" field.</summary>
    public const int NativeSourceCanonicalNameFieldNumber = 18;
    private string nativeSourceCanonicalName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NativeSourceCanonicalName {
      get { return nativeSourceCanonicalName_; }
      set {
        nativeSourceCanonicalName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "is_configured_placeholder" field.</summary>
    public const int IsConfiguredPlaceholderFieldNumber = 19;
    private bool isConfiguredPlaceholder_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsConfiguredPlaceholder {
      get { return isConfiguredPlaceholder_; }
      set {
        isConfiguredPlaceholder_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DebugAlarmStateDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (AlarmName != other.AlarmName) return false;
      if (State != other.State) return false;
      if (Priority != other.Priority) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (Level != other.Level) return false;
      if (Message != other.Message) return false;
      if (Kind != other.Kind) return false;
      if (!object.Equals(Condition, other.Condition)) return false;
      if (SourceReference != other.SourceReference) return false;
      if (AlarmTypeName != other.AlarmTypeName) return false;
      if (Category != other.Category) return false;
      if (OperatorUser != other.OperatorUser) return false;
      if (OperatorComment != other.OperatorComment) return false;
      if (!object.Equals(OriginalRaiseTime, other.OriginalRaiseTime)) return false;
      if (CurrentValue != other.CurrentValue) return false;
      if (LimitValue != other.LimitValue) return false;
      if (NativeSourceCanonicalName != other.NativeSourceCanonicalName) return false;
      if (IsConfiguredPlaceholder != other.IsConfiguredPlaceholder) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (AlarmName.Length != 0) hash ^= AlarmName.GetHashCode();
      if (State != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified) hash ^= State.GetHashCode();
      if (Priority != 0) hash ^= Priority.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified) hash ^= Level.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified) hash ^= Kind.GetHashCode();
      if (condition_ != null) hash ^= Condition.GetHashCode();
      if (SourceReference.Length != 0) hash ^= SourceReference.GetHashCode();
      if (AlarmTypeName.Length != 0) hash ^= AlarmTypeName.GetHashCode();
      if (Category.Length != 0) hash ^= Category.GetHashCode();
      if (OperatorUser.Length != 0) hash ^= OperatorUser.GetHashCode();
      if (OperatorComment.Length != 0) hash ^= OperatorComment.GetHashCode();
      if (originalRaiseTime_ != null) hash ^= OriginalRaiseTime.GetHashCode();
      if (CurrentValue.Length != 0) hash ^= CurrentValue.GetHashCode();
      if (LimitValue.Length != 0) hash ^= LimitValue.GetHashCode();
      if (NativeSourceCanonicalName.Length != 0) hash ^= NativeSourceCanonicalName.GetHashCode();
      if (IsConfiguredPlaceholder != false) hash ^= IsConfiguredPlaceholder.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (AlarmName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AlarmName);
      }
      if (State != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) State);
      }
      if (Priority != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Priority);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified) {
        output.WriteRawTag(48);
        output.WriteEnum((int) Level);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Message);
      }
      if (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified) {
        output.WriteRawTag(64);
        output.WriteEnum((int) Kind);
      }
      if (condition_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Condition);
      }
      if (SourceReference.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SourceReference);
      }
      if (AlarmTypeName.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(AlarmTypeName);
      }
      if (Category.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Category);
      }
      if (OperatorUser.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(OperatorUser);
      }
      if (OperatorComment.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(OperatorComment);
      }
      if (originalRaiseTime_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(OriginalRaiseTime);
      }
      if (CurrentValue.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(CurrentValue);
      }
      if (LimitValue.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(LimitValue);
      }
      if (NativeSourceCanonicalName.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(NativeSourceCanonicalName);
      }
      if (IsConfiguredPlaceholder != false) {
        output.WriteRawTag(152, 1);
        output.WriteBool(IsConfiguredPlaceholder);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      if (AlarmName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AlarmName);
      }
      if (State != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) State);
      }
      if (Priority != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Priority);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified) {
        output.WriteRawTag(48);
        output.WriteEnum((int) Level);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Message);
      }
      if (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified) {
        output.WriteRawTag(64);
        output.WriteEnum((int) Kind);
      }
      if (condition_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Condition);
      }
      if (SourceReference.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SourceReference);
      }
      if (AlarmTypeName.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(AlarmTypeName);
      }
      if (Category.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Category);
      }
      if (OperatorUser.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(OperatorUser);
      }
      if (OperatorComment.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(OperatorComment);
      }
      if (originalRaiseTime_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(OriginalRaiseTime);
      }
      if (CurrentValue.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(CurrentValue);
      }
      if (LimitValue.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(LimitValue);
      }
      if (NativeSourceCanonicalName.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(NativeSourceCanonicalName);
      }
      if (IsConfiguredPlaceholder != false) {
        output.WriteRawTag(152, 1);
        output.WriteBool(IsConfiguredPlaceholder);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (AlarmName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AlarmName);
      }
      if (State != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State);
      }
      if (Priority != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Level);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind);
      }
      if (condition_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Condition);
      }
      if (SourceReference.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceReference);
      }
      if (AlarmTypeName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AlarmTypeName);
      }
      if (Category.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Category);
      }
      if (OperatorUser.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OperatorUser);
      }
      if (OperatorComment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OperatorComment);
      }
      if (originalRaiseTime_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(OriginalRaiseTime);
      }
      if (CurrentValue.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(CurrentValue);
      }
      if (LimitValue.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LimitValue);
      }
      if (NativeSourceCanonicalName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(NativeSourceCanonicalName);
      }
      if (IsConfiguredPlaceholder != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DebugAlarmStateDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.AlarmName.Length != 0) {
        AlarmName = other.AlarmName;
      }
      if (other.State != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto.Unspecified) {
        State = other.State;
      }
      if (other.Priority != 0) {
        Priority = other.Priority;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto.Unspecified) {
        Level = other.Level;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.Kind != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto.Unspecified) {
        Kind = other.Kind;
      }
      if (other.condition_ != null) {
        if (condition_ == null) {
          Condition = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto();
        }
        Condition.MergeFrom(other.Condition);
      }
      if (other.SourceReference.Length != 0) {
        SourceReference = other.SourceReference;
      }
      if (other.AlarmTypeName.Length != 0) {
        AlarmTypeName = other.AlarmTypeName;
      }
      if (other.Category.Length != 0) {
        Category = other.Category;
      }
      if (other.OperatorUser.Length != 0) {
        OperatorUser = other.OperatorUser;
      }
      if (other.OperatorComment.Length != 0) {
        OperatorComment = other.OperatorComment;
      }
      if (other.originalRaiseTime_ != null) {
        if (originalRaiseTime_ == null) {
          OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        OriginalRaiseTime.MergeFrom(other.OriginalRaiseTime);
      }
      if (other.CurrentValue.Length != 0) {
        CurrentValue = other.CurrentValue;
      }
      if (other.LimitValue.Length != 0) {
        LimitValue = other.LimitValue;
      }
      if (other.NativeSourceCanonicalName.Length != 0) {
        NativeSourceCanonicalName = other.NativeSourceCanonicalName;
      }
      if (other.IsConfiguredPlaceholder != false) {
        IsConfiguredPlaceholder = other.IsConfiguredPlaceholder;
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            AlarmName = input.ReadString();
            break;
          }
          case 24: {
            State = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto) input.ReadEnum();
            break;
          }
          case 32: {
            Priority = input.ReadInt32();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 48: {
            Level = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto) input.ReadEnum();
            break;
          }
          case 58: {
            Message = input.ReadString();
            break;
          }
          case 64: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto) input.ReadEnum();
            break;
          }
          case 74: {
            if (condition_ == null) {
              Condition = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto();
            }
            input.ReadMessage(Condition);
            break;
          }
          case 82: {
            SourceReference = input.ReadString();
            break;
          }
          case 90: {
            AlarmTypeName = input.ReadString();
            break;
          }
          case 98: {
            Category = input.ReadString();
            break;
          }
          case 106: {
            OperatorUser = input.ReadString();
            break;
          }
          case 114: {
            OperatorComment = input.ReadString();
            break;
          }
          case 122: {
            if (originalRaiseTime_ == null) {
              OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(OriginalRaiseTime);
            break;
          }
          case 130: {
            CurrentValue = input.ReadString();
            break;
          }
          case 138: {
            LimitValue = input.ReadString();
            break;
          }
          case 146: {
            NativeSourceCanonicalName = input.ReadString();
            break;
          }
          case 152: {
            IsConfiguredPlaceholder = input.ReadBool();
            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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            AlarmName = input.ReadString();
            break;
          }
          case 24: {
            State = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto) input.ReadEnum();
            break;
          }
          case 32: {
            Priority = input.ReadInt32();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 48: {
            Level = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto) input.ReadEnum();
            break;
          }
          case 58: {
            Message = input.ReadString();
            break;
          }
          case 64: {
            Kind = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto) input.ReadEnum();
            break;
          }
          case 74: {
            if (condition_ == null) {
              Condition = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmConditionStateDto();
            }
            input.ReadMessage(Condition);
            break;
          }
          case 82: {
            SourceReference = input.ReadString();
            break;
          }
          case 90: {
            AlarmTypeName = input.ReadString();
            break;
          }
          case 98: {
            Category = input.ReadString();
            break;
          }
          case 106: {
            OperatorUser = input.ReadString();
            break;
          }
          case 114: {
            OperatorComment = input.ReadString();
            break;
          }
          case 122: {
            if (originalRaiseTime_ == null) {
              OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(OriginalRaiseTime);
            break;
          }
          case 130: {
            CurrentValue = input.ReadString();
            break;
          }
          case 138: {
            LimitValue = input.ReadString();
            break;
          }
          case 146: {
            NativeSourceCanonicalName = input.ReadString();
            break;
          }
          case 152: {
            IsConfiguredPlaceholder = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[63]; }
    }

    [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 DebugViewSnapshotDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DebugViewSnapshotDto(DebugViewSnapshotDto other) : this() {
      instanceUniqueName_ = other.instanceUniqueName_;
      attributeValues_ = other.attributeValues_.Clone();
      alarmStates_ = other.alarmStates_.Clone();
      snapshotTimestamp_ = other.snapshotTimestamp_ != null ? other.snapshotTimestamp_.Clone() : null;
      instanceNotFound_ = other.instanceNotFound_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 1;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_values" field.</summary>
    public const int AttributeValuesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto> _repeated_attributeValues_codec
        = pb::FieldCodec.ForMessage(18, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto> attributeValues_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAttributeValueDto> AttributeValues {
      get { return attributeValues_; }
    }

    /// <summary>Field number for the "alarm_states" field.</summary>
    public const int AlarmStatesFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto> _repeated_alarmStates_codec
        = pb::FieldCodec.ForMessage(26, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto> alarmStates_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugAlarmStateDto> AlarmStates {
      get { return alarmStates_; }
    }

    /// <summary>Field number for the "snapshot_timestamp" field.</summary>
    public const int SnapshotTimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp snapshotTimestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp SnapshotTimestamp {
      get { return snapshotTimestamp_; }
      set {
        snapshotTimestamp_ = value;
      }
    }

    /// <summary>Field number for the "instance_not_found" field.</summary>
    public const int InstanceNotFoundFieldNumber = 5;
    private bool instanceNotFound_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool InstanceNotFound {
      get { return instanceNotFound_; }
      set {
        instanceNotFound_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DebugViewSnapshotDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if(!attributeValues_.Equals(other.attributeValues_)) return false;
      if(!alarmStates_.Equals(other.alarmStates_)) return false;
      if (!object.Equals(SnapshotTimestamp, other.SnapshotTimestamp)) return false;
      if (InstanceNotFound != other.InstanceNotFound) 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 (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      hash ^= attributeValues_.GetHashCode();
      hash ^= alarmStates_.GetHashCode();
      if (snapshotTimestamp_ != null) hash ^= SnapshotTimestamp.GetHashCode();
      if (InstanceNotFound != false) hash ^= InstanceNotFound.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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      attributeValues_.WriteTo(output, _repeated_attributeValues_codec);
      alarmStates_.WriteTo(output, _repeated_alarmStates_codec);
      if (snapshotTimestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SnapshotTimestamp);
      }
      if (InstanceNotFound != false) {
        output.WriteRawTag(40);
        output.WriteBool(InstanceNotFound);
      }
      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 (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(InstanceUniqueName);
      }
      attributeValues_.WriteTo(ref output, _repeated_attributeValues_codec);
      alarmStates_.WriteTo(ref output, _repeated_alarmStates_codec);
      if (snapshotTimestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SnapshotTimestamp);
      }
      if (InstanceNotFound != false) {
        output.WriteRawTag(40);
        output.WriteBool(InstanceNotFound);
      }
      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 (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      size += attributeValues_.CalculateSize(_repeated_attributeValues_codec);
      size += alarmStates_.CalculateSize(_repeated_alarmStates_codec);
      if (snapshotTimestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SnapshotTimestamp);
      }
      if (InstanceNotFound != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DebugViewSnapshotDto other) {
      if (other == null) {
        return;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      attributeValues_.Add(other.attributeValues_);
      alarmStates_.Add(other.alarmStates_);
      if (other.snapshotTimestamp_ != null) {
        if (snapshotTimestamp_ == null) {
          SnapshotTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        SnapshotTimestamp.MergeFrom(other.SnapshotTimestamp);
      }
      if (other.InstanceNotFound != false) {
        InstanceNotFound = other.InstanceNotFound;
      }
      _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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            attributeValues_.AddEntriesFrom(input, _repeated_attributeValues_codec);
            break;
          }
          case 26: {
            alarmStates_.AddEntriesFrom(input, _repeated_alarmStates_codec);
            break;
          }
          case 34: {
            if (snapshotTimestamp_ == null) {
              SnapshotTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(SnapshotTimestamp);
            break;
          }
          case 40: {
            InstanceNotFound = input.ReadBool();
            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: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 18: {
            attributeValues_.AddEntriesFrom(ref input, _repeated_attributeValues_codec);
            break;
          }
          case 26: {
            alarmStates_.AddEntriesFrom(ref input, _repeated_alarmStates_codec);
            break;
          }
          case 34: {
            if (snapshotTimestamp_ == null) {
              SnapshotTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(SnapshotTimestamp);
            break;
          }
          case 40: {
            InstanceNotFound = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[64]; }
    }

    [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 QueryRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRequest(QueryRequest other) : this() {
      switch (other.CommandCase) {
        case CommandOneofCase.EventLogQuery:
          EventLogQuery = other.EventLogQuery.Clone();
          break;
        case CommandOneofCase.DebugSnapshot:
          DebugSnapshot = other.DebugSnapshot.Clone();
          break;
        case CommandOneofCase.SubscribeDebugView:
          SubscribeDebugView = other.SubscribeDebugView.Clone();
          break;
        case CommandOneofCase.UnsubscribeDebugView:
          UnsubscribeDebugView = other.UnsubscribeDebugView.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "event_log_query" field.</summary>
    public const int EventLogQueryFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto EventLogQuery {
      get { return commandCase_ == CommandOneofCase.EventLogQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.EventLogQuery;
      }
    }

    /// <summary>Field number for the "debug_snapshot" field.</summary>
    public const int DebugSnapshotFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto DebugSnapshot {
      get { return commandCase_ == CommandOneofCase.DebugSnapshot ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DebugSnapshot;
      }
    }

    /// <summary>Field number for the "subscribe_debug_view" field.</summary>
    public const int SubscribeDebugViewFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto SubscribeDebugView {
      get { return commandCase_ == CommandOneofCase.SubscribeDebugView ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.SubscribeDebugView;
      }
    }

    /// <summary>Field number for the "unsubscribe_debug_view" field.</summary>
    public const int UnsubscribeDebugViewFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto UnsubscribeDebugView {
      get { return commandCase_ == CommandOneofCase.UnsubscribeDebugView ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.UnsubscribeDebugView;
      }
    }

    private object command_;
    /// <summary>Enum of possible cases for the "command" oneof.</summary>
    public enum CommandOneofCase {
      None = 0,
      EventLogQuery = 1,
      DebugSnapshot = 2,
      SubscribeDebugView = 3,
      UnsubscribeDebugView = 4,
    }
    private CommandOneofCase commandCase_ = CommandOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandOneofCase CommandCase {
      get { return commandCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearCommand() {
      commandCase_ = CommandOneofCase.None;
      command_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(EventLogQuery, other.EventLogQuery)) return false;
      if (!object.Equals(DebugSnapshot, other.DebugSnapshot)) return false;
      if (!object.Equals(SubscribeDebugView, other.SubscribeDebugView)) return false;
      if (!object.Equals(UnsubscribeDebugView, other.UnsubscribeDebugView)) return false;
      if (CommandCase != other.CommandCase) 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 (commandCase_ == CommandOneofCase.EventLogQuery) hash ^= EventLogQuery.GetHashCode();
      if (commandCase_ == CommandOneofCase.DebugSnapshot) hash ^= DebugSnapshot.GetHashCode();
      if (commandCase_ == CommandOneofCase.SubscribeDebugView) hash ^= SubscribeDebugView.GetHashCode();
      if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) hash ^= UnsubscribeDebugView.GetHashCode();
      hash ^= (int) commandCase_;
      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 (commandCase_ == CommandOneofCase.EventLogQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(EventLogQuery);
      }
      if (commandCase_ == CommandOneofCase.DebugSnapshot) {
        output.WriteRawTag(18);
        output.WriteMessage(DebugSnapshot);
      }
      if (commandCase_ == CommandOneofCase.SubscribeDebugView) {
        output.WriteRawTag(26);
        output.WriteMessage(SubscribeDebugView);
      }
      if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) {
        output.WriteRawTag(34);
        output.WriteMessage(UnsubscribeDebugView);
      }
      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 (commandCase_ == CommandOneofCase.EventLogQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(EventLogQuery);
      }
      if (commandCase_ == CommandOneofCase.DebugSnapshot) {
        output.WriteRawTag(18);
        output.WriteMessage(DebugSnapshot);
      }
      if (commandCase_ == CommandOneofCase.SubscribeDebugView) {
        output.WriteRawTag(26);
        output.WriteMessage(SubscribeDebugView);
      }
      if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) {
        output.WriteRawTag(34);
        output.WriteMessage(UnsubscribeDebugView);
      }
      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 (commandCase_ == CommandOneofCase.EventLogQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EventLogQuery);
      }
      if (commandCase_ == CommandOneofCase.DebugSnapshot) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DebugSnapshot);
      }
      if (commandCase_ == CommandOneofCase.SubscribeDebugView) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SubscribeDebugView);
      }
      if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnsubscribeDebugView);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRequest other) {
      if (other == null) {
        return;
      }
      switch (other.CommandCase) {
        case CommandOneofCase.EventLogQuery:
          if (EventLogQuery == null) {
            EventLogQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto();
          }
          EventLogQuery.MergeFrom(other.EventLogQuery);
          break;
        case CommandOneofCase.DebugSnapshot:
          if (DebugSnapshot == null) {
            DebugSnapshot = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto();
          }
          DebugSnapshot.MergeFrom(other.DebugSnapshot);
          break;
        case CommandOneofCase.SubscribeDebugView:
          if (SubscribeDebugView == null) {
            SubscribeDebugView = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto();
          }
          SubscribeDebugView.MergeFrom(other.SubscribeDebugView);
          break;
        case CommandOneofCase.UnsubscribeDebugView:
          if (UnsubscribeDebugView == null) {
            UnsubscribeDebugView = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto();
          }
          UnsubscribeDebugView.MergeFrom(other.UnsubscribeDebugView);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto();
            if (commandCase_ == CommandOneofCase.EventLogQuery) {
              subBuilder.MergeFrom(EventLogQuery);
            }
            input.ReadMessage(subBuilder);
            EventLogQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto();
            if (commandCase_ == CommandOneofCase.DebugSnapshot) {
              subBuilder.MergeFrom(DebugSnapshot);
            }
            input.ReadMessage(subBuilder);
            DebugSnapshot = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto();
            if (commandCase_ == CommandOneofCase.SubscribeDebugView) {
              subBuilder.MergeFrom(SubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            SubscribeDebugView = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto();
            if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) {
              subBuilder.MergeFrom(UnsubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            UnsubscribeDebugView = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryRequestDto();
            if (commandCase_ == CommandOneofCase.EventLogQuery) {
              subBuilder.MergeFrom(EventLogQuery);
            }
            input.ReadMessage(subBuilder);
            EventLogQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugSnapshotRequestDto();
            if (commandCase_ == CommandOneofCase.DebugSnapshot) {
              subBuilder.MergeFrom(DebugSnapshot);
            }
            input.ReadMessage(subBuilder);
            DebugSnapshot = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SubscribeDebugViewRequestDto();
            if (commandCase_ == CommandOneofCase.SubscribeDebugView) {
              subBuilder.MergeFrom(SubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            SubscribeDebugView = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewRequestDto();
            if (commandCase_ == CommandOneofCase.UnsubscribeDebugView) {
              subBuilder.MergeFrom(UnsubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            UnsubscribeDebugView = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[65]; }
    }

    [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 QueryReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryReply(QueryReply other) : this() {
      switch (other.ReplyCase) {
        case ReplyOneofCase.EventLogQuery:
          EventLogQuery = other.EventLogQuery.Clone();
          break;
        case ReplyOneofCase.DebugViewSnapshot:
          DebugViewSnapshot = other.DebugViewSnapshot.Clone();
          break;
        case ReplyOneofCase.UnsubscribeDebugView:
          UnsubscribeDebugView = other.UnsubscribeDebugView.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "event_log_query" field.</summary>
    public const int EventLogQueryFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto EventLogQuery {
      get { return replyCase_ == ReplyOneofCase.EventLogQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.EventLogQuery;
      }
    }

    /// <summary>Field number for the "debug_view_snapshot" field.</summary>
    public const int DebugViewSnapshotFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto DebugViewSnapshot {
      get { return replyCase_ == ReplyOneofCase.DebugViewSnapshot ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.DebugViewSnapshot;
      }
    }

    /// <summary>Field number for the "unsubscribe_debug_view" field.</summary>
    public const int UnsubscribeDebugViewFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto UnsubscribeDebugView {
      get { return replyCase_ == ReplyOneofCase.UnsubscribeDebugView ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.UnsubscribeDebugView;
      }
    }

    private object reply_;
    /// <summary>Enum of possible cases for the "reply" oneof.</summary>
    public enum ReplyOneofCase {
      None = 0,
      EventLogQuery = 1,
      DebugViewSnapshot = 2,
      UnsubscribeDebugView = 3,
    }
    private ReplyOneofCase replyCase_ = ReplyOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReplyOneofCase ReplyCase {
      get { return replyCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearReply() {
      replyCase_ = ReplyOneofCase.None;
      reply_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(EventLogQuery, other.EventLogQuery)) return false;
      if (!object.Equals(DebugViewSnapshot, other.DebugViewSnapshot)) return false;
      if (!object.Equals(UnsubscribeDebugView, other.UnsubscribeDebugView)) return false;
      if (ReplyCase != other.ReplyCase) 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 (replyCase_ == ReplyOneofCase.EventLogQuery) hash ^= EventLogQuery.GetHashCode();
      if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) hash ^= DebugViewSnapshot.GetHashCode();
      if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) hash ^= UnsubscribeDebugView.GetHashCode();
      hash ^= (int) replyCase_;
      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 (replyCase_ == ReplyOneofCase.EventLogQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(EventLogQuery);
      }
      if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) {
        output.WriteRawTag(18);
        output.WriteMessage(DebugViewSnapshot);
      }
      if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) {
        output.WriteRawTag(26);
        output.WriteMessage(UnsubscribeDebugView);
      }
      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 (replyCase_ == ReplyOneofCase.EventLogQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(EventLogQuery);
      }
      if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) {
        output.WriteRawTag(18);
        output.WriteMessage(DebugViewSnapshot);
      }
      if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) {
        output.WriteRawTag(26);
        output.WriteMessage(UnsubscribeDebugView);
      }
      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 (replyCase_ == ReplyOneofCase.EventLogQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EventLogQuery);
      }
      if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DebugViewSnapshot);
      }
      if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnsubscribeDebugView);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryReply other) {
      if (other == null) {
        return;
      }
      switch (other.ReplyCase) {
        case ReplyOneofCase.EventLogQuery:
          if (EventLogQuery == null) {
            EventLogQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto();
          }
          EventLogQuery.MergeFrom(other.EventLogQuery);
          break;
        case ReplyOneofCase.DebugViewSnapshot:
          if (DebugViewSnapshot == null) {
            DebugViewSnapshot = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto();
          }
          DebugViewSnapshot.MergeFrom(other.DebugViewSnapshot);
          break;
        case ReplyOneofCase.UnsubscribeDebugView:
          if (UnsubscribeDebugView == null) {
            UnsubscribeDebugView = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto();
          }
          UnsubscribeDebugView.MergeFrom(other.UnsubscribeDebugView);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.EventLogQuery) {
              subBuilder.MergeFrom(EventLogQuery);
            }
            input.ReadMessage(subBuilder);
            EventLogQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto();
            if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) {
              subBuilder.MergeFrom(DebugViewSnapshot);
            }
            input.ReadMessage(subBuilder);
            DebugViewSnapshot = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto();
            if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) {
              subBuilder.MergeFrom(UnsubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            UnsubscribeDebugView = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.EventLogQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.EventLogQuery) {
              subBuilder.MergeFrom(EventLogQuery);
            }
            input.ReadMessage(subBuilder);
            EventLogQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DebugViewSnapshotDto();
            if (replyCase_ == ReplyOneofCase.DebugViewSnapshot) {
              subBuilder.MergeFrom(DebugViewSnapshot);
            }
            input.ReadMessage(subBuilder);
            DebugViewSnapshot = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.UnsubscribeDebugViewAckDto();
            if (replyCase_ == ReplyOneofCase.UnsubscribeDebugView) {
              subBuilder.MergeFrom(UnsubscribeDebugView);
            }
            input.ReadMessage(subBuilder);
            UnsubscribeDebugView = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[66]; }
    }

    [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 ParkedMessageQueryRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedMessageQueryRequestDto(ParkedMessageQueryRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      pageNumber_ = other.pageNumber_;
      pageSize_ = other.pageSize_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "page_number" field.</summary>
    public const int PageNumberFieldNumber = 3;
    private int pageNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageNumber {
      get { return pageNumber_; }
      set {
        pageNumber_ = value;
      }
    }

    /// <summary>Field number for the "page_size" field.</summary>
    public const int PageSizeFieldNumber = 4;
    private int pageSize_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageSize {
      get { return pageSize_; }
      set {
        pageSize_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageQueryRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if (PageNumber != other.PageNumber) return false;
      if (PageSize != other.PageSize) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      if (PageNumber != 0) hash ^= PageNumber.GetHashCode();
      if (PageSize != 0) hash ^= PageSize.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (PageNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PageNumber);
      }
      if (PageSize != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(PageSize);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (PageNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PageNumber);
      }
      if (PageSize != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(PageSize);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (PageNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageNumber);
      }
      if (PageSize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageSize);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageQueryRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      if (other.PageNumber != 0) {
        PageNumber = other.PageNumber;
      }
      if (other.PageSize != 0) {
        PageSize = other.PageSize;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 24: {
            PageNumber = input.ReadInt32();
            break;
          }
          case 32: {
            PageSize = input.ReadInt32();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 24: {
            PageNumber = input.ReadInt32();
            break;
          }
          case 32: {
            PageSize = input.ReadInt32();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[67]; }
    }

    [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 ParkedMessageEntryDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedMessageEntryDto(ParkedMessageEntryDto other) : this() {
      messageId_ = other.messageId_;
      targetSystem_ = other.targetSystem_;
      methodName_ = other.methodName_;
      errorMessage_ = other.errorMessage_;
      attemptCount_ = other.attemptCount_;
      originalTimestamp_ = other.originalTimestamp_ != null ? other.originalTimestamp_.Clone() : null;
      lastAttemptTimestamp_ = other.lastAttemptTimestamp_ != null ? other.lastAttemptTimestamp_.Clone() : null;
      maxAttempts_ = other.maxAttempts_;
      category_ = other.category_;
      originInstance_ = other.originInstance_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "message_id" field.</summary>
    public const int MessageIdFieldNumber = 1;
    private string messageId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MessageId {
      get { return messageId_; }
      set {
        messageId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "target_system" field.</summary>
    public const int TargetSystemFieldNumber = 2;
    private string targetSystem_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetSystem {
      get { return targetSystem_; }
      set {
        targetSystem_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "method_name" field.</summary>
    public const int MethodNameFieldNumber = 3;
    private string methodName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MethodName {
      get { return methodName_; }
      set {
        methodName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attempt_count" field.</summary>
    public const int AttemptCountFieldNumber = 5;
    private int attemptCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttemptCount {
      get { return attemptCount_; }
      set {
        attemptCount_ = value;
      }
    }

    /// <summary>Field number for the "original_timestamp" field.</summary>
    public const int OriginalTimestampFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp originalTimestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp OriginalTimestamp {
      get { return originalTimestamp_; }
      set {
        originalTimestamp_ = value;
      }
    }

    /// <summary>Field number for the "last_attempt_timestamp" field.</summary>
    public const int LastAttemptTimestampFieldNumber = 7;
    private global::Google.Protobuf.WellKnownTypes.Timestamp lastAttemptTimestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp LastAttemptTimestamp {
      get { return lastAttemptTimestamp_; }
      set {
        lastAttemptTimestamp_ = value;
      }
    }

    /// <summary>Field number for the "max_attempts" field.</summary>
    public const int MaxAttemptsFieldNumber = 8;
    private int maxAttempts_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxAttempts {
      get { return maxAttempts_; }
      set {
        maxAttempts_ = value;
      }
    }

    /// <summary>Field number for the "category" field.</summary>
    public const int CategoryFieldNumber = 9;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto category_ = global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto Category {
      get { return category_; }
      set {
        category_ = value;
      }
    }

    /// <summary>Field number for the "origin_instance" field.</summary>
    public const int OriginInstanceFieldNumber = 10;
    private string originInstance_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OriginInstance {
      get { return originInstance_; }
      set {
        originInstance_ = 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 ParkedMessageEntryDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageEntryDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MessageId != other.MessageId) return false;
      if (TargetSystem != other.TargetSystem) return false;
      if (MethodName != other.MethodName) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (AttemptCount != other.AttemptCount) return false;
      if (!object.Equals(OriginalTimestamp, other.OriginalTimestamp)) return false;
      if (!object.Equals(LastAttemptTimestamp, other.LastAttemptTimestamp)) return false;
      if (MaxAttempts != other.MaxAttempts) return false;
      if (Category != other.Category) return false;
      if (OriginInstance != other.OriginInstance) 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 (MessageId.Length != 0) hash ^= MessageId.GetHashCode();
      if (TargetSystem.Length != 0) hash ^= TargetSystem.GetHashCode();
      if (MethodName.Length != 0) hash ^= MethodName.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (AttemptCount != 0) hash ^= AttemptCount.GetHashCode();
      if (originalTimestamp_ != null) hash ^= OriginalTimestamp.GetHashCode();
      if (lastAttemptTimestamp_ != null) hash ^= LastAttemptTimestamp.GetHashCode();
      if (MaxAttempts != 0) hash ^= MaxAttempts.GetHashCode();
      if (Category != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified) hash ^= Category.GetHashCode();
      if (OriginInstance.Length != 0) hash ^= OriginInstance.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 (MessageId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MessageId);
      }
      if (TargetSystem.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TargetSystem);
      }
      if (MethodName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MethodName);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (AttemptCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttemptCount);
      }
      if (originalTimestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(OriginalTimestamp);
      }
      if (lastAttemptTimestamp_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(LastAttemptTimestamp);
      }
      if (MaxAttempts != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaxAttempts);
      }
      if (Category != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified) {
        output.WriteRawTag(72);
        output.WriteEnum((int) Category);
      }
      if (OriginInstance.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OriginInstance);
      }
      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 (MessageId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MessageId);
      }
      if (TargetSystem.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TargetSystem);
      }
      if (MethodName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MethodName);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (AttemptCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttemptCount);
      }
      if (originalTimestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(OriginalTimestamp);
      }
      if (lastAttemptTimestamp_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(LastAttemptTimestamp);
      }
      if (MaxAttempts != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaxAttempts);
      }
      if (Category != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified) {
        output.WriteRawTag(72);
        output.WriteEnum((int) Category);
      }
      if (OriginInstance.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OriginInstance);
      }
      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 (MessageId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MessageId);
      }
      if (TargetSystem.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetSystem);
      }
      if (MethodName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MethodName);
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (AttemptCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttemptCount);
      }
      if (originalTimestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(OriginalTimestamp);
      }
      if (lastAttemptTimestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LastAttemptTimestamp);
      }
      if (MaxAttempts != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxAttempts);
      }
      if (Category != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Category);
      }
      if (OriginInstance.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OriginInstance);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageEntryDto other) {
      if (other == null) {
        return;
      }
      if (other.MessageId.Length != 0) {
        MessageId = other.MessageId;
      }
      if (other.TargetSystem.Length != 0) {
        TargetSystem = other.TargetSystem;
      }
      if (other.MethodName.Length != 0) {
        MethodName = other.MethodName;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.AttemptCount != 0) {
        AttemptCount = other.AttemptCount;
      }
      if (other.originalTimestamp_ != null) {
        if (originalTimestamp_ == null) {
          OriginalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        OriginalTimestamp.MergeFrom(other.OriginalTimestamp);
      }
      if (other.lastAttemptTimestamp_ != null) {
        if (lastAttemptTimestamp_ == null) {
          LastAttemptTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        LastAttemptTimestamp.MergeFrom(other.LastAttemptTimestamp);
      }
      if (other.MaxAttempts != 0) {
        MaxAttempts = other.MaxAttempts;
      }
      if (other.Category != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto.Unspecified) {
        Category = other.Category;
      }
      if (other.OriginInstance.Length != 0) {
        OriginInstance = other.OriginInstance;
      }
      _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: {
            MessageId = input.ReadString();
            break;
          }
          case 18: {
            TargetSystem = input.ReadString();
            break;
          }
          case 26: {
            MethodName = input.ReadString();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 40: {
            AttemptCount = input.ReadInt32();
            break;
          }
          case 50: {
            if (originalTimestamp_ == null) {
              OriginalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(OriginalTimestamp);
            break;
          }
          case 58: {
            if (lastAttemptTimestamp_ == null) {
              LastAttemptTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(LastAttemptTimestamp);
            break;
          }
          case 64: {
            MaxAttempts = input.ReadInt32();
            break;
          }
          case 72: {
            Category = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto) input.ReadEnum();
            break;
          }
          case 82: {
            OriginInstance = 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 10: {
            MessageId = input.ReadString();
            break;
          }
          case 18: {
            TargetSystem = input.ReadString();
            break;
          }
          case 26: {
            MethodName = input.ReadString();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 40: {
            AttemptCount = input.ReadInt32();
            break;
          }
          case 50: {
            if (originalTimestamp_ == null) {
              OriginalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(OriginalTimestamp);
            break;
          }
          case 58: {
            if (lastAttemptTimestamp_ == null) {
              LastAttemptTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(LastAttemptTimestamp);
            break;
          }
          case 64: {
            MaxAttempts = input.ReadInt32();
            break;
          }
          case 72: {
            Category = (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto) input.ReadEnum();
            break;
          }
          case 82: {
            OriginInstance = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[68]; }
    }

    [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 ParkedMessageQueryResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedMessageQueryResponseDto(ParkedMessageQueryResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      messages_ = other.messages_.Clone();
      totalCount_ = other.totalCount_;
      pageNumber_ = other.pageNumber_;
      pageSize_ = other.pageSize_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "messages" field.</summary>
    public const int MessagesFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto> _repeated_messages_codec
        = pb::FieldCodec.ForMessage(26, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto.Parser);
    private readonly pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto> messages_ = new pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageEntryDto> Messages {
      get { return messages_; }
    }

    /// <summary>Field number for the "total_count" field.</summary>
    public const int TotalCountFieldNumber = 4;
    private int totalCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TotalCount {
      get { return totalCount_; }
      set {
        totalCount_ = value;
      }
    }

    /// <summary>Field number for the "page_number" field.</summary>
    public const int PageNumberFieldNumber = 5;
    private int pageNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageNumber {
      get { return pageNumber_; }
      set {
        pageNumber_ = value;
      }
    }

    /// <summary>Field number for the "page_size" field.</summary>
    public const int PageSizeFieldNumber = 6;
    private int pageSize_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageSize {
      get { return pageSize_; }
      set {
        pageSize_ = value;
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 7;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 8;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 9;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageQueryResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if(!messages_.Equals(other.messages_)) return false;
      if (TotalCount != other.TotalCount) return false;
      if (PageNumber != other.PageNumber) return false;
      if (PageSize != other.PageSize) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      hash ^= messages_.GetHashCode();
      if (TotalCount != 0) hash ^= TotalCount.GetHashCode();
      if (PageNumber != 0) hash ^= PageNumber.GetHashCode();
      if (PageSize != 0) hash ^= PageSize.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      messages_.WriteTo(output, _repeated_messages_codec);
      if (TotalCount != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TotalCount);
      }
      if (PageNumber != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PageNumber);
      }
      if (PageSize != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PageSize);
      }
      if (Success != false) {
        output.WriteRawTag(56);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      messages_.WriteTo(ref output, _repeated_messages_codec);
      if (TotalCount != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TotalCount);
      }
      if (PageNumber != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PageNumber);
      }
      if (PageSize != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PageSize);
      }
      if (Success != false) {
        output.WriteRawTag(56);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      size += messages_.CalculateSize(_repeated_messages_codec);
      if (TotalCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalCount);
      }
      if (PageNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageNumber);
      }
      if (PageSize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageSize);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageQueryResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      messages_.Add(other.messages_);
      if (other.TotalCount != 0) {
        TotalCount = other.TotalCount;
      }
      if (other.PageNumber != 0) {
        PageNumber = other.PageNumber;
      }
      if (other.PageSize != 0) {
        PageSize = other.PageSize;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            messages_.AddEntriesFrom(input, _repeated_messages_codec);
            break;
          }
          case 32: {
            TotalCount = input.ReadInt32();
            break;
          }
          case 40: {
            PageNumber = input.ReadInt32();
            break;
          }
          case 48: {
            PageSize = input.ReadInt32();
            break;
          }
          case 56: {
            Success = input.ReadBool();
            break;
          }
          case 66: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 74: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            messages_.AddEntriesFrom(ref input, _repeated_messages_codec);
            break;
          }
          case 32: {
            TotalCount = input.ReadInt32();
            break;
          }
          case 40: {
            PageNumber = input.ReadInt32();
            break;
          }
          case 48: {
            PageSize = input.ReadInt32();
            break;
          }
          case 56: {
            Success = input.ReadBool();
            break;
          }
          case 66: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 74: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[69]; }
    }

    [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 ParkedMessageRetryRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedMessageRetryRequestDto(ParkedMessageRetryRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      messageId_ = other.messageId_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "message_id" field.</summary>
    public const int MessageIdFieldNumber = 3;
    private string messageId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MessageId {
      get { return messageId_; }
      set {
        messageId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageRetryRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if (MessageId != other.MessageId) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      if (MessageId.Length != 0) hash ^= MessageId.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (MessageId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MessageId);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (MessageId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MessageId);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (MessageId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MessageId);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageRetryRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      if (other.MessageId.Length != 0) {
        MessageId = other.MessageId;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            MessageId = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            MessageId = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[70]; }
    }

    [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 ParkedMessageRetryResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 3;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = 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 ParkedMessageRetryResponseDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageRetryResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageRetryResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[71]; }
    }

    [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 ParkedMessageDiscardRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedMessageDiscardRequestDto(ParkedMessageDiscardRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      siteId_ = other.siteId_;
      messageId_ = other.messageId_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "message_id" field.</summary>
    public const int MessageIdFieldNumber = 3;
    private string messageId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MessageId {
      get { return messageId_; }
      set {
        messageId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageDiscardRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) return false;
      if (MessageId != other.MessageId) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.GetHashCode();
      if (MessageId.Length != 0) hash ^= MessageId.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (MessageId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MessageId);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      if (MessageId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(MessageId);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (MessageId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MessageId);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageDiscardRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      if (other.MessageId.Length != 0) {
        MessageId = other.MessageId;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            MessageId = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
          case 26: {
            MessageId = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[72]; }
    }

    [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 ParkedMessageDiscardResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 3;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = 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 ParkedMessageDiscardResponseDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedMessageDiscardResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedMessageDiscardResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[73]; }
    }

    [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 RetryParkedOperationDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "tracked_operation_id" field.</summary>
    public const int TrackedOperationIdFieldNumber = 2;
    private string trackedOperationId_ = "";
    /// <summary>
    /// TrackedOperationId GUID, "D" format
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TrackedOperationId {
      get { return trackedOperationId_; }
      set {
        trackedOperationId_ = 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 RetryParkedOperationDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RetryParkedOperationDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (TrackedOperationId != other.TrackedOperationId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (TrackedOperationId.Length != 0) hash ^= TrackedOperationId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TrackedOperationId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TrackedOperationId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackedOperationId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RetryParkedOperationDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.TrackedOperationId.Length != 0) {
        TrackedOperationId = other.TrackedOperationId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            TrackedOperationId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            TrackedOperationId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[74]; }
    }

    [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 DiscardParkedOperationDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "tracked_operation_id" field.</summary>
    public const int TrackedOperationIdFieldNumber = 2;
    private string trackedOperationId_ = "";
    /// <summary>
    /// TrackedOperationId GUID, "D" format
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TrackedOperationId {
      get { return trackedOperationId_; }
      set {
        trackedOperationId_ = 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 DiscardParkedOperationDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscardParkedOperationDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (TrackedOperationId != other.TrackedOperationId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (TrackedOperationId.Length != 0) hash ^= TrackedOperationId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TrackedOperationId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TrackedOperationId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (TrackedOperationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackedOperationId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscardParkedOperationDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.TrackedOperationId.Length != 0) {
        TrackedOperationId = other.TrackedOperationId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            TrackedOperationId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            TrackedOperationId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[75]; }
    }

    [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 ParkedOperationActionAckDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "applied" field.</summary>
    public const int AppliedFieldNumber = 2;
    private bool applied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Applied {
      get { return applied_; }
      set {
        applied_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 3;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = 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 ParkedOperationActionAckDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedOperationActionAckDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Applied != other.Applied) return false;
      if (ErrorMessage != other.ErrorMessage) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Applied != false) hash ^= Applied.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Applied != false) {
        output.WriteRawTag(16);
        output.WriteBool(Applied);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Applied != false) {
        output.WriteRawTag(16);
        output.WriteBool(Applied);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Applied != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedOperationActionAckDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Applied != false) {
        Applied = other.Applied;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Applied = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Applied = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[76]; }
    }

    [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 ParkedRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedRequest(ParkedRequest other) : this() {
      switch (other.CommandCase) {
        case CommandOneofCase.ParkedMessageQuery:
          ParkedMessageQuery = other.ParkedMessageQuery.Clone();
          break;
        case CommandOneofCase.ParkedMessageRetry:
          ParkedMessageRetry = other.ParkedMessageRetry.Clone();
          break;
        case CommandOneofCase.ParkedMessageDiscard:
          ParkedMessageDiscard = other.ParkedMessageDiscard.Clone();
          break;
        case CommandOneofCase.RetryParkedOperation:
          RetryParkedOperation = other.RetryParkedOperation.Clone();
          break;
        case CommandOneofCase.DiscardParkedOperation:
          DiscardParkedOperation = other.DiscardParkedOperation.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "parked_message_query" field.</summary>
    public const int ParkedMessageQueryFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto ParkedMessageQuery {
      get { return commandCase_ == CommandOneofCase.ParkedMessageQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.ParkedMessageQuery;
      }
    }

    /// <summary>Field number for the "parked_message_retry" field.</summary>
    public const int ParkedMessageRetryFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto ParkedMessageRetry {
      get { return commandCase_ == CommandOneofCase.ParkedMessageRetry ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.ParkedMessageRetry;
      }
    }

    /// <summary>Field number for the "parked_message_discard" field.</summary>
    public const int ParkedMessageDiscardFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto ParkedMessageDiscard {
      get { return commandCase_ == CommandOneofCase.ParkedMessageDiscard ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.ParkedMessageDiscard;
      }
    }

    /// <summary>Field number for the "retry_parked_operation" field.</summary>
    public const int RetryParkedOperationFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto RetryParkedOperation {
      get { return commandCase_ == CommandOneofCase.RetryParkedOperation ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RetryParkedOperation;
      }
    }

    /// <summary>Field number for the "discard_parked_operation" field.</summary>
    public const int DiscardParkedOperationFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto DiscardParkedOperation {
      get { return commandCase_ == CommandOneofCase.DiscardParkedOperation ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.DiscardParkedOperation;
      }
    }

    private object command_;
    /// <summary>Enum of possible cases for the "command" oneof.</summary>
    public enum CommandOneofCase {
      None = 0,
      ParkedMessageQuery = 1,
      ParkedMessageRetry = 2,
      ParkedMessageDiscard = 3,
      RetryParkedOperation = 4,
      DiscardParkedOperation = 5,
    }
    private CommandOneofCase commandCase_ = CommandOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandOneofCase CommandCase {
      get { return commandCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearCommand() {
      commandCase_ = CommandOneofCase.None;
      command_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(ParkedMessageQuery, other.ParkedMessageQuery)) return false;
      if (!object.Equals(ParkedMessageRetry, other.ParkedMessageRetry)) return false;
      if (!object.Equals(ParkedMessageDiscard, other.ParkedMessageDiscard)) return false;
      if (!object.Equals(RetryParkedOperation, other.RetryParkedOperation)) return false;
      if (!object.Equals(DiscardParkedOperation, other.DiscardParkedOperation)) return false;
      if (CommandCase != other.CommandCase) 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 (commandCase_ == CommandOneofCase.ParkedMessageQuery) hash ^= ParkedMessageQuery.GetHashCode();
      if (commandCase_ == CommandOneofCase.ParkedMessageRetry) hash ^= ParkedMessageRetry.GetHashCode();
      if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) hash ^= ParkedMessageDiscard.GetHashCode();
      if (commandCase_ == CommandOneofCase.RetryParkedOperation) hash ^= RetryParkedOperation.GetHashCode();
      if (commandCase_ == CommandOneofCase.DiscardParkedOperation) hash ^= DiscardParkedOperation.GetHashCode();
      hash ^= (int) commandCase_;
      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 (commandCase_ == CommandOneofCase.ParkedMessageQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(ParkedMessageQuery);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageRetry) {
        output.WriteRawTag(18);
        output.WriteMessage(ParkedMessageRetry);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) {
        output.WriteRawTag(26);
        output.WriteMessage(ParkedMessageDiscard);
      }
      if (commandCase_ == CommandOneofCase.RetryParkedOperation) {
        output.WriteRawTag(34);
        output.WriteMessage(RetryParkedOperation);
      }
      if (commandCase_ == CommandOneofCase.DiscardParkedOperation) {
        output.WriteRawTag(42);
        output.WriteMessage(DiscardParkedOperation);
      }
      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 (commandCase_ == CommandOneofCase.ParkedMessageQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(ParkedMessageQuery);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageRetry) {
        output.WriteRawTag(18);
        output.WriteMessage(ParkedMessageRetry);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) {
        output.WriteRawTag(26);
        output.WriteMessage(ParkedMessageDiscard);
      }
      if (commandCase_ == CommandOneofCase.RetryParkedOperation) {
        output.WriteRawTag(34);
        output.WriteMessage(RetryParkedOperation);
      }
      if (commandCase_ == CommandOneofCase.DiscardParkedOperation) {
        output.WriteRawTag(42);
        output.WriteMessage(DiscardParkedOperation);
      }
      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 (commandCase_ == CommandOneofCase.ParkedMessageQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageQuery);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageRetry) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageRetry);
      }
      if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageDiscard);
      }
      if (commandCase_ == CommandOneofCase.RetryParkedOperation) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RetryParkedOperation);
      }
      if (commandCase_ == CommandOneofCase.DiscardParkedOperation) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DiscardParkedOperation);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedRequest other) {
      if (other == null) {
        return;
      }
      switch (other.CommandCase) {
        case CommandOneofCase.ParkedMessageQuery:
          if (ParkedMessageQuery == null) {
            ParkedMessageQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto();
          }
          ParkedMessageQuery.MergeFrom(other.ParkedMessageQuery);
          break;
        case CommandOneofCase.ParkedMessageRetry:
          if (ParkedMessageRetry == null) {
            ParkedMessageRetry = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto();
          }
          ParkedMessageRetry.MergeFrom(other.ParkedMessageRetry);
          break;
        case CommandOneofCase.ParkedMessageDiscard:
          if (ParkedMessageDiscard == null) {
            ParkedMessageDiscard = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto();
          }
          ParkedMessageDiscard.MergeFrom(other.ParkedMessageDiscard);
          break;
        case CommandOneofCase.RetryParkedOperation:
          if (RetryParkedOperation == null) {
            RetryParkedOperation = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto();
          }
          RetryParkedOperation.MergeFrom(other.RetryParkedOperation);
          break;
        case CommandOneofCase.DiscardParkedOperation:
          if (DiscardParkedOperation == null) {
            DiscardParkedOperation = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto();
          }
          DiscardParkedOperation.MergeFrom(other.DiscardParkedOperation);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageQuery) {
              subBuilder.MergeFrom(ParkedMessageQuery);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageRetry) {
              subBuilder.MergeFrom(ParkedMessageRetry);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageRetry = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) {
              subBuilder.MergeFrom(ParkedMessageDiscard);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageDiscard = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto();
            if (commandCase_ == CommandOneofCase.RetryParkedOperation) {
              subBuilder.MergeFrom(RetryParkedOperation);
            }
            input.ReadMessage(subBuilder);
            RetryParkedOperation = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto();
            if (commandCase_ == CommandOneofCase.DiscardParkedOperation) {
              subBuilder.MergeFrom(DiscardParkedOperation);
            }
            input.ReadMessage(subBuilder);
            DiscardParkedOperation = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageQuery) {
              subBuilder.MergeFrom(ParkedMessageQuery);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageRetry) {
              subBuilder.MergeFrom(ParkedMessageRetry);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageRetry = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardRequestDto();
            if (commandCase_ == CommandOneofCase.ParkedMessageDiscard) {
              subBuilder.MergeFrom(ParkedMessageDiscard);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageDiscard = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RetryParkedOperationDto();
            if (commandCase_ == CommandOneofCase.RetryParkedOperation) {
              subBuilder.MergeFrom(RetryParkedOperation);
            }
            input.ReadMessage(subBuilder);
            RetryParkedOperation = subBuilder;
            break;
          }
          case 42: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DiscardParkedOperationDto();
            if (commandCase_ == CommandOneofCase.DiscardParkedOperation) {
              subBuilder.MergeFrom(DiscardParkedOperation);
            }
            input.ReadMessage(subBuilder);
            DiscardParkedOperation = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[77]; }
    }

    [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 ParkedReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ParkedReply(ParkedReply other) : this() {
      switch (other.ReplyCase) {
        case ReplyOneofCase.ParkedMessageQuery:
          ParkedMessageQuery = other.ParkedMessageQuery.Clone();
          break;
        case ReplyOneofCase.ParkedMessageRetry:
          ParkedMessageRetry = other.ParkedMessageRetry.Clone();
          break;
        case ReplyOneofCase.ParkedMessageDiscard:
          ParkedMessageDiscard = other.ParkedMessageDiscard.Clone();
          break;
        case ReplyOneofCase.ParkedOperationAction:
          ParkedOperationAction = other.ParkedOperationAction.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "parked_message_query" field.</summary>
    public const int ParkedMessageQueryFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto ParkedMessageQuery {
      get { return replyCase_ == ReplyOneofCase.ParkedMessageQuery ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ParkedMessageQuery;
      }
    }

    /// <summary>Field number for the "parked_message_retry" field.</summary>
    public const int ParkedMessageRetryFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto ParkedMessageRetry {
      get { return replyCase_ == ReplyOneofCase.ParkedMessageRetry ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ParkedMessageRetry;
      }
    }

    /// <summary>Field number for the "parked_message_discard" field.</summary>
    public const int ParkedMessageDiscardFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto ParkedMessageDiscard {
      get { return replyCase_ == ReplyOneofCase.ParkedMessageDiscard ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ParkedMessageDiscard;
      }
    }

    /// <summary>Field number for the "parked_operation_action" field.</summary>
    public const int ParkedOperationActionFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto ParkedOperationAction {
      get { return replyCase_ == ReplyOneofCase.ParkedOperationAction ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.ParkedOperationAction;
      }
    }

    private object reply_;
    /// <summary>Enum of possible cases for the "reply" oneof.</summary>
    public enum ReplyOneofCase {
      None = 0,
      ParkedMessageQuery = 1,
      ParkedMessageRetry = 2,
      ParkedMessageDiscard = 3,
      ParkedOperationAction = 4,
    }
    private ReplyOneofCase replyCase_ = ReplyOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReplyOneofCase ReplyCase {
      get { return replyCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearReply() {
      replyCase_ = ReplyOneofCase.None;
      reply_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ParkedReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(ParkedMessageQuery, other.ParkedMessageQuery)) return false;
      if (!object.Equals(ParkedMessageRetry, other.ParkedMessageRetry)) return false;
      if (!object.Equals(ParkedMessageDiscard, other.ParkedMessageDiscard)) return false;
      if (!object.Equals(ParkedOperationAction, other.ParkedOperationAction)) return false;
      if (ReplyCase != other.ReplyCase) 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 (replyCase_ == ReplyOneofCase.ParkedMessageQuery) hash ^= ParkedMessageQuery.GetHashCode();
      if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) hash ^= ParkedMessageRetry.GetHashCode();
      if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) hash ^= ParkedMessageDiscard.GetHashCode();
      if (replyCase_ == ReplyOneofCase.ParkedOperationAction) hash ^= ParkedOperationAction.GetHashCode();
      hash ^= (int) replyCase_;
      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 (replyCase_ == ReplyOneofCase.ParkedMessageQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(ParkedMessageQuery);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) {
        output.WriteRawTag(18);
        output.WriteMessage(ParkedMessageRetry);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) {
        output.WriteRawTag(26);
        output.WriteMessage(ParkedMessageDiscard);
      }
      if (replyCase_ == ReplyOneofCase.ParkedOperationAction) {
        output.WriteRawTag(34);
        output.WriteMessage(ParkedOperationAction);
      }
      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 (replyCase_ == ReplyOneofCase.ParkedMessageQuery) {
        output.WriteRawTag(10);
        output.WriteMessage(ParkedMessageQuery);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) {
        output.WriteRawTag(18);
        output.WriteMessage(ParkedMessageRetry);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) {
        output.WriteRawTag(26);
        output.WriteMessage(ParkedMessageDiscard);
      }
      if (replyCase_ == ReplyOneofCase.ParkedOperationAction) {
        output.WriteRawTag(34);
        output.WriteMessage(ParkedOperationAction);
      }
      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 (replyCase_ == ReplyOneofCase.ParkedMessageQuery) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageQuery);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageRetry);
      }
      if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedMessageDiscard);
      }
      if (replyCase_ == ReplyOneofCase.ParkedOperationAction) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParkedOperationAction);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ParkedReply other) {
      if (other == null) {
        return;
      }
      switch (other.ReplyCase) {
        case ReplyOneofCase.ParkedMessageQuery:
          if (ParkedMessageQuery == null) {
            ParkedMessageQuery = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto();
          }
          ParkedMessageQuery.MergeFrom(other.ParkedMessageQuery);
          break;
        case ReplyOneofCase.ParkedMessageRetry:
          if (ParkedMessageRetry == null) {
            ParkedMessageRetry = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto();
          }
          ParkedMessageRetry.MergeFrom(other.ParkedMessageRetry);
          break;
        case ReplyOneofCase.ParkedMessageDiscard:
          if (ParkedMessageDiscard == null) {
            ParkedMessageDiscard = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto();
          }
          ParkedMessageDiscard.MergeFrom(other.ParkedMessageDiscard);
          break;
        case ReplyOneofCase.ParkedOperationAction:
          if (ParkedOperationAction == null) {
            ParkedOperationAction = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto();
          }
          ParkedOperationAction.MergeFrom(other.ParkedOperationAction);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageQuery) {
              subBuilder.MergeFrom(ParkedMessageQuery);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) {
              subBuilder.MergeFrom(ParkedMessageRetry);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageRetry = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) {
              subBuilder.MergeFrom(ParkedMessageDiscard);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageDiscard = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto();
            if (replyCase_ == ReplyOneofCase.ParkedOperationAction) {
              subBuilder.MergeFrom(ParkedOperationAction);
            }
            input.ReadMessage(subBuilder);
            ParkedOperationAction = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageQueryResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageQuery) {
              subBuilder.MergeFrom(ParkedMessageQuery);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageQuery = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageRetryResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageRetry) {
              subBuilder.MergeFrom(ParkedMessageRetry);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageRetry = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedMessageDiscardResponseDto();
            if (replyCase_ == ReplyOneofCase.ParkedMessageDiscard) {
              subBuilder.MergeFrom(ParkedMessageDiscard);
            }
            input.ReadMessage(subBuilder);
            ParkedMessageDiscard = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto();
            if (replyCase_ == ReplyOneofCase.ParkedOperationAction) {
              subBuilder.MergeFrom(ParkedOperationAction);
            }
            input.ReadMessage(subBuilder);
            ParkedOperationAction = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[78]; }
    }

    [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 RouteToCallRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToCallRequestDto(RouteToCallRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      scriptName_ = other.scriptName_;
      parameters_ = other.parameters_ != null ? other.parameters_.Clone() : null;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      parentExecutionId_ = other.parentExecutionId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "script_name" field.</summary>
    public const int ScriptNameFieldNumber = 3;
    private string scriptName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ScriptName {
      get { return scriptName_; }
      set {
        scriptName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "parameters" field.</summary>
    public const int ParametersFieldNumber = 4;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap parameters_;
    /// <summary>
    /// absent => null (distinct from empty)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap Parameters {
      get { return parameters_; }
      set {
        parameters_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "parent_execution_id" field.</summary>
    public const int ParentExecutionIdFieldNumber = 6;
    private string parentExecutionId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParentExecutionId {
      get { return parentExecutionId_; }
      set {
        parentExecutionId_ = 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 RouteToCallRequestDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToCallRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (ScriptName != other.ScriptName) return false;
      if (!object.Equals(Parameters, other.Parameters)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (ParentExecutionId != other.ParentExecutionId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (ScriptName.Length != 0) hash ^= ScriptName.GetHashCode();
      if (parameters_ != null) hash ^= Parameters.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (ScriptName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ScriptName);
      }
      if (parameters_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Parameters);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (ScriptName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ScriptName);
      }
      if (parameters_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Parameters);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (ScriptName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ScriptName);
      }
      if (parameters_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Parameters);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToCallRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.ScriptName.Length != 0) {
        ScriptName = other.ScriptName;
      }
      if (other.parameters_ != null) {
        if (parameters_ == null) {
          Parameters = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
        }
        Parameters.MergeFrom(other.Parameters);
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.ParentExecutionId.Length != 0) {
        ParentExecutionId = other.ParentExecutionId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            ScriptName = input.ReadString();
            break;
          }
          case 34: {
            if (parameters_ == null) {
              Parameters = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            }
            input.ReadMessage(Parameters);
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            ParentExecutionId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            ScriptName = input.ReadString();
            break;
          }
          case 34: {
            if (parameters_ == null) {
              Parameters = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            }
            input.ReadMessage(Parameters);
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 50: {
            ParentExecutionId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[79]; }
    }

    [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 RouteToCallResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToCallResponseDto(RouteToCallResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      success_ = other.success_;
      returnValue_ = other.returnValue_ != null ? other.returnValue_.Clone() : null;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "return_value" field.</summary>
    public const int ReturnValueFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue returnValue_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue ReturnValue {
      get { return returnValue_; }
      set {
        returnValue_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToCallResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Success != other.Success) return false;
      if (!object.Equals(ReturnValue, other.ReturnValue)) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (returnValue_ != null) hash ^= ReturnValue.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (returnValue_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ReturnValue);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (returnValue_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ReturnValue);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (returnValue_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReturnValue);
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToCallResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.returnValue_ != null) {
        if (returnValue_ == null) {
          ReturnValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
        }
        ReturnValue.MergeFrom(other.ReturnValue);
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            if (returnValue_ == null) {
              ReturnValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(ReturnValue);
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            if (returnValue_ == null) {
              ReturnValue = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(ReturnValue);
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[80]; }
    }

    [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 RouteToGetAttributesRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToGetAttributesRequestDto(RouteToGetAttributesRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      attributeNames_ = other.attributeNames_.Clone();
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      parentExecutionId_ = other.parentExecutionId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_names" field.</summary>
    public const int AttributeNamesFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_attributeNames_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> attributeNames_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> AttributeNames {
      get { return attributeNames_; }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "parent_execution_id" field.</summary>
    public const int ParentExecutionIdFieldNumber = 5;
    private string parentExecutionId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParentExecutionId {
      get { return parentExecutionId_; }
      set {
        parentExecutionId_ = 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 RouteToGetAttributesRequestDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToGetAttributesRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if(!attributeNames_.Equals(other.attributeNames_)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (ParentExecutionId != other.ParentExecutionId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      hash ^= attributeNames_.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      attributeNames_.WriteTo(output, _repeated_attributeNames_codec);
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      attributeNames_.WriteTo(ref output, _repeated_attributeNames_codec);
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      size += attributeNames_.CalculateSize(_repeated_attributeNames_codec);
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToGetAttributesRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      attributeNames_.Add(other.attributeNames_);
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.ParentExecutionId.Length != 0) {
        ParentExecutionId = other.ParentExecutionId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            attributeNames_.AddEntriesFrom(input, _repeated_attributeNames_codec);
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 42: {
            ParentExecutionId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            attributeNames_.AddEntriesFrom(ref input, _repeated_attributeNames_codec);
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 42: {
            ParentExecutionId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[81]; }
    }

    [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 RouteToGetAttributesResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToGetAttributesResponseDto(RouteToGetAttributesResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      values_ = other.values_ != null ? other.values_.Clone() : null;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "values" field.</summary>
    public const int ValuesFieldNumber = 2;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap values_;
    /// <summary>
    /// non-nullable on the CLR side; absent => empty
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap Values {
      get { return values_; }
      set {
        values_ = value;
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 3;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToGetAttributesResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (!object.Equals(Values, other.Values)) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (values_ != null) hash ^= Values.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (values_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Values);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (values_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Values);
      }
      if (Success != false) {
        output.WriteRawTag(24);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (values_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Values);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToGetAttributesResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.values_ != null) {
        if (values_ == null) {
          Values = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
        }
        Values.MergeFrom(other.Values);
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            if (values_ == null) {
              Values = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            }
            input.ReadMessage(Values);
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            if (values_ == null) {
              Values = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueMap();
            }
            input.ReadMessage(Values);
            break;
          }
          case 24: {
            Success = input.ReadBool();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 42: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[82]; }
    }

    [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 RouteToSetAttributesRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToSetAttributesRequestDto(RouteToSetAttributesRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      attributeValues_ = other.attributeValues_.Clone();
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      parentExecutionId_ = other.parentExecutionId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_values" field.</summary>
    public const int AttributeValuesFieldNumber = 3;
    private static readonly pbc::MapField<string, string>.Codec _map_attributeValues_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 26);
    private readonly pbc::MapField<string, string> attributeValues_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> AttributeValues {
      get { return attributeValues_; }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "parent_execution_id" field.</summary>
    public const int ParentExecutionIdFieldNumber = 5;
    private string parentExecutionId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParentExecutionId {
      get { return parentExecutionId_; }
      set {
        parentExecutionId_ = 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 RouteToSetAttributesRequestDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToSetAttributesRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (!AttributeValues.Equals(other.AttributeValues)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (ParentExecutionId != other.ParentExecutionId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      hash ^= AttributeValues.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      attributeValues_.WriteTo(output, _map_attributeValues_codec);
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      attributeValues_.WriteTo(ref output, _map_attributeValues_codec);
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParentExecutionId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      size += attributeValues_.CalculateSize(_map_attributeValues_codec);
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToSetAttributesRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      attributeValues_.MergeFrom(other.attributeValues_);
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.ParentExecutionId.Length != 0) {
        ParentExecutionId = other.ParentExecutionId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            attributeValues_.AddEntriesFrom(input, _map_attributeValues_codec);
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 42: {
            ParentExecutionId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            attributeValues_.AddEntriesFrom(ref input, _map_attributeValues_codec);
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 42: {
            ParentExecutionId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[83]; }
    }

    [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 RouteToSetAttributesResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToSetAttributesResponseDto(RouteToSetAttributesResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 2;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 3;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToSetAttributesResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Success != false) {
        output.WriteRawTag(16);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToSetAttributesResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Success = input.ReadBool();
            break;
          }
          case 26: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 34: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[84]; }
    }

    [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 RouteToWaitForAttributeRequestDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToWaitForAttributeRequestDto(RouteToWaitForAttributeRequestDto other) : this() {
      correlationId_ = other.correlationId_;
      instanceUniqueName_ = other.instanceUniqueName_;
      attributeName_ = other.attributeName_;
      TargetValueEncoded = other.TargetValueEncoded;
      timeout_ = other.timeout_ != null ? other.timeout_.Clone() : null;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      parentExecutionId_ = other.parentExecutionId_;
      requireGoodQuality_ = other.requireGoodQuality_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "instance_unique_name" field.</summary>
    public const int InstanceUniqueNameFieldNumber = 2;
    private string instanceUniqueName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InstanceUniqueName {
      get { return instanceUniqueName_; }
      set {
        instanceUniqueName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attribute_name" field.</summary>
    public const int AttributeNameFieldNumber = 3;
    private string attributeName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AttributeName {
      get { return attributeName_; }
      set {
        attributeName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "target_value_encoded" field.</summary>
    public const int TargetValueEncodedFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _single_targetValueEncoded_codec = pb::FieldCodec.ForClassWrapper<string>(34);
    private string targetValueEncoded_;
    /// <summary>
    /// NOT the empty-string-means-null convention: "wait for this attribute to
    /// become the empty string" is a legitimate target that must stay distinct
    /// from "no target supplied", so this one nullable string rides a wrapper.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetValueEncoded {
      get { return targetValueEncoded_; }
      set {
        targetValueEncoded_ = value;
      }
    }


    /// <summary>Field number for the "timeout" field.</summary>
    public const int TimeoutFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Duration timeout_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration Timeout {
      get { return timeout_; }
      set {
        timeout_ = value;
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

    /// <summary>Field number for the "parent_execution_id" field.</summary>
    public const int ParentExecutionIdFieldNumber = 7;
    private string parentExecutionId_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParentExecutionId {
      get { return parentExecutionId_; }
      set {
        parentExecutionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "require_good_quality" field.</summary>
    public const int RequireGoodQualityFieldNumber = 8;
    private bool requireGoodQuality_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool RequireGoodQuality {
      get { return requireGoodQuality_; }
      set {
        requireGoodQuality_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToWaitForAttributeRequestDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (InstanceUniqueName != other.InstanceUniqueName) return false;
      if (AttributeName != other.AttributeName) return false;
      if (TargetValueEncoded != other.TargetValueEncoded) return false;
      if (!object.Equals(Timeout, other.Timeout)) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) return false;
      if (ParentExecutionId != other.ParentExecutionId) return false;
      if (RequireGoodQuality != other.RequireGoodQuality) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (InstanceUniqueName.Length != 0) hash ^= InstanceUniqueName.GetHashCode();
      if (AttributeName.Length != 0) hash ^= AttributeName.GetHashCode();
      if (targetValueEncoded_ != null) hash ^= TargetValueEncoded.GetHashCode();
      if (timeout_ != null) hash ^= Timeout.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
      if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.GetHashCode();
      if (RequireGoodQuality != false) hash ^= RequireGoodQuality.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (AttributeName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AttributeName);
      }
      if (targetValueEncoded_ != null) {
        _single_targetValueEncoded_codec.WriteTagAndValue(output, TargetValueEncoded);
      }
      if (timeout_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timeout);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ParentExecutionId);
      }
      if (RequireGoodQuality != false) {
        output.WriteRawTag(64);
        output.WriteBool(RequireGoodQuality);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(InstanceUniqueName);
      }
      if (AttributeName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AttributeName);
      }
      if (targetValueEncoded_ != null) {
        _single_targetValueEncoded_codec.WriteTagAndValue(ref output, TargetValueEncoded);
      }
      if (timeout_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Timeout);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ParentExecutionId);
      }
      if (RequireGoodQuality != false) {
        output.WriteRawTag(64);
        output.WriteBool(RequireGoodQuality);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (InstanceUniqueName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InstanceUniqueName);
      }
      if (AttributeName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AttributeName);
      }
      if (targetValueEncoded_ != null) {
        size += _single_targetValueEncoded_codec.CalculateSizeWithTag(TargetValueEncoded);
      }
      if (timeout_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timeout);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (ParentExecutionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
      }
      if (RequireGoodQuality != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToWaitForAttributeRequestDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.InstanceUniqueName.Length != 0) {
        InstanceUniqueName = other.InstanceUniqueName;
      }
      if (other.AttributeName.Length != 0) {
        AttributeName = other.AttributeName;
      }
      if (other.targetValueEncoded_ != null) {
        if (targetValueEncoded_ == null || other.TargetValueEncoded != "") {
          TargetValueEncoded = other.TargetValueEncoded;
        }
      }
      if (other.timeout_ != null) {
        if (timeout_ == null) {
          Timeout = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        Timeout.MergeFrom(other.Timeout);
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      if (other.ParentExecutionId.Length != 0) {
        ParentExecutionId = other.ParentExecutionId;
      }
      if (other.RequireGoodQuality != false) {
        RequireGoodQuality = other.RequireGoodQuality;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            AttributeName = input.ReadString();
            break;
          }
          case 34: {
            string value = _single_targetValueEncoded_codec.Read(input);
            if (targetValueEncoded_ == null || value != "") {
              TargetValueEncoded = value;
            }
            break;
          }
          case 42: {
            if (timeout_ == null) {
              Timeout = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(Timeout);
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 58: {
            ParentExecutionId = input.ReadString();
            break;
          }
          case 64: {
            RequireGoodQuality = input.ReadBool();
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            InstanceUniqueName = input.ReadString();
            break;
          }
          case 26: {
            AttributeName = input.ReadString();
            break;
          }
          case 34: {
            string value = _single_targetValueEncoded_codec.Read(ref input);
            if (targetValueEncoded_ == null || value != "") {
              TargetValueEncoded = value;
            }
            break;
          }
          case 42: {
            if (timeout_ == null) {
              Timeout = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(Timeout);
            break;
          }
          case 50: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
          case 58: {
            ParentExecutionId = input.ReadString();
            break;
          }
          case 64: {
            RequireGoodQuality = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[85]; }
    }

    [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 RouteToWaitForAttributeResponseDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteToWaitForAttributeResponseDto(RouteToWaitForAttributeResponseDto other) : this() {
      correlationId_ = other.correlationId_;
      matched_ = other.matched_;
      value_ = other.value_ != null ? other.value_.Clone() : null;
      quality_ = other.quality_;
      timedOut_ = other.timedOut_;
      success_ = other.success_;
      errorMessage_ = other.errorMessage_;
      timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "matched" field.</summary>
    public const int MatchedFieldNumber = 2;
    private bool matched_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Matched {
      get { return matched_; }
      set {
        matched_ = value;
      }
    }

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 3;
    private global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue value_;
    /// <summary>
    /// absent => null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    /// <summary>Field number for the "quality" field.</summary>
    public const int QualityFieldNumber = 4;
    private string quality_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Quality {
      get { return quality_; }
      set {
        quality_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timed_out" field.</summary>
    public const int TimedOutFieldNumber = 5;
    private bool timedOut_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool TimedOut {
      get { return timedOut_; }
      set {
        timedOut_ = value;
      }
    }

    /// <summary>Field number for the "success" field.</summary>
    public const int SuccessFieldNumber = 6;
    private bool success_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Success {
      get { return success_; }
      set {
        success_ = value;
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 7;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "timestamp" field.</summary>
    public const int TimestampFieldNumber = 8;
    private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp {
      get { return timestamp_; }
      set {
        timestamp_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteToWaitForAttributeResponseDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Matched != other.Matched) return false;
      if (!object.Equals(Value, other.Value)) return false;
      if (Quality != other.Quality) return false;
      if (TimedOut != other.TimedOut) return false;
      if (Success != other.Success) return false;
      if (ErrorMessage != other.ErrorMessage) return false;
      if (!object.Equals(Timestamp, other.Timestamp)) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Matched != false) hash ^= Matched.GetHashCode();
      if (value_ != null) hash ^= Value.GetHashCode();
      if (Quality.Length != 0) hash ^= Quality.GetHashCode();
      if (TimedOut != false) hash ^= TimedOut.GetHashCode();
      if (Success != false) hash ^= Success.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
      if (timestamp_ != null) hash ^= Timestamp.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Matched != false) {
        output.WriteRawTag(16);
        output.WriteBool(Matched);
      }
      if (value_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Quality);
      }
      if (TimedOut != false) {
        output.WriteRawTag(40);
        output.WriteBool(TimedOut);
      }
      if (Success != false) {
        output.WriteRawTag(48);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Matched != false) {
        output.WriteRawTag(16);
        output.WriteBool(Matched);
      }
      if (value_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Value);
      }
      if (Quality.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Quality);
      }
      if (TimedOut != false) {
        output.WriteRawTag(40);
        output.WriteBool(TimedOut);
      }
      if (Success != false) {
        output.WriteRawTag(48);
        output.WriteBool(Success);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ErrorMessage);
      }
      if (timestamp_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Timestamp);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Matched != false) {
        size += 1 + 1;
      }
      if (value_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
      }
      if (Quality.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Quality);
      }
      if (TimedOut != false) {
        size += 1 + 1;
      }
      if (Success != false) {
        size += 1 + 1;
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (timestamp_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteToWaitForAttributeResponseDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Matched != false) {
        Matched = other.Matched;
      }
      if (other.value_ != null) {
        if (value_ == null) {
          Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
        }
        Value.MergeFrom(other.Value);
      }
      if (other.Quality.Length != 0) {
        Quality = other.Quality;
      }
      if (other.TimedOut != false) {
        TimedOut = other.TimedOut;
      }
      if (other.Success != false) {
        Success = other.Success;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      if (other.timestamp_ != null) {
        if (timestamp_ == null) {
          Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        Timestamp.MergeFrom(other.Timestamp);
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Matched = input.ReadBool();
            break;
          }
          case 26: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 34: {
            Quality = input.ReadString();
            break;
          }
          case 40: {
            TimedOut = input.ReadBool();
            break;
          }
          case 48: {
            Success = input.ReadBool();
            break;
          }
          case 58: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Matched = input.ReadBool();
            break;
          }
          case 26: {
            if (value_ == null) {
              Value = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValue();
            }
            input.ReadMessage(Value);
            break;
          }
          case 34: {
            Quality = input.ReadString();
            break;
          }
          case 40: {
            TimedOut = input.ReadBool();
            break;
          }
          case 48: {
            Success = input.ReadBool();
            break;
          }
          case 58: {
            ErrorMessage = input.ReadString();
            break;
          }
          case 66: {
            if (timestamp_ == null) {
              Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(Timestamp);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[86]; }
    }

    [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 RouteRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteRequest(RouteRequest other) : this() {
      switch (other.CommandCase) {
        case CommandOneofCase.RouteToCall:
          RouteToCall = other.RouteToCall.Clone();
          break;
        case CommandOneofCase.RouteToGetAttributes:
          RouteToGetAttributes = other.RouteToGetAttributes.Clone();
          break;
        case CommandOneofCase.RouteToSetAttributes:
          RouteToSetAttributes = other.RouteToSetAttributes.Clone();
          break;
        case CommandOneofCase.RouteToWaitForAttribute:
          RouteToWaitForAttribute = other.RouteToWaitForAttribute.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "route_to_call" field.</summary>
    public const int RouteToCallFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto RouteToCall {
      get { return commandCase_ == CommandOneofCase.RouteToCall ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RouteToCall;
      }
    }

    /// <summary>Field number for the "route_to_get_attributes" field.</summary>
    public const int RouteToGetAttributesFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto RouteToGetAttributes {
      get { return commandCase_ == CommandOneofCase.RouteToGetAttributes ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RouteToGetAttributes;
      }
    }

    /// <summary>Field number for the "route_to_set_attributes" field.</summary>
    public const int RouteToSetAttributesFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto RouteToSetAttributes {
      get { return commandCase_ == CommandOneofCase.RouteToSetAttributes ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RouteToSetAttributes;
      }
    }

    /// <summary>Field number for the "route_to_wait_for_attribute" field.</summary>
    public const int RouteToWaitForAttributeFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto RouteToWaitForAttribute {
      get { return commandCase_ == CommandOneofCase.RouteToWaitForAttribute ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto) command_ : null; }
      set {
        command_ = value;
        commandCase_ = value == null ? CommandOneofCase.None : CommandOneofCase.RouteToWaitForAttribute;
      }
    }

    private object command_;
    /// <summary>Enum of possible cases for the "command" oneof.</summary>
    public enum CommandOneofCase {
      None = 0,
      RouteToCall = 1,
      RouteToGetAttributes = 2,
      RouteToSetAttributes = 3,
      RouteToWaitForAttribute = 4,
    }
    private CommandOneofCase commandCase_ = CommandOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandOneofCase CommandCase {
      get { return commandCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearCommand() {
      commandCase_ = CommandOneofCase.None;
      command_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RouteToCall, other.RouteToCall)) return false;
      if (!object.Equals(RouteToGetAttributes, other.RouteToGetAttributes)) return false;
      if (!object.Equals(RouteToSetAttributes, other.RouteToSetAttributes)) return false;
      if (!object.Equals(RouteToWaitForAttribute, other.RouteToWaitForAttribute)) return false;
      if (CommandCase != other.CommandCase) 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 (commandCase_ == CommandOneofCase.RouteToCall) hash ^= RouteToCall.GetHashCode();
      if (commandCase_ == CommandOneofCase.RouteToGetAttributes) hash ^= RouteToGetAttributes.GetHashCode();
      if (commandCase_ == CommandOneofCase.RouteToSetAttributes) hash ^= RouteToSetAttributes.GetHashCode();
      if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) hash ^= RouteToWaitForAttribute.GetHashCode();
      hash ^= (int) commandCase_;
      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 (commandCase_ == CommandOneofCase.RouteToCall) {
        output.WriteRawTag(10);
        output.WriteMessage(RouteToCall);
      }
      if (commandCase_ == CommandOneofCase.RouteToGetAttributes) {
        output.WriteRawTag(18);
        output.WriteMessage(RouteToGetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToSetAttributes) {
        output.WriteRawTag(26);
        output.WriteMessage(RouteToSetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) {
        output.WriteRawTag(34);
        output.WriteMessage(RouteToWaitForAttribute);
      }
      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 (commandCase_ == CommandOneofCase.RouteToCall) {
        output.WriteRawTag(10);
        output.WriteMessage(RouteToCall);
      }
      if (commandCase_ == CommandOneofCase.RouteToGetAttributes) {
        output.WriteRawTag(18);
        output.WriteMessage(RouteToGetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToSetAttributes) {
        output.WriteRawTag(26);
        output.WriteMessage(RouteToSetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) {
        output.WriteRawTag(34);
        output.WriteMessage(RouteToWaitForAttribute);
      }
      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 (commandCase_ == CommandOneofCase.RouteToCall) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToCall);
      }
      if (commandCase_ == CommandOneofCase.RouteToGetAttributes) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToGetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToSetAttributes) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToSetAttributes);
      }
      if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToWaitForAttribute);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteRequest other) {
      if (other == null) {
        return;
      }
      switch (other.CommandCase) {
        case CommandOneofCase.RouteToCall:
          if (RouteToCall == null) {
            RouteToCall = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto();
          }
          RouteToCall.MergeFrom(other.RouteToCall);
          break;
        case CommandOneofCase.RouteToGetAttributes:
          if (RouteToGetAttributes == null) {
            RouteToGetAttributes = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto();
          }
          RouteToGetAttributes.MergeFrom(other.RouteToGetAttributes);
          break;
        case CommandOneofCase.RouteToSetAttributes:
          if (RouteToSetAttributes == null) {
            RouteToSetAttributes = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto();
          }
          RouteToSetAttributes.MergeFrom(other.RouteToSetAttributes);
          break;
        case CommandOneofCase.RouteToWaitForAttribute:
          if (RouteToWaitForAttribute == null) {
            RouteToWaitForAttribute = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto();
          }
          RouteToWaitForAttribute.MergeFrom(other.RouteToWaitForAttribute);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToCall) {
              subBuilder.MergeFrom(RouteToCall);
            }
            input.ReadMessage(subBuilder);
            RouteToCall = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToGetAttributes) {
              subBuilder.MergeFrom(RouteToGetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToGetAttributes = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToSetAttributes) {
              subBuilder.MergeFrom(RouteToSetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToSetAttributes = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) {
              subBuilder.MergeFrom(RouteToWaitForAttribute);
            }
            input.ReadMessage(subBuilder);
            RouteToWaitForAttribute = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToCall) {
              subBuilder.MergeFrom(RouteToCall);
            }
            input.ReadMessage(subBuilder);
            RouteToCall = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToGetAttributes) {
              subBuilder.MergeFrom(RouteToGetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToGetAttributes = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToSetAttributes) {
              subBuilder.MergeFrom(RouteToSetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToSetAttributes = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto();
            if (commandCase_ == CommandOneofCase.RouteToWaitForAttribute) {
              subBuilder.MergeFrom(RouteToWaitForAttribute);
            }
            input.ReadMessage(subBuilder);
            RouteToWaitForAttribute = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[87]; }
    }

    [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 RouteReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RouteReply(RouteReply other) : this() {
      switch (other.ReplyCase) {
        case ReplyOneofCase.RouteToCall:
          RouteToCall = other.RouteToCall.Clone();
          break;
        case ReplyOneofCase.RouteToGetAttributes:
          RouteToGetAttributes = other.RouteToGetAttributes.Clone();
          break;
        case ReplyOneofCase.RouteToSetAttributes:
          RouteToSetAttributes = other.RouteToSetAttributes.Clone();
          break;
        case ReplyOneofCase.RouteToWaitForAttribute:
          RouteToWaitForAttribute = other.RouteToWaitForAttribute.Clone();
          break;
      }

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

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

    /// <summary>Field number for the "route_to_call" field.</summary>
    public const int RouteToCallFieldNumber = 1;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto RouteToCall {
      get { return replyCase_ == ReplyOneofCase.RouteToCall ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.RouteToCall;
      }
    }

    /// <summary>Field number for the "route_to_get_attributes" field.</summary>
    public const int RouteToGetAttributesFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto RouteToGetAttributes {
      get { return replyCase_ == ReplyOneofCase.RouteToGetAttributes ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.RouteToGetAttributes;
      }
    }

    /// <summary>Field number for the "route_to_set_attributes" field.</summary>
    public const int RouteToSetAttributesFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto RouteToSetAttributes {
      get { return replyCase_ == ReplyOneofCase.RouteToSetAttributes ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.RouteToSetAttributes;
      }
    }

    /// <summary>Field number for the "route_to_wait_for_attribute" field.</summary>
    public const int RouteToWaitForAttributeFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto RouteToWaitForAttribute {
      get { return replyCase_ == ReplyOneofCase.RouteToWaitForAttribute ? (global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto) reply_ : null; }
      set {
        reply_ = value;
        replyCase_ = value == null ? ReplyOneofCase.None : ReplyOneofCase.RouteToWaitForAttribute;
      }
    }

    private object reply_;
    /// <summary>Enum of possible cases for the "reply" oneof.</summary>
    public enum ReplyOneofCase {
      None = 0,
      RouteToCall = 1,
      RouteToGetAttributes = 2,
      RouteToSetAttributes = 3,
      RouteToWaitForAttribute = 4,
    }
    private ReplyOneofCase replyCase_ = ReplyOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ReplyOneofCase ReplyCase {
      get { return replyCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearReply() {
      replyCase_ = ReplyOneofCase.None;
      reply_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RouteReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RouteToCall, other.RouteToCall)) return false;
      if (!object.Equals(RouteToGetAttributes, other.RouteToGetAttributes)) return false;
      if (!object.Equals(RouteToSetAttributes, other.RouteToSetAttributes)) return false;
      if (!object.Equals(RouteToWaitForAttribute, other.RouteToWaitForAttribute)) return false;
      if (ReplyCase != other.ReplyCase) 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 (replyCase_ == ReplyOneofCase.RouteToCall) hash ^= RouteToCall.GetHashCode();
      if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) hash ^= RouteToGetAttributes.GetHashCode();
      if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) hash ^= RouteToSetAttributes.GetHashCode();
      if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) hash ^= RouteToWaitForAttribute.GetHashCode();
      hash ^= (int) replyCase_;
      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 (replyCase_ == ReplyOneofCase.RouteToCall) {
        output.WriteRawTag(10);
        output.WriteMessage(RouteToCall);
      }
      if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) {
        output.WriteRawTag(18);
        output.WriteMessage(RouteToGetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) {
        output.WriteRawTag(26);
        output.WriteMessage(RouteToSetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) {
        output.WriteRawTag(34);
        output.WriteMessage(RouteToWaitForAttribute);
      }
      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 (replyCase_ == ReplyOneofCase.RouteToCall) {
        output.WriteRawTag(10);
        output.WriteMessage(RouteToCall);
      }
      if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) {
        output.WriteRawTag(18);
        output.WriteMessage(RouteToGetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) {
        output.WriteRawTag(26);
        output.WriteMessage(RouteToSetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) {
        output.WriteRawTag(34);
        output.WriteMessage(RouteToWaitForAttribute);
      }
      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 (replyCase_ == ReplyOneofCase.RouteToCall) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToCall);
      }
      if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToGetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToSetAttributes);
      }
      if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RouteToWaitForAttribute);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RouteReply other) {
      if (other == null) {
        return;
      }
      switch (other.ReplyCase) {
        case ReplyOneofCase.RouteToCall:
          if (RouteToCall == null) {
            RouteToCall = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto();
          }
          RouteToCall.MergeFrom(other.RouteToCall);
          break;
        case ReplyOneofCase.RouteToGetAttributes:
          if (RouteToGetAttributes == null) {
            RouteToGetAttributes = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto();
          }
          RouteToGetAttributes.MergeFrom(other.RouteToGetAttributes);
          break;
        case ReplyOneofCase.RouteToSetAttributes:
          if (RouteToSetAttributes == null) {
            RouteToSetAttributes = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto();
          }
          RouteToSetAttributes.MergeFrom(other.RouteToSetAttributes);
          break;
        case ReplyOneofCase.RouteToWaitForAttribute:
          if (RouteToWaitForAttribute == null) {
            RouteToWaitForAttribute = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto();
          }
          RouteToWaitForAttribute.MergeFrom(other.RouteToWaitForAttribute);
          break;
      }

      _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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToCall) {
              subBuilder.MergeFrom(RouteToCall);
            }
            input.ReadMessage(subBuilder);
            RouteToCall = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) {
              subBuilder.MergeFrom(RouteToGetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToGetAttributes = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) {
              subBuilder.MergeFrom(RouteToSetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToSetAttributes = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) {
              subBuilder.MergeFrom(RouteToWaitForAttribute);
            }
            input.ReadMessage(subBuilder);
            RouteToWaitForAttribute = subBuilder;
            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: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToCall) {
              subBuilder.MergeFrom(RouteToCall);
            }
            input.ReadMessage(subBuilder);
            RouteToCall = subBuilder;
            break;
          }
          case 18: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToGetAttributes) {
              subBuilder.MergeFrom(RouteToGetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToGetAttributes = subBuilder;
            break;
          }
          case 26: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToSetAttributes) {
              subBuilder.MergeFrom(RouteToSetAttributes);
            }
            input.ReadMessage(subBuilder);
            RouteToSetAttributes = subBuilder;
            break;
          }
          case 34: {
            global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto subBuilder = new global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto();
            if (replyCase_ == ReplyOneofCase.RouteToWaitForAttribute) {
              subBuilder.MergeFrom(RouteToWaitForAttribute);
            }
            input.ReadMessage(subBuilder);
            RouteToWaitForAttribute = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[88]; }
    }

    [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 TriggerSiteFailoverDto() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "site_id" field.</summary>
    public const int SiteIdFieldNumber = 2;
    private string siteId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SiteId {
      get { return siteId_; }
      set {
        siteId_ = 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 TriggerSiteFailoverDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TriggerSiteFailoverDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (SiteId != other.SiteId) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (SiteId.Length != 0) hash ^= SiteId.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (SiteId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SiteId);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (SiteId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SiteId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TriggerSiteFailoverDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.SiteId.Length != 0) {
        SiteId = other.SiteId;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 18: {
            SiteId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteCommandReflection.Descriptor.MessageTypes[89]; }
    }

    [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 SiteFailoverAckDto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SiteFailoverAckDto(SiteFailoverAckDto other) : this() {
      correlationId_ = other.correlationId_;
      accepted_ = other.accepted_;
      targetAddress_ = other.targetAddress_;
      errorMessage_ = other.errorMessage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "correlation_id" field.</summary>
    public const int CorrelationIdFieldNumber = 1;
    private string correlationId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CorrelationId {
      get { return correlationId_; }
      set {
        correlationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "accepted" field.</summary>
    public const int AcceptedFieldNumber = 2;
    private bool accepted_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Accepted {
      get { return accepted_; }
      set {
        accepted_ = value;
      }
    }

    /// <summary>Field number for the "target_address" field.</summary>
    public const int TargetAddressFieldNumber = 3;
    private string targetAddress_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetAddress {
      get { return targetAddress_; }
      set {
        targetAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "error_message" field.</summary>
    public const int ErrorMessageFieldNumber = 4;
    private string errorMessage_ = "";
    /// <summary>
    /// empty string represents null
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorMessage {
      get { return errorMessage_; }
      set {
        errorMessage_ = 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 SiteFailoverAckDto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SiteFailoverAckDto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CorrelationId != other.CorrelationId) return false;
      if (Accepted != other.Accepted) return false;
      if (TargetAddress != other.TargetAddress) return false;
      if (ErrorMessage != other.ErrorMessage) 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 (CorrelationId.Length != 0) hash ^= CorrelationId.GetHashCode();
      if (Accepted != false) hash ^= Accepted.GetHashCode();
      if (TargetAddress.Length != 0) hash ^= TargetAddress.GetHashCode();
      if (ErrorMessage.Length != 0) hash ^= ErrorMessage.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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Accepted != false) {
        output.WriteRawTag(16);
        output.WriteBool(Accepted);
      }
      if (TargetAddress.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TargetAddress);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CorrelationId);
      }
      if (Accepted != false) {
        output.WriteRawTag(16);
        output.WriteBool(Accepted);
      }
      if (TargetAddress.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TargetAddress);
      }
      if (ErrorMessage.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ErrorMessage);
      }
      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 (CorrelationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CorrelationId);
      }
      if (Accepted != false) {
        size += 1 + 1;
      }
      if (TargetAddress.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetAddress);
      }
      if (ErrorMessage.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorMessage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SiteFailoverAckDto other) {
      if (other == null) {
        return;
      }
      if (other.CorrelationId.Length != 0) {
        CorrelationId = other.CorrelationId;
      }
      if (other.Accepted != false) {
        Accepted = other.Accepted;
      }
      if (other.TargetAddress.Length != 0) {
        TargetAddress = other.TargetAddress;
      }
      if (other.ErrorMessage.Length != 0) {
        ErrorMessage = other.ErrorMessage;
      }
      _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: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Accepted = input.ReadBool();
            break;
          }
          case 26: {
            TargetAddress = input.ReadString();
            break;
          }
          case 34: {
            ErrorMessage = 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 10: {
            CorrelationId = input.ReadString();
            break;
          }
          case 16: {
            Accepted = input.ReadBool();
            break;
          }
          case 26: {
            TargetAddress = input.ReadString();
            break;
          }
          case 34: {
            ErrorMessage = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
