// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: my.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 Bilibili.Community.Service.Dm.V1 {

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

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

    static MyReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CghteS5wcm90bxIgYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEi",
            "ZAoGQXZhdGFyEgoKAmlkGAEgASgJEgsKA3VybBgCIAEoCRJBCgthdmF0YXJf",
            "dHlwZRgDIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkF2YXRhclR5cGUiIwoGQnViYmxlEgwKBHRleHQYASABKAkSCwoDdXJsGAIg",
            "ASgJIsYBCghCdWJibGVWMhIMCgR0ZXh0GAEgASgJEgsKA3VybBgCIAEoCRJB",
            "CgtidWJibGVfdHlwZRgDIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2",
            "aWNlLmRtLnYxLkJ1YmJsZVR5cGUSFQoNZXhwb3N1cmVfb25jZRgEIAEoCBJF",
            "Cg1leHBvc3VyZV90eXBlGAUgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNl",
            "cnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIiYKBkJ1dHRvbhIMCgR0ZXh0GAEg",
            "ASgJEg4KBmFjdGlvbhgCIAEoBSJYCg5CdXp6d29yZENvbmZpZxJGCghrZXl3",
            "b3JkcxgBIAMoCzI0LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkJ1enp3b3JkU2hvd0NvbmZpZyJ4ChJCdXp6d29yZFNob3dDb25maWcSDAoE",
            "bmFtZRgBIAEoCRIOCgZzY2hlbWEYAiABKAkSDgoGc291cmNlGAMgASgFEgoK",
            "AmlkGAQgASgDEhMKC2J1enp3b3JkX2lkGAUgASgDEhMKC3NjaGVtYV90eXBl",
            "GAYgASgFInsKCENoZWNrQm94EgwKBHRleHQYASABKAkSPAoEdHlwZRgCIAEo",
            "DjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNoZWNrYm94",
            "VHlwZRIVCg1kZWZhdWx0X3ZhbHVlGAMgASgIEgwKBHNob3cYBCABKAgiPwoK",
            "Q2hlY2tCb3hWMhIMCgR0ZXh0GAEgASgJEgwKBHR5cGUYAiABKAUSFQoNZGVm",
            "YXVsdF92YWx1ZRgDIAEoCCKCAgoLQ2xpY2tCdXR0b24SFQoNcG9ydHJhaXRf",
            "dGV4dBgBIAMoCRIWCg5sYW5kc2NhcGVfdGV4dBgCIAMoCRIbChNwb3J0cmFp",
            "dF90ZXh0X2ZvY3VzGAMgAygJEhwKFGxhbmRzY2FwZV90ZXh0X2ZvY3VzGAQg",
            "AygJEkEKC3JlbmRlcl90eXBlGAUgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5",
            "LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIMCgRzaG93GAYgASgIEjgKBmJ1",
            "YmJsZRgHIAEoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkJ1YmJsZSLVAQoNQ2xpY2tCdXR0b25WMhIVCg1wb3J0cmFpdF90ZXh0GAEg",
            "AygJEhYKDmxhbmRzY2FwZV90ZXh0GAIgAygJEhsKE3BvcnRyYWl0X3RleHRf",
            "Zm9jdXMYAyADKAkSHAoUbGFuZHNjYXBlX3RleHRfZm9jdXMYBCADKAkSEwoL",
            "cmVuZGVyX3R5cGUYBSABKAUSFwoPdGV4dF9pbnB1dF9wb3N0GAYgASgIEhUK",
            "DWV4cG9zdXJlX29uY2UYByABKAgSFQoNZXhwb3N1cmVfdHlwZRgIIAEoBSKh",
            "AQoJQ29tbWFuZERtEgoKAmlkGAEgASgDEgsKA29pZBgCIAEoAxILCgNtaWQY",
            "AyABKAkSDwoHY29tbWFuZBgEIAEoCRIPCgdjb250ZW50GAUgASgJEhAKCHBy",
            "b2dyZXNzGAYgASgFEg0KBWN0aW1lGAcgASgJEg0KBW10aW1lGAggASgJEg0K",
            "BWV4dHJhGAkgASgJEg0KBWlkU3RyGAogASgJIlAKDURhbm1ha3VBSUZsYWcS",
            "PwoIZG1fZmxhZ3MYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2Vydmlj",
            "ZS5kbS52MS5EYW5tYWt1RmxhZyKtAgoLRGFubWFrdUVsZW0SCgoCaWQYASAB",
            "KAMSEAoIcHJvZ3Jlc3MYAiABKAUSDAoEbW9kZRgDIAEoBRIQCghmb250c2l6",
            "ZRgEIAEoBRINCgVjb2xvchgFIAEoDRIPCgdtaWRIYXNoGAYgASgJEg8KB2Nv",
            "bnRlbnQYByABKAkSDQoFY3RpbWUYCCABKAMSDgoGd2VpZ2h0GAkgASgFEg4K",
            "BmFjdGlvbhgKIAEoCRIMCgRwb29sGAsgASgFEg0KBWlkU3RyGAwgASgJEgwK",
            "BGF0dHIYDSABKAUSEQoJYW5pbWF0aW9uGBYgASgJEkIKCGNvbG9yZnVsGBgg",
            "ASgOMjAuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1Db2xv",
            "cmZ1bFR5cGUiKQoLRGFubWFrdUZsYWcSDAoEZG1pZBgBIAEoAxIMCgRmbGFn",
            "GAIgASgNIksKEURhbm1ha3VGbGFnQ29uZmlnEhAKCHJlY19mbGFnGAEgASgF",
            "EhAKCHJlY190ZXh0GAIgASgJEhIKCnJlY19zd2l0Y2gYAyABKAUi5AYKGERh",
            "bm11RGVmYXVsdFBsYXllckNvbmZpZxIpCiFwbGF5ZXJfZGFubWFrdV91c2Vf",
            "ZGVmYXVsdF9jb25maWcYASABKAgSLAokcGxheWVyX2Rhbm1ha3VfYWlfcmVj",
            "b21tZW5kZWRfc3dpdGNoGAQgASgIEisKI3BsYXllcl9kYW5tYWt1X2FpX3Jl",
            "Y29tbWVuZGVkX2xldmVsGAUgASgFEh8KF3BsYXllcl9kYW5tYWt1X2Jsb2Nr",
            "dG9wGAYgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2Nrc2Nyb2xsGAcgASgI",
            "EiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrYm90dG9tGAggASgIEiQKHHBsYXll",
            "cl9kYW5tYWt1X2Jsb2NrY29sb3JmdWwYCSABKAgSIgoacGxheWVyX2Rhbm1h",
            "a3VfYmxvY2tyZXBlYXQYCiABKAgSIwobcGxheWVyX2Rhbm1ha3VfYmxvY2tz",
            "cGVjaWFsGAsgASgIEh4KFnBsYXllcl9kYW5tYWt1X29wYWNpdHkYDCABKAIS",
            "JAoccGxheWVyX2Rhbm1ha3Vfc2NhbGluZ2ZhY3RvchgNIAEoAhIdChVwbGF5",
            "ZXJfZGFubWFrdV9kb21haW4YDiABKAISHAoUcGxheWVyX2Rhbm1ha3Vfc3Bl",
            "ZWQYDyABKAUSJAocaW5saW5lX3BsYXllcl9kYW5tYWt1X3N3aXRjaBgQIAEo",
            "CBIpCiFwbGF5ZXJfZGFubWFrdV9zZW5pb3JfbW9kZV9zd2l0Y2gYESABKAUS",
            "LgomcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjIYEiAB",
            "KAUSmAEKKnBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsX3Yy",
            "X21hcBgTIAMoCzJkLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkRhbm11RGVmYXVsdFBsYXllckNvbmZpZy5QbGF5ZXJEYW5tYWt1QWlSZWNv",
            "bW1lbmRlZExldmVsVjJNYXBFbnRyeRpLCilQbGF5ZXJEYW5tYWt1QWlSZWNv",
            "bW1lbmRlZExldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUY",
            "AiABKAU6AjgBIo8IChFEYW5tdVBsYXllckNvbmZpZxIdChVwbGF5ZXJfZGFu",
            "bWFrdV9zd2l0Y2gYASABKAgSIgoacGxheWVyX2Rhbm1ha3Vfc3dpdGNoX3Nh",
            "dmUYAiABKAgSKQohcGxheWVyX2Rhbm1ha3VfdXNlX2RlZmF1bHRfY29uZmln",
            "GAMgASgIEiwKJHBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX3N3aXRj",
            "aBgEIAEoCBIrCiNwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZl",
            "bBgFIAEoBRIfChdwbGF5ZXJfZGFubWFrdV9ibG9ja3RvcBgGIAEoCBIiChpw",
            "bGF5ZXJfZGFubWFrdV9ibG9ja3Njcm9sbBgHIAEoCBIiChpwbGF5ZXJfZGFu",
            "bWFrdV9ibG9ja2JvdHRvbRgIIAEoCBIkChxwbGF5ZXJfZGFubWFrdV9ibG9j",
            "a2NvbG9yZnVsGAkgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrcmVwZWF0",
            "GAogASgIEiMKG3BsYXllcl9kYW5tYWt1X2Jsb2Nrc3BlY2lhbBgLIAEoCBIe",
            "ChZwbGF5ZXJfZGFubWFrdV9vcGFjaXR5GAwgASgCEiQKHHBsYXllcl9kYW5t",
            "YWt1X3NjYWxpbmdmYWN0b3IYDSABKAISHQoVcGxheWVyX2Rhbm1ha3VfZG9t",
            "YWluGA4gASgCEhwKFHBsYXllcl9kYW5tYWt1X3NwZWVkGA8gASgFEiYKHnBs",
            "YXllcl9kYW5tYWt1X2VuYWJsZWJsb2NrbGlzdBgQIAEoCBIkChxpbmxpbmVf",
            "cGxheWVyX2Rhbm1ha3Vfc3dpdGNoGBEgASgIEiQKHGlubGluZV9wbGF5ZXJf",
            "ZGFubWFrdV9jb25maWcYEiABKAUSJgoecGxheWVyX2Rhbm1ha3VfaW9zX3N3",
            "aXRjaF9zYXZlGBMgASgFEikKIXBsYXllcl9kYW5tYWt1X3Nlbmlvcl9tb2Rl",
            "X3N3aXRjaBgUIAEoBRIuCiZwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRl",
            "ZF9sZXZlbF92MhgVIAEoBRKRAQoqcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21t",
            "ZW5kZWRfbGV2ZWxfdjJfbWFwGBYgAygLMl0uYmlsaWJpbGkuY29tbXVuaXR5",
            "LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWcuUGxheWVyRGFubWFr",
            "dUFpUmVjb21tZW5kZWRMZXZlbFYyTWFwRW50cnkaSwopUGxheWVyRGFubWFr",
            "dUFpUmVjb21tZW5kZWRMZXZlbFYyTWFwRW50cnkSCwoDa2V5GAEgASgFEg0K",
            "BXZhbHVlGAIgASgFOgI4ASIwChZEYW5tdVBsYXllckNvbmZpZ1BhbmVsEhYK",
            "DnNlbGVjdGlvbl90ZXh0GAEgASgJIksKGERhbm11UGxheWVyRHluYW1pY0Nv",
            "bmZpZxIQCghwcm9ncmVzcxgBIAEoBRIdChVwbGF5ZXJfZGFubWFrdV9kb21h",
            "aW4YDiABKAIikAMKFURhbm11UGxheWVyVmlld0NvbmZpZxJhCh1kYW5tdWt1",
            "X2RlZmF1bHRfcGxheWVyX2NvbmZpZxgBIAEoCzI6LmJpbGliaWxpLmNvbW11",
            "bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11RGVmYXVsdFBsYXllckNvbmZpZxJS",
            "ChVkYW5tdWt1X3BsYXllcl9jb25maWcYAiABKAsyMy5iaWxpYmlsaS5jb21t",
            "dW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckNvbmZpZxJhCh1kYW5t",
            "dWt1X3BsYXllcl9keW5hbWljX2NvbmZpZxgDIAMoCzI6LmJpbGliaWxpLmNv",
            "bW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11UGxheWVyRHluYW1pY0NvbmZp",
            "ZxJdChtkYW5tdWt1X3BsYXllcl9jb25maWdfcGFuZWwYBCABKAsyOC5iaWxp",
            "YmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckNvbmZp",
            "Z1BhbmVsItgEChREYW5tdVdlYlBsYXllckNvbmZpZxIRCglkbV9zd2l0Y2gY",
            "ASABKAgSEQoJYWlfc3dpdGNoGAIgASgIEhAKCGFpX2xldmVsGAMgASgFEhAK",
            "CGJsb2NrdG9wGAQgASgIEhMKC2Jsb2Nrc2Nyb2xsGAUgASgIEhMKC2Jsb2Nr",
            "Ym90dG9tGAYgASgIEhIKCmJsb2NrY29sb3IYByABKAgSFAoMYmxvY2tzcGVj",
            "aWFsGAggASgIEhQKDHByZXZlbnRzaGFkZRgJIAEoCBINCgVkbWFzaxgKIAEo",
            "CBIPCgdvcGFjaXR5GAsgASgCEg4KBmRtYXJlYRgMIAEoBRIRCglzcGVlZHBs",
            "dXMYDSABKAISEAoIZm9udHNpemUYDiABKAISEgoKc2NyZWVuc3luYxgPIAEo",
            "CBIRCglzcGVlZHN5bmMYECABKAgSEgoKZm9udGZhbWlseRgRIAEoCRIMCgRi",
            "b2xkGBIgASgIEhIKCmZvbnRib3JkZXIYEyABKAUSEQoJZHJhd190eXBlGBQg",
            "ASgJEhoKEnNlbmlvcl9tb2RlX3N3aXRjaBgVIAEoBRITCgthaV9sZXZlbF92",
            "MhgWIAEoBRJhCg9haV9sZXZlbF92Ml9tYXAYFyADKAsySC5iaWxpYmlsaS5j",
            "b21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVdlYlBsYXllckNvbmZpZy5B",
            "aUxldmVsVjJNYXBFbnRyeRozChFBaUxldmVsVjJNYXBFbnRyeRILCgNrZXkY",
            "ASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIlkKCkRtQ29sb3JmdWwSPgoEdHlw",
            "ZRgBIAEoDjIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRt",
            "Q29sb3JmdWxUeXBlEgsKA3NyYxgCIAEoCSJBCg9EbUV4cG9SZXBvcnRSZXES",
            "EgoKc2Vzc2lvbl9pZBgBIAEoCRILCgNvaWQYAiABKAMSDQoFc3BtaWQYBCAB",
            "KAkiEQoPRG1FeHBvUmVwb3J0UmVzIuMMChFEbVBsYXllckNvbmZpZ1JlcRIK",
            "CgJ0cxgBIAEoAxJFCgZzd2l0Y2gYAiABKAsyNS5iaWxpYmlsaS5jb21tdW5p",
            "dHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3dpdGNoEk4KC3N3aXRj",
            "aF9zYXZlGAMgASgLMjkuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0u",
            "djEuUGxheWVyRGFubWFrdVN3aXRjaFNhdmUSWwoSdXNlX2RlZmF1bHRfY29u",
            "ZmlnGAQgASgLMj8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEu",
            "UGxheWVyRGFubWFrdVVzZURlZmF1bHRDb25maWcSYQoVYWlfcmVjb21tZW5k",
            "ZWRfc3dpdGNoGAUgASgLMkIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2Uu",
            "ZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRTd2l0Y2gSXwoUYWlf",
            "cmVjb21tZW5kZWRfbGV2ZWwYBiABKAsyQS5iaWxpYmlsaS5jb21tdW5pdHku",
            "c2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVs",
            "EkkKCGJsb2NrdG9wGAcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZp",
            "Y2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrdG9wEk8KC2Jsb2Nrc2Nyb2xs",
            "GAggASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxh",
            "eWVyRGFubWFrdUJsb2Nrc2Nyb2xsEk8KC2Jsb2NrYm90dG9tGAkgASgLMjou",
            "YmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFr",
            "dUJsb2NrYm90dG9tElMKDWJsb2NrY29sb3JmdWwYCiABKAsyPC5iaWxpYmls",
            "aS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tj",
            "b2xvcmZ1bBJPCgtibG9ja3JlcGVhdBgLIAEoCzI6LmJpbGliaWxpLmNvbW11",
            "bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3JlcGVhdBJR",
            "CgxibG9ja3NwZWNpYWwYDCABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2Vy",
            "dmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEkcKB29wYWNp",
            "dHkYDSABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Q",
            "bGF5ZXJEYW5tYWt1T3BhY2l0eRJTCg1zY2FsaW5nZmFjdG9yGA4gASgLMjwu",
            "YmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFr",
            "dVNjYWxpbmdmYWN0b3ISRQoGZG9tYWluGA8gASgLMjUuYmlsaWJpbGkuY29t",
            "bXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpbhJDCgVz",
            "cGVlZBgQIAEoCzI0LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LlBsYXllckRhbm1ha3VTcGVlZBJXCg9lbmFibGVibG9ja2xpc3QYESABKAsy",
            "Pi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5t",
            "YWt1RW5hYmxlYmxvY2tsaXN0El4KGWlubGluZVBsYXllckRhbm1ha3VTd2l0",
            "Y2gYEiABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5J",
            "bmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoElsKEnNlbmlvcl9tb2RlX3N3aXRj",
            "aBgTIAEoCzI/LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBs",
            "YXllckRhbm1ha3VTZW5pb3JNb2RlU3dpdGNoEmQKF2FpX3JlY29tbWVuZGVk",
            "X2xldmVsX3YyGBQgASgLMkMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2Uu",
            "ZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbFYyIi8KC0Rt",
            "U2VnQ29uZmlnEhEKCXBhZ2Vfc2l6ZRgBIAEoAxINCgV0b3RhbBgCIAEoAyLk",
            "AQoQRG1TZWdNb2JpbGVSZXBseRI8CgVlbGVtcxgBIAMoCzItLmJpbGliaWxp",
            "LmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VFbGVtEg0KBXN0YXRl",
            "GAIgASgFEkAKB2FpX2ZsYWcYAyABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHku",
            "c2VydmljZS5kbS52MS5EYW5tYWt1QUlGbGFnEkEKC2NvbG9yZnVsU3JjGAUg",
            "AygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1Db2xv",
            "cmZ1bCKmAQoORG1TZWdNb2JpbGVSZXESCwoDcGlkGAEgASgDEgsKA29pZBgC",
            "IAEoAxIMCgR0eXBlGAMgASgFEhUKDXNlZ21lbnRfaW5kZXgYBCABKAMSFgoO",
            "dGVlbmFnZXJzX21vZGUYBSABKAUSCgoCcHMYBiABKAMSCgoCcGUYByABKAMS",
            "EQoJcHVsbF9tb2RlGAggASgFEhIKCmZyb21fc2NlbmUYCSABKAUiXQoNRG1T",
            "ZWdPdHRSZXBseRIOCgZjbG9zZWQYASABKAgSPAoFZWxlbXMYAiADKAsyLS5i",
            "aWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbSJM",
            "CgtEbVNlZ090dFJlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5",
            "cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAyJdCg1EbVNlZ1NES1Jl",
            "cGx5Eg4KBmNsb3NlZBgBIAEoCBI8CgVlbGVtcxgCIAMoCzItLmJpbGliaWxp",
            "LmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VFbGVtIkwKC0RtU2Vn",
            "U0RLUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEo",
            "BRIVCg1zZWdtZW50X2luZGV4GAQgASgDIt4GCgtEbVZpZXdSZXBseRIOCgZj",
            "bG9zZWQYASABKAgSOQoEbWFzaxgCIAEoCzIrLmJpbGliaWxpLmNvbW11bml0",
            "eS5zZXJ2aWNlLmRtLnYxLlZpZGVvTWFzaxJBCghzdWJ0aXRsZRgDIAEoCzIv",
            "LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlZpZGVvU3VidGl0",
            "bGUSEwoLc3BlY2lhbF9kbXMYBCADKAkSRAoHYWlfZmxhZxgFIAEoCzIzLmJp",
            "bGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFnQ29u",
            "ZmlnEk4KDXBsYXllcl9jb25maWcYBiABKAsyNy5iaWxpYmlsaS5jb21tdW5p",
            "dHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllclZpZXdDb25maWcSFgoOc2Vu",
            "ZF9ib3hfc3R5bGUYByABKAUSDQoFYWxsb3cYCCABKAgSEQoJY2hlY2tfYm94",
            "GAkgASgJEhoKEmNoZWNrX2JveF9zaG93X21zZxgKIAEoCRIYChB0ZXh0X3Bs",
            "YWNlaG9sZGVyGAsgASgJEhkKEWlucHV0X3BsYWNlaG9sZGVyGAwgASgJEh0K",
            "FXJlcG9ydF9maWx0ZXJfY29udGVudBgNIAMoCRJBCgtleHBvX3JlcG9ydBgO",
            "IAEoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkV4cG9S",
            "ZXBvcnQSSQoPYnV6endvcmRfY29uZmlnGA8gASgLMjAuYmlsaWJpbGkuY29t",
            "bXVuaXR5LnNlcnZpY2UuZG0udjEuQnV6endvcmRDb25maWcSQgoLZXhwcmVz",
            "c2lvbnMYECADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52",
            "MS5FeHByZXNzaW9ucxI/Cgpwb3N0X3BhbmVsGBEgAygLMisuYmlsaWJpbGku",
            "Y29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsEhUKDWFjdGl2aXR5",
            "X21ldGEYEiADKAkSQgoLcG9zdF9wYW5lbDIYEyADKAsyLS5iaWxpYmlsaS5j",
            "b21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxWMiJYCglEbVZpZXdS",
            "ZXESCwoDcGlkGAEgASgDEgsKA29pZBgCIAEoAxIMCgR0eXBlGAMgASgFEg0K",
            "BXNwbWlkGAQgASgJEhQKDGlzX2hhcmRfYm9vdBgFIAEoBSLEBAoORG1XZWJW",
            "aWV3UmVwbHkSDQoFc3RhdGUYASABKAUSDAoEdGV4dBgCIAEoCRIRCgl0ZXh0",
            "X3NpZGUYAyABKAkSPQoGZG1fc2dlGAQgASgLMi0uYmlsaWJpbGkuY29tbXVu",
            "aXR5LnNlcnZpY2UuZG0udjEuRG1TZWdDb25maWcSQQoEZmxhZxgFIAEoCzIz",
            "LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFn",
            "Q29uZmlnEhMKC3NwZWNpYWxfZG1zGAYgAygJEhEKCWNoZWNrX2JveBgHIAEo",
            "CBINCgVjb3VudBgIIAEoAxI/Cgpjb21tYW5kRG1zGAkgAygLMisuYmlsaWJp",
            "bGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ29tbWFuZERtEk0KDXBsYXll",
            "cl9jb25maWcYCiABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5k",
            "bS52MS5EYW5tdVdlYlBsYXllckNvbmZpZxIdChVyZXBvcnRfZmlsdGVyX2Nv",
            "bnRlbnQYCyADKAkSQgoLZXhwcmVzc2lvbnMYDCADKAsyLS5iaWxpYmlsaS5j",
            "b21tdW5pdHkuc2VydmljZS5kbS52MS5FeHByZXNzaW9ucxI/Cgpwb3N0X3Bh",
            "bmVsGA0gAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEu",
            "UG9zdFBhbmVsEhUKDWFjdGl2aXR5X21ldGEYDiADKAkiKgoKRXhwb1JlcG9y",
            "dBIcChRzaG91bGRfcmVwb3J0X2F0X2VuZBgBIAEoCCJkCgpFeHByZXNzaW9u",
            "Eg8KB2tleXdvcmQYASADKAkSCwoDdXJsGAIgASgJEjgKBnBlcmlvZBgDIAMo",
            "CzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBlcmlvZCJJ",
            "CgtFeHByZXNzaW9ucxI6CgRkYXRhGAEgAygLMiwuYmlsaWJpbGkuY29tbXVu",
            "aXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbiIqChlJbmxpbmVQbGF5ZXJE",
            "YW5tYWt1U3dpdGNoEg0KBXZhbHVlGAEgASgIIicKBUxhYmVsEg0KBXRpdGxl",
            "GAEgASgJEg8KB2NvbnRlbnQYAiADKAkiVwoHTGFiZWxWMhINCgV0aXRsZRgB",
            "IAEoCRIPCgdjb250ZW50GAIgAygJEhUKDWV4cG9zdXJlX29uY2UYAyABKAgS",
            "FQoNZXhwb3N1cmVfdHlwZRgEIAEoBSIkCgZQZXJpb2QSDQoFc3RhcnQYASAB",
            "KAMSCwoDZW5kGAIgASgDIjAKH1BsYXllckRhbm1ha3VBaVJlY29tbWVuZGVk",
            "TGV2ZWwSDQoFdmFsdWUYASABKAgiMgohUGxheWVyRGFubWFrdUFpUmVjb21t",
            "ZW5kZWRMZXZlbFYyEg0KBXZhbHVlGAEgASgFIjEKIFBsYXllckRhbm1ha3VB",
            "aVJlY29tbWVuZGVkU3dpdGNoEg0KBXZhbHVlGAEgASgIIikKGFBsYXllckRh",
            "bm1ha3VCbG9ja2JvdHRvbRINCgV2YWx1ZRgBIAEoCCIrChpQbGF5ZXJEYW5t",
            "YWt1QmxvY2tjb2xvcmZ1bBINCgV2YWx1ZRgBIAEoCCIpChhQbGF5ZXJEYW5t",
            "YWt1QmxvY2tyZXBlYXQSDQoFdmFsdWUYASABKAgiKQoYUGxheWVyRGFubWFr",
            "dUJsb2Nrc2Nyb2xsEg0KBXZhbHVlGAEgASgIIioKGVBsYXllckRhbm1ha3VC",
            "bG9ja3NwZWNpYWwSDQoFdmFsdWUYASABKAgiJgoVUGxheWVyRGFubWFrdUJs",
            "b2NrdG9wEg0KBXZhbHVlGAEgASgIIiQKE1BsYXllckRhbm1ha3VEb21haW4S",
            "DQoFdmFsdWUYASABKAIiLQocUGxheWVyRGFubWFrdUVuYWJsZWJsb2NrbGlz",
            "dBINCgV2YWx1ZRgBIAEoCCIlChRQbGF5ZXJEYW5tYWt1T3BhY2l0eRINCgV2",
            "YWx1ZRgBIAEoAiIrChpQbGF5ZXJEYW5tYWt1U2NhbGluZ2ZhY3RvchINCgV2",
            "YWx1ZRgBIAEoAiIuCh1QbGF5ZXJEYW5tYWt1U2VuaW9yTW9kZVN3aXRjaBIN",
            "CgV2YWx1ZRgBIAEoBSIjChJQbGF5ZXJEYW5tYWt1U3BlZWQSDQoFdmFsdWUY",
            "ASABKAUiOAoTUGxheWVyRGFubWFrdVN3aXRjaBINCgV2YWx1ZRgBIAEoCBIS",
            "CgpjYW5faWdub3JlGAIgASgIIigKF1BsYXllckRhbm1ha3VTd2l0Y2hTYXZl",
            "Eg0KBXZhbHVlGAEgASgIIi4KHVBsYXllckRhbm1ha3VVc2VEZWZhdWx0Q29u",
            "ZmlnEg0KBXZhbHVlGAEgASgIIowDCglQb3N0UGFuZWwSDQoFc3RhcnQYASAB",
            "KAMSCwoDZW5kGAIgASgDEhAKCHByaW9yaXR5GAMgASgDEg4KBmJpel9pZBgE",
            "IAEoAxJECghiaXpfdHlwZRgFIAEoDjIyLmJpbGliaWxpLmNvbW11bml0eS5z",
            "ZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbEJpelR5cGUSQwoMY2xpY2tfYnV0dG9u",
            "GAYgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2xp",
            "Y2tCdXR0b24SPwoKdGV4dF9pbnB1dBgHIAEoCzIrLmJpbGliaWxpLmNvbW11",
            "bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dBI9CgljaGVja19ib3gYCCAB",
            "KAsyKi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja0Jv",
            "eBI2CgV0b2FzdBgJIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNl",
            "LmRtLnYxLlRvYXN0IssDCgtQb3N0UGFuZWxWMhINCgVzdGFydBgBIAEoAxIL",
            "CgNlbmQYAiABKAMSEAoIYml6X3R5cGUYAyABKAUSRQoMY2xpY2tfYnV0dG9u",
            "GAQgASgLMi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2xp",
            "Y2tCdXR0b25WMhJBCgp0ZXh0X2lucHV0GAUgASgLMi0uYmlsaWJpbGkuY29t",
            "bXVuaXR5LnNlcnZpY2UuZG0udjEuVGV4dElucHV0VjISPwoJY2hlY2tfYm94",
            "GAYgASgLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hl",
            "Y2tCb3hWMhI4CgV0b2FzdBgHIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5z",
            "ZXJ2aWNlLmRtLnYxLlRvYXN0VjISOgoGYnViYmxlGAggASgLMiouYmlsaWJp",
            "bGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnViYmxlVjISOAoFbGFiZWwY",
            "CSABKAsyKS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5MYWJl",
            "bFYyEhMKC3Bvc3Rfc3RhdHVzGAogASgFIikKCFJlc3BvbnNlEgwKBGNvZGUY",
            "ASABKAUSDwoHbWVzc2FnZRgCIAEoCSL5AgoMU3VidGl0bGVJdGVtEgoKAmlk",
            "GAEgASgDEg4KBmlkX3N0chgCIAEoCRILCgNsYW4YAyABKAkSDwoHbGFuX2Rv",
            "YxgEIAEoCRIUCgxzdWJ0aXRsZV91cmwYBSABKAkSOgoGYXV0aG9yGAYgASgL",
            "MiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVXNlckluZm8S",
            "PAoEdHlwZRgHIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRt",
            "LnYxLlN1YnRpdGxlVHlwZRIVCg1sYW5fZG9jX2JyaWVmGAggASgJEkEKB2Fp",
            "X3R5cGUYCSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52",
            "MS5TdWJ0aXRsZUFpVHlwZRJFCglhaV9zdGF0dXMYCiABKA4yMi5iaWxpYmls",
            "aS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpU3RhdHVzIugC",
            "CglUZXh0SW5wdXQSHAoUcG9ydHJhaXRfcGxhY2Vob2xkZXIYASADKAkSHQoV",
            "bGFuZHNjYXBlX3BsYWNlaG9sZGVyGAIgAygJEkEKC3JlbmRlcl90eXBlGAMg",
            "ASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVy",
            "VHlwZRIYChBwbGFjZWhvbGRlcl9wb3N0GAQgASgIEgwKBHNob3cYBSABKAgS",
            "OAoGYXZhdGFyGAYgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2Uu",
            "ZG0udjEuQXZhdGFyEkEKC3Bvc3Rfc3RhdHVzGAcgASgOMiwuYmlsaWJpbGku",
            "Y29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFN0YXR1cxI2CgVsYWJlbBgI",
            "IAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkxhYmVs",
            "IvsBCgtUZXh0SW5wdXRWMhIcChRwb3J0cmFpdF9wbGFjZWhvbGRlchgBIAMo",
            "CRIdChVsYW5kc2NhcGVfcGxhY2Vob2xkZXIYAiADKAkSQQoLcmVuZGVyX3R5",
            "cGUYAyABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5S",
            "ZW5kZXJUeXBlEhgKEHBsYWNlaG9sZGVyX3Bvc3QYBCABKAgSOAoGYXZhdGFy",
            "GAUgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZh",
            "dGFyEhgKEHRleHRfaW5wdXRfbGltaXQYBiABKAUibwoFVG9hc3QSDAoEdGV4",
            "dBgBIAEoCRIQCghkdXJhdGlvbhgCIAEoBRIMCgRzaG93GAMgASgIEjgKBmJ1",
            "dHRvbhgEIAEoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkJ1dHRvbiItCg1Ub2FzdEJ1dHRvblYyEgwKBHRleHQYASABKAkSDgoGYWN0",
            "aW9uGAIgASgFInMKB1RvYXN0VjISDAoEdGV4dBgBIAEoCRIQCghkdXJhdGlv",
            "bhgCIAEoBRJICg90b2FzdF9idXR0b25fdjIYAyABKAsyLy5iaWxpYmlsaS5j",
            "b21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdEJ1dHRvblYyIlwKCFVzZXJJ",
            "bmZvEgsKA21pZBgBIAEoAxIMCgRuYW1lGAIgASgJEgsKA3NleBgDIAEoCRIM",
            "CgRmYWNlGAQgASgJEgwKBHNpZ24YBSABKAkSDAoEcmFuaxgGIAEoBSJTCglW",
            "aWRlb01hc2sSCwoDY2lkGAEgASgDEgwKBHBsYXQYAiABKAUSCwoDZnBzGAMg",
            "ASgFEgwKBHRpbWUYBCABKAMSEAoIbWFza191cmwYBSABKAkibwoNVmlkZW9T",
            "dWJ0aXRsZRILCgNsYW4YASABKAkSDgoGbGFuRG9jGAIgASgJEkEKCXN1YnRp",
            "dGxlcxgDIAMoCzIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LlN1YnRpdGxlSXRlbSozCgpBdmF0YXJUeXBlEhIKDkF2YXRhclR5cGVOb25l",
            "EAASEQoNQXZhdGFyVHlwZU5GVBABKlkKCkJ1YmJsZVR5cGUSEgoOQnViYmxl",
            "VHlwZU5vbmUQABIZChVCdWJibGVUeXBlQ2xpY2tCdXR0b24QARIcChhCdWJi",
            "bGVUeXBlRG1TZXR0aW5nUGFuZWwQAipYCgxDaGVja2JveFR5cGUSFAoQQ2hl",
            "Y2tib3hUeXBlTm9uZRAAEhkKFUNoZWNrYm94VHlwZUVuY291cmFnZRABEhcK",
            "E0NoZWNrYm94VHlwZUNvbG9yRE0QAipMCglETUF0dHJCaXQSFAoQRE1BdHRy",
            "Qml0UHJvdGVjdBAAEhUKEURNQXR0ckJpdEZyb21MaXZlEAESEgoORE1BdHRy",
            "SGlnaExpa2UQAio1Cg5EbUNvbG9yZnVsVHlwZRIMCghOb25lVHlwZRAAEhUK",
            "D1ZpcEdyYWR1YWxDb2xvchDh1AMqPAoMRXhwb3N1cmVUeXBlEhQKEEV4cG9z",
            "dXJlVHlwZU5vbmUQABIWChJFeHBvc3VyZVR5cGVETVNlbmQQASrBAQoQUG9z",
            "dFBhbmVsQml6VHlwZRIYChRQb3N0UGFuZWxCaXpUeXBlTm9uZRAAEh0KGVBv",
            "c3RQYW5lbEJpelR5cGVFbmNvdXJhZ2UQARIbChdQb3N0UGFuZWxCaXpUeXBl",
            "Q29sb3JETRACEhkKFVBvc3RQYW5lbEJpelR5cGVORlRETRADEh0KGVBvc3RQ",
            "YW5lbEJpelR5cGVGcmFnQ2xvc2UQBBIdChlQb3N0UGFuZWxCaXpUeXBlUmVj",
            "b21tZW5kEAUqOAoKUG9zdFN0YXR1cxIUChBQb3N0U3RhdHVzTm9ybWFsEAAS",
            "FAoQUG9zdFN0YXR1c0Nsb3NlZBABKk4KClJlbmRlclR5cGUSEgoOUmVuZGVy",
            "VHlwZU5vbmUQABIUChBSZW5kZXJUeXBlU2luZ2xlEAESFgoSUmVuZGVyVHlw",
            "ZVJvdGF0aW9uEAIqNgoQU3VidGl0bGVBaVN0YXR1cxIICgROb25lEAASDAoI",
            "RXhwb3N1cmUQARIKCgZBc3Npc3QQAiorCg5TdWJ0aXRsZUFpVHlwZRIKCgZO",
            "b3JtYWwQABINCglUcmFuc2xhdGUQASoeCgxTdWJ0aXRsZVR5cGUSBgoCQ0MQ",
            "ABIGCgJBSRABKk4KEVRvYXN0RnVuY3Rpb25UeXBlEhkKFVRvYXN0RnVuY3Rp",
            "b25UeXBlTm9uZRAAEh4KGlRvYXN0RnVuY3Rpb25UeXBlUG9zdFBhbmVsEAEy",
            "oAUKAkRNEnMKC0RtU2VnTW9iaWxlEjAuYmlsaWJpbGkuY29tbXVuaXR5LnNl",
            "cnZpY2UuZG0udjEuRG1TZWdNb2JpbGVSZXEaMi5iaWxpYmlsaS5jb21tdW5p",
            "dHkuc2VydmljZS5kbS52MS5EbVNlZ01vYmlsZVJlcGx5EmQKBkRtVmlldxIr",
            "LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtVmlld1JlcRot",
            "LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtVmlld1JlcGx5",
            "EnEKDkRtUGxheWVyQ29uZmlnEjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZp",
            "Y2UuZG0udjEuRG1QbGF5ZXJDb25maWdSZXEaKi5iaWxpYmlsaS5jb21tdW5p",
            "dHkuc2VydmljZS5kbS52MS5SZXNwb25zZRJqCghEbVNlZ090dBItLmJpbGli",
            "aWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnT3R0UmVxGi8uYmls",
            "aWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdPdHRSZXBseRJq",
            "CghEbVNlZ1NESxItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYx",
            "LkRtU2VnU0RLUmVxGi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0u",
            "djEuRG1TZWdTREtSZXBseRJ0CgxEbUV4cG9SZXBvcnQSMS5iaWxpYmlsaS5j",
            "b21tdW5pdHkuc2VydmljZS5kbS52MS5EbUV4cG9SZXBvcnRSZXEaMS5iaWxp",
            "YmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUV4cG9SZXBvcnRSZXNi",
            "BnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Bilibili.Community.Service.Dm.V1.AvatarType), typeof(global::Bilibili.Community.Service.Dm.V1.BubbleType), typeof(global::Bilibili.Community.Service.Dm.V1.CheckboxType), typeof(global::Bilibili.Community.Service.Dm.V1.DMAttrBit), typeof(global::Bilibili.Community.Service.Dm.V1.DmColorfulType), typeof(global::Bilibili.Community.Service.Dm.V1.ExposureType), typeof(global::Bilibili.Community.Service.Dm.V1.PostPanelBizType), typeof(global::Bilibili.Community.Service.Dm.V1.PostStatus), typeof(global::Bilibili.Community.Service.Dm.V1.RenderType), typeof(global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus), typeof(global::Bilibili.Community.Service.Dm.V1.SubtitleAiType), typeof(global::Bilibili.Community.Service.Dm.V1.SubtitleType), typeof(global::Bilibili.Community.Service.Dm.V1.ToastFunctionType), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Avatar), global::Bilibili.Community.Service.Dm.V1.Avatar.Parser, new[]{ "Id", "Url", "AvatarType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Bubble), global::Bilibili.Community.Service.Dm.V1.Bubble.Parser, new[]{ "Text", "Url" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.BubbleV2), global::Bilibili.Community.Service.Dm.V1.BubbleV2.Parser, new[]{ "Text", "Url", "BubbleType", "ExposureOnce", "ExposureType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Button), global::Bilibili.Community.Service.Dm.V1.Button.Parser, new[]{ "Text", "Action" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig), global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig.Parser, new[]{ "Keywords" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig), global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig.Parser, new[]{ "Name", "Schema", "Source", "Id", "BuzzwordId", "SchemaType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.CheckBox), global::Bilibili.Community.Service.Dm.V1.CheckBox.Parser, new[]{ "Text", "Type", "DefaultValue", "Show" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.CheckBoxV2), global::Bilibili.Community.Service.Dm.V1.CheckBoxV2.Parser, new[]{ "Text", "Type", "DefaultValue" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.ClickButton), global::Bilibili.Community.Service.Dm.V1.ClickButton.Parser, new[]{ "PortraitText", "LandscapeText", "PortraitTextFocus", "LandscapeTextFocus", "RenderType", "Show", "Bubble" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.ClickButtonV2), global::Bilibili.Community.Service.Dm.V1.ClickButtonV2.Parser, new[]{ "PortraitText", "LandscapeText", "PortraitTextFocus", "LandscapeTextFocus", "RenderType", "TextInputPost", "ExposureOnce", "ExposureType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.CommandDm), global::Bilibili.Community.Service.Dm.V1.CommandDm.Parser, new[]{ "Id", "Oid", "Mid", "Command", "Content", "Progress", "Ctime", "Mtime", "Extra", "IdStr" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag), global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag.Parser, new[]{ "DmFlags" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmakuElem), global::Bilibili.Community.Service.Dm.V1.DanmakuElem.Parser, new[]{ "Id", "Progress", "Mode", "Fontsize", "Color", "MidHash", "Content", "Ctime", "Weight", "Action", "Pool", "IdStr", "Attr", "Animation", "Colorful" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmakuFlag), global::Bilibili.Community.Service.Dm.V1.DanmakuFlag.Parser, new[]{ "Dmid", "Flag" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig), global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig.Parser, new[]{ "RecFlag", "RecText", "RecSwitch" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig), global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig.Parser, new[]{ "PlayerDanmakuUseDefaultConfig", "PlayerDanmakuAiRecommendedSwitch", "PlayerDanmakuAiRecommendedLevel", "PlayerDanmakuBlocktop", "PlayerDanmakuBlockscroll", "PlayerDanmakuBlockbottom", "PlayerDanmakuBlockcolorful", "PlayerDanmakuBlockrepeat", "PlayerDanmakuBlockspecial", "PlayerDanmakuOpacity", "PlayerDanmakuScalingfactor", "PlayerDanmakuDomain", "PlayerDanmakuSpeed", "InlinePlayerDanmakuSwitch", "PlayerDanmakuSeniorModeSwitch", "PlayerDanmakuAiRecommendedLevelV2", "PlayerDanmakuAiRecommendedLevelV2Map" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig), global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig.Parser, new[]{ "PlayerDanmakuSwitch", "PlayerDanmakuSwitchSave", "PlayerDanmakuUseDefaultConfig", "PlayerDanmakuAiRecommendedSwitch", "PlayerDanmakuAiRecommendedLevel", "PlayerDanmakuBlocktop", "PlayerDanmakuBlockscroll", "PlayerDanmakuBlockbottom", "PlayerDanmakuBlockcolorful", "PlayerDanmakuBlockrepeat", "PlayerDanmakuBlockspecial", "PlayerDanmakuOpacity", "PlayerDanmakuScalingfactor", "PlayerDanmakuDomain", "PlayerDanmakuSpeed", "PlayerDanmakuEnableblocklist", "InlinePlayerDanmakuSwitch", "InlinePlayerDanmakuConfig", "PlayerDanmakuIosSwitchSave", "PlayerDanmakuSeniorModeSwitch", "PlayerDanmakuAiRecommendedLevelV2", "PlayerDanmakuAiRecommendedLevelV2Map" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel), global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel.Parser, new[]{ "SelectionText" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig), global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig.Parser, new[]{ "Progress", "PlayerDanmakuDomain" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig), global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig.Parser, new[]{ "DanmukuDefaultPlayerConfig", "DanmukuPlayerConfig", "DanmukuPlayerDynamicConfig", "DanmukuPlayerConfigPanel" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig), global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig.Parser, new[]{ "DmSwitch", "AiSwitch", "AiLevel", "Blocktop", "Blockscroll", "Blockbottom", "Blockcolor", "Blockspecial", "Preventshade", "Dmask", "Opacity", "Dmarea", "Speedplus", "Fontsize", "Screensync", "Speedsync", "Fontfamily", "Bold", "Fontborder", "DrawType", "SeniorModeSwitch", "AiLevelV2", "AiLevelV2Map" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmColorful), global::Bilibili.Community.Service.Dm.V1.DmColorful.Parser, new[]{ "Type", "Src" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmExpoReportReq), global::Bilibili.Community.Service.Dm.V1.DmExpoReportReq.Parser, new[]{ "SessionId", "Oid", "Spmid" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmExpoReportRes), global::Bilibili.Community.Service.Dm.V1.DmExpoReportRes.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmPlayerConfigReq), global::Bilibili.Community.Service.Dm.V1.DmPlayerConfigReq.Parser, new[]{ "Ts", "Switch", "SwitchSave", "UseDefaultConfig", "AiRecommendedSwitch", "AiRecommendedLevel", "Blocktop", "Blockscroll", "Blockbottom", "Blockcolorful", "Blockrepeat", "Blockspecial", "Opacity", "Scalingfactor", "Domain", "Speed", "Enableblocklist", "InlinePlayerDanmakuSwitch", "SeniorModeSwitch", "AiRecommendedLevelV2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegConfig), global::Bilibili.Community.Service.Dm.V1.DmSegConfig.Parser, new[]{ "PageSize", "Total" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegMobileReply), global::Bilibili.Community.Service.Dm.V1.DmSegMobileReply.Parser, new[]{ "Elems", "State", "AiFlag", "ColorfulSrc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegMobileReq), global::Bilibili.Community.Service.Dm.V1.DmSegMobileReq.Parser, new[]{ "Pid", "Oid", "Type", "SegmentIndex", "TeenagersMode", "Ps", "Pe", "PullMode", "FromScene" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegOttReply), global::Bilibili.Community.Service.Dm.V1.DmSegOttReply.Parser, new[]{ "Closed", "Elems" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegOttReq), global::Bilibili.Community.Service.Dm.V1.DmSegOttReq.Parser, new[]{ "Pid", "Oid", "Type", "SegmentIndex" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegSDKReply), global::Bilibili.Community.Service.Dm.V1.DmSegSDKReply.Parser, new[]{ "Closed", "Elems" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmSegSDKReq), global::Bilibili.Community.Service.Dm.V1.DmSegSDKReq.Parser, new[]{ "Pid", "Oid", "Type", "SegmentIndex" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmViewReply), global::Bilibili.Community.Service.Dm.V1.DmViewReply.Parser, new[]{ "Closed", "Mask", "Subtitle", "SpecialDms", "AiFlag", "PlayerConfig", "SendBoxStyle", "Allow", "CheckBox", "CheckBoxShowMsg", "TextPlaceholder", "InputPlaceholder", "ReportFilterContent", "ExpoReport", "BuzzwordConfig", "Expressions", "PostPanel", "ActivityMeta", "PostPanel2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmViewReq), global::Bilibili.Community.Service.Dm.V1.DmViewReq.Parser, new[]{ "Pid", "Oid", "Type", "Spmid", "IsHardBoot" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.DmWebViewReply), global::Bilibili.Community.Service.Dm.V1.DmWebViewReply.Parser, new[]{ "State", "Text", "TextSide", "DmSge", "Flag", "SpecialDms", "CheckBox", "Count", "CommandDms", "PlayerConfig", "ReportFilterContent", "Expressions", "PostPanel", "ActivityMeta" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.ExpoReport), global::Bilibili.Community.Service.Dm.V1.ExpoReport.Parser, new[]{ "ShouldReportAtEnd" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Expression), global::Bilibili.Community.Service.Dm.V1.Expression.Parser, new[]{ "Keyword", "Url", "Period" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Expressions), global::Bilibili.Community.Service.Dm.V1.Expressions.Parser, new[]{ "Data" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch), global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Label), global::Bilibili.Community.Service.Dm.V1.Label.Parser, new[]{ "Title", "Content" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.LabelV2), global::Bilibili.Community.Service.Dm.V1.LabelV2.Parser, new[]{ "Title", "Content", "ExposureOnce", "ExposureType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Period), global::Bilibili.Community.Service.Dm.V1.Period.Parser, new[]{ "Start", "End" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch.Parser, new[]{ "Value", "CanIgnore" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig), global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig.Parser, new[]{ "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PostPanel), global::Bilibili.Community.Service.Dm.V1.PostPanel.Parser, new[]{ "Start", "End", "Priority", "BizId", "BizType", "ClickButton", "TextInput", "CheckBox", "Toast" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.PostPanelV2), global::Bilibili.Community.Service.Dm.V1.PostPanelV2.Parser, new[]{ "Start", "End", "BizType", "ClickButton", "TextInput", "CheckBox", "Toast", "Bubble", "Label", "PostStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Response), global::Bilibili.Community.Service.Dm.V1.Response.Parser, new[]{ "Code", "Message" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.SubtitleItem), global::Bilibili.Community.Service.Dm.V1.SubtitleItem.Parser, new[]{ "Id", "IdStr", "Lan", "LanDoc", "SubtitleUrl", "Author", "Type", "LanDocBrief", "AiType", "AiStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.TextInput), global::Bilibili.Community.Service.Dm.V1.TextInput.Parser, new[]{ "PortraitPlaceholder", "LandscapePlaceholder", "RenderType", "PlaceholderPost", "Show", "Avatar", "PostStatus", "Label" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.TextInputV2), global::Bilibili.Community.Service.Dm.V1.TextInputV2.Parser, new[]{ "PortraitPlaceholder", "LandscapePlaceholder", "RenderType", "PlaceholderPost", "Avatar", "TextInputLimit" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.Toast), global::Bilibili.Community.Service.Dm.V1.Toast.Parser, new[]{ "Text", "Duration", "Show", "Button" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.ToastButtonV2), global::Bilibili.Community.Service.Dm.V1.ToastButtonV2.Parser, new[]{ "Text", "Action" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.ToastV2), global::Bilibili.Community.Service.Dm.V1.ToastV2.Parser, new[]{ "Text", "Duration", "ToastButtonV2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.UserInfo), global::Bilibili.Community.Service.Dm.V1.UserInfo.Parser, new[]{ "Mid", "Name", "Sex", "Face", "Sign", "Rank" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.VideoMask), global::Bilibili.Community.Service.Dm.V1.VideoMask.Parser, new[]{ "Cid", "Plat", "Fps", "Time", "MaskUrl" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Bilibili.Community.Service.Dm.V1.VideoSubtitle), global::Bilibili.Community.Service.Dm.V1.VideoSubtitle.Parser, new[]{ "Lan", "LanDoc", "Subtitles" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  /// <summary>
  /// </summary>
  public enum AvatarType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("AvatarTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("AvatarTypeNFT")] Nft = 1,
  }

  /// <summary>
  /// </summary>
  public enum BubbleType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("BubbleTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("BubbleTypeClickButton")] ClickButton = 1,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("BubbleTypeDmSettingPanel")] DmSettingPanel = 2,
  }

  /// <summary>
  /// </summary>
  public enum CheckboxType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("CheckboxTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("CheckboxTypeEncourage")] Encourage = 1,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("CheckboxTypeColorDM")] ColorDm = 2,
  }

  /// <summary>
  /// 弹幕属性位值
  /// </summary>
  public enum DMAttrBit {
    /// <summary>
    /// 保护弹幕
    /// </summary>
    [pbr::OriginalName("DMAttrBitProtect")] Protect = 0,
    /// <summary>
    /// 直播弹幕
    /// </summary>
    [pbr::OriginalName("DMAttrBitFromLive")] FromLive = 1,
    /// <summary>
    /// 高赞弹幕
    /// </summary>
    [pbr::OriginalName("DMAttrHighLike")] DmattrHighLike = 2,
  }

  public enum DmColorfulType {
    /// <summary>
    /// 无
    /// </summary>
    [pbr::OriginalName("NoneType")] NoneType = 0,
    /// <summary>
    /// 渐变色
    /// </summary>
    [pbr::OriginalName("VipGradualColor")] VipGradualColor = 60001,
  }

  /// <summary>
  /// </summary>
  public enum ExposureType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("ExposureTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("ExposureTypeDMSend")] Dmsend = 1,
  }

  /// <summary>
  /// </summary>
  public enum PostPanelBizType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeEncourage")] Encourage = 1,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeColorDM")] ColorDm = 2,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeNFTDM")] Nftdm = 3,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeFragClose")] FragClose = 4,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostPanelBizTypeRecommend")] Recommend = 5,
  }

  /// <summary>
  /// </summary>
  public enum PostStatus {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostStatusNormal")] Normal = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("PostStatusClosed")] Closed = 1,
  }

  /// <summary>
  /// </summary>
  public enum RenderType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("RenderTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("RenderTypeSingle")] Single = 1,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("RenderTypeRotation")] Rotation = 2,
  }

  /// <summary>
  /// </summary>
  public enum SubtitleAiStatus {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("None")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("Exposure")] Exposure = 1,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("Assist")] Assist = 2,
  }

  /// <summary>
  /// </summary>
  public enum SubtitleAiType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("Normal")] Normal = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("Translate")] Translate = 1,
  }

  public enum SubtitleType {
    /// <summary>
    /// CC字幕
    /// </summary>
    [pbr::OriginalName("CC")] Cc = 0,
    /// <summary>
    /// AI生成字幕
    /// </summary>
    [pbr::OriginalName("AI")] Ai = 1,
  }

  /// <summary>
  /// </summary>
  public enum ToastFunctionType {
    /// <summary>
    /// </summary>
    [pbr::OriginalName("ToastFunctionTypeNone")] None = 0,
    /// <summary>
    /// </summary>
    [pbr::OriginalName("ToastFunctionTypePostPanel")] PostPanel = 1,
  }

  #endregion

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Avatar() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    /// <summary>
    /// </summary>
    [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 "url" field.</summary>
    public const int UrlFieldNumber = 2;
    private string url_ = "";
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Url {
      get { return url_; }
      set {
        url_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "avatar_type" field.</summary>
    public const int AvatarTypeFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.AvatarType avatarType_ = global::Bilibili.Community.Service.Dm.V1.AvatarType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.AvatarType AvatarType {
      get { return avatarType_; }
      set {
        avatarType_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Avatar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Url != other.Url) return false;
      if (AvatarType != other.AvatarType) 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 (Url.Length != 0) hash ^= Url.GetHashCode();
      if (AvatarType != global::Bilibili.Community.Service.Dm.V1.AvatarType.None) hash ^= AvatarType.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 (Url.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Url);
      }
      if (AvatarType != global::Bilibili.Community.Service.Dm.V1.AvatarType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) AvatarType);
      }
      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 (Url.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Url);
      }
      if (AvatarType != global::Bilibili.Community.Service.Dm.V1.AvatarType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) AvatarType);
      }
      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 (Url.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Url);
      }
      if (AvatarType != global::Bilibili.Community.Service.Dm.V1.AvatarType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AvatarType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Avatar other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      if (other.AvatarType != global::Bilibili.Community.Service.Dm.V1.AvatarType.None) {
        AvatarType = other.AvatarType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 24: {
            AvatarType = (global::Bilibili.Community.Service.Dm.V1.AvatarType) 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 24: {
            AvatarType = (global::Bilibili.Community.Service.Dm.V1.AvatarType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Bubble() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Bubble other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 18: {
            Url = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 BubbleV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    /// <summary>Field number for the "bubble_type" field.</summary>
    public const int BubbleTypeFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.BubbleType bubbleType_ = global::Bilibili.Community.Service.Dm.V1.BubbleType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.BubbleType BubbleType {
      get { return bubbleType_; }
      set {
        bubbleType_ = value;
      }
    }

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

    /// <summary>Field number for the "exposure_type" field.</summary>
    public const int ExposureTypeFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.ExposureType exposureType_ = global::Bilibili.Community.Service.Dm.V1.ExposureType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ExposureType ExposureType {
      get { return exposureType_; }
      set {
        exposureType_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BubbleV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Text != other.Text) return false;
      if (Url != other.Url) return false;
      if (BubbleType != other.BubbleType) return false;
      if (ExposureOnce != other.ExposureOnce) return false;
      if (ExposureType != other.ExposureType) 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 (Text.Length != 0) hash ^= Text.GetHashCode();
      if (Url.Length != 0) hash ^= Url.GetHashCode();
      if (BubbleType != global::Bilibili.Community.Service.Dm.V1.BubbleType.None) hash ^= BubbleType.GetHashCode();
      if (ExposureOnce != false) hash ^= ExposureOnce.GetHashCode();
      if (ExposureType != global::Bilibili.Community.Service.Dm.V1.ExposureType.None) hash ^= ExposureType.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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Url);
      }
      if (BubbleType != global::Bilibili.Community.Service.Dm.V1.BubbleType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) BubbleType);
      }
      if (ExposureOnce != false) {
        output.WriteRawTag(32);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != global::Bilibili.Community.Service.Dm.V1.ExposureType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) ExposureType);
      }
      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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Url);
      }
      if (BubbleType != global::Bilibili.Community.Service.Dm.V1.BubbleType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) BubbleType);
      }
      if (ExposureOnce != false) {
        output.WriteRawTag(32);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != global::Bilibili.Community.Service.Dm.V1.ExposureType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) ExposureType);
      }
      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 (Text.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
      }
      if (Url.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Url);
      }
      if (BubbleType != global::Bilibili.Community.Service.Dm.V1.BubbleType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) BubbleType);
      }
      if (ExposureOnce != false) {
        size += 1 + 1;
      }
      if (ExposureType != global::Bilibili.Community.Service.Dm.V1.ExposureType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ExposureType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BubbleV2 other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      if (other.BubbleType != global::Bilibili.Community.Service.Dm.V1.BubbleType.None) {
        BubbleType = other.BubbleType;
      }
      if (other.ExposureOnce != false) {
        ExposureOnce = other.ExposureOnce;
      }
      if (other.ExposureType != global::Bilibili.Community.Service.Dm.V1.ExposureType.None) {
        ExposureType = other.ExposureType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 24: {
            BubbleType = (global::Bilibili.Community.Service.Dm.V1.BubbleType) input.ReadEnum();
            break;
          }
          case 32: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 40: {
            ExposureType = (global::Bilibili.Community.Service.Dm.V1.ExposureType) 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 24: {
            BubbleType = (global::Bilibili.Community.Service.Dm.V1.BubbleType) input.ReadEnum();
            break;
          }
          case 32: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 40: {
            ExposureType = (global::Bilibili.Community.Service.Dm.V1.ExposureType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Button() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Button other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Action != 0) {
        Action = other.Action;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Action = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Action = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 BuzzwordConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "keywords" field.</summary>
    public const int KeywordsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig> _repeated_keywords_codec
        = pb::FieldCodec.ForMessage(10, global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig> keywords_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.BuzzwordShowConfig> Keywords {
      get { return keywords_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BuzzwordConfig other) {
      if (other == null) {
        return;
      }
      keywords_.Add(other.keywords_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            keywords_.AddEntriesFrom(input, _repeated_keywords_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            keywords_.AddEntriesFrom(ref input, _repeated_keywords_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 BuzzwordShowConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BuzzwordShowConfig(BuzzwordShowConfig other) : this() {
      name_ = other.name_;
      schema_ = other.schema_;
      source_ = other.source_;
      id_ = other.id_;
      buzzwordId_ = other.buzzwordId_;
      schemaType_ = other.schemaType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    /// <summary>
    /// </summary>
    [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 "schema" field.</summary>
    public const int SchemaFieldNumber = 2;
    private string schema_ = "";
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Schema {
      get { return schema_; }
      set {
        schema_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BuzzwordShowConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Schema != other.Schema) return false;
      if (Source != other.Source) return false;
      if (Id != other.Id) return false;
      if (BuzzwordId != other.BuzzwordId) return false;
      if (SchemaType != other.SchemaType) 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 (Schema.Length != 0) hash ^= Schema.GetHashCode();
      if (Source != 0) hash ^= Source.GetHashCode();
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (BuzzwordId != 0L) hash ^= BuzzwordId.GetHashCode();
      if (SchemaType != 0) hash ^= SchemaType.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 (Schema.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Schema);
      }
      if (Source != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Source);
      }
      if (Id != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(Id);
      }
      if (BuzzwordId != 0L) {
        output.WriteRawTag(40);
        output.WriteInt64(BuzzwordId);
      }
      if (SchemaType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SchemaType);
      }
      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 (Schema.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Schema);
      }
      if (Source != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Source);
      }
      if (Id != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(Id);
      }
      if (BuzzwordId != 0L) {
        output.WriteRawTag(40);
        output.WriteInt64(BuzzwordId);
      }
      if (SchemaType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SchemaType);
      }
      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 (Schema.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Schema);
      }
      if (Source != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Source);
      }
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (BuzzwordId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(BuzzwordId);
      }
      if (SchemaType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SchemaType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BuzzwordShowConfig other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Schema.Length != 0) {
        Schema = other.Schema;
      }
      if (other.Source != 0) {
        Source = other.Source;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.BuzzwordId != 0L) {
        BuzzwordId = other.BuzzwordId;
      }
      if (other.SchemaType != 0) {
        SchemaType = other.SchemaType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Schema = input.ReadString();
            break;
          }
          case 24: {
            Source = input.ReadInt32();
            break;
          }
          case 32: {
            Id = input.ReadInt64();
            break;
          }
          case 40: {
            BuzzwordId = input.ReadInt64();
            break;
          }
          case 48: {
            SchemaType = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Schema = input.ReadString();
            break;
          }
          case 24: {
            Source = input.ReadInt32();
            break;
          }
          case 32: {
            Id = input.ReadInt64();
            break;
          }
          case 40: {
            BuzzwordId = input.ReadInt64();
            break;
          }
          case 48: {
            SchemaType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 CheckBox() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 2;
    private global::Bilibili.Community.Service.Dm.V1.CheckboxType type_ = global::Bilibili.Community.Service.Dm.V1.CheckboxType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.CheckboxType Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CheckBox other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Text != other.Text) return false;
      if (Type != other.Type) return false;
      if (DefaultValue != other.DefaultValue) return false;
      if (Show != other.Show) 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 (Text.Length != 0) hash ^= Text.GetHashCode();
      if (Type != global::Bilibili.Community.Service.Dm.V1.CheckboxType.None) hash ^= Type.GetHashCode();
      if (DefaultValue != false) hash ^= DefaultValue.GetHashCode();
      if (Show != false) hash ^= Show.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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.CheckboxType.None) {
        output.WriteRawTag(16);
        output.WriteEnum((int) Type);
      }
      if (DefaultValue != false) {
        output.WriteRawTag(24);
        output.WriteBool(DefaultValue);
      }
      if (Show != false) {
        output.WriteRawTag(32);
        output.WriteBool(Show);
      }
      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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.CheckboxType.None) {
        output.WriteRawTag(16);
        output.WriteEnum((int) Type);
      }
      if (DefaultValue != false) {
        output.WriteRawTag(24);
        output.WriteBool(DefaultValue);
      }
      if (Show != false) {
        output.WriteRawTag(32);
        output.WriteBool(Show);
      }
      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 (Text.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.CheckboxType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
      }
      if (DefaultValue != false) {
        size += 1 + 1;
      }
      if (Show != 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(CheckBox other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Type != global::Bilibili.Community.Service.Dm.V1.CheckboxType.None) {
        Type = other.Type;
      }
      if (other.DefaultValue != false) {
        DefaultValue = other.DefaultValue;
      }
      if (other.Show != false) {
        Show = other.Show;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Type = (global::Bilibili.Community.Service.Dm.V1.CheckboxType) input.ReadEnum();
            break;
          }
          case 24: {
            DefaultValue = input.ReadBool();
            break;
          }
          case 32: {
            Show = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Type = (global::Bilibili.Community.Service.Dm.V1.CheckboxType) input.ReadEnum();
            break;
          }
          case 24: {
            DefaultValue = input.ReadBool();
            break;
          }
          case 32: {
            Show = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 CheckBoxV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CheckBoxV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Text != other.Text) return false;
      if (Type != other.Type) return false;
      if (DefaultValue != other.DefaultValue) 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 (Text.Length != 0) hash ^= Text.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (DefaultValue != false) hash ^= DefaultValue.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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (DefaultValue != false) {
        output.WriteRawTag(24);
        output.WriteBool(DefaultValue);
      }
      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 (Text.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Text);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (DefaultValue != false) {
        output.WriteRawTag(24);
        output.WriteBool(DefaultValue);
      }
      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 (Text.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (DefaultValue != 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(CheckBoxV2 other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.DefaultValue != false) {
        DefaultValue = other.DefaultValue;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 24: {
            DefaultValue = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 24: {
            DefaultValue = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 ClickButton() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ClickButton(ClickButton other) : this() {
      portraitText_ = other.portraitText_.Clone();
      landscapeText_ = other.landscapeText_.Clone();
      portraitTextFocus_ = other.portraitTextFocus_.Clone();
      landscapeTextFocus_ = other.landscapeTextFocus_.Clone();
      renderType_ = other.renderType_;
      show_ = other.show_;
      bubble_ = other.bubble_ != null ? other.bubble_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "portrait_text" field.</summary>
    public const int PortraitTextFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_portraitText_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> portraitText_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitText {
      get { return portraitText_; }
    }

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

    /// <summary>Field number for the "portrait_text_focus" field.</summary>
    public const int PortraitTextFocusFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_portraitTextFocus_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> portraitTextFocus_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitTextFocus {
      get { return portraitTextFocus_; }
    }

    /// <summary>Field number for the "landscape_text_focus" field.</summary>
    public const int LandscapeTextFocusFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_landscapeTextFocus_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> landscapeTextFocus_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> LandscapeTextFocus {
      get { return landscapeTextFocus_; }
    }

    /// <summary>Field number for the "render_type" field.</summary>
    public const int RenderTypeFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.RenderType renderType_ = global::Bilibili.Community.Service.Dm.V1.RenderType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.RenderType RenderType {
      get { return renderType_; }
      set {
        renderType_ = value;
      }
    }

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

    /// <summary>Field number for the "bubble" field.</summary>
    public const int BubbleFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.Bubble bubble_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.Bubble Bubble {
      get { return bubble_; }
      set {
        bubble_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ClickButton other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!portraitText_.Equals(other.portraitText_)) return false;
      if(!landscapeText_.Equals(other.landscapeText_)) return false;
      if(!portraitTextFocus_.Equals(other.portraitTextFocus_)) return false;
      if(!landscapeTextFocus_.Equals(other.landscapeTextFocus_)) return false;
      if (RenderType != other.RenderType) return false;
      if (Show != other.Show) return false;
      if (!object.Equals(Bubble, other.Bubble)) 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 ^= portraitText_.GetHashCode();
      hash ^= landscapeText_.GetHashCode();
      hash ^= portraitTextFocus_.GetHashCode();
      hash ^= landscapeTextFocus_.GetHashCode();
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) hash ^= RenderType.GetHashCode();
      if (Show != false) hash ^= Show.GetHashCode();
      if (bubble_ != null) hash ^= Bubble.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
      portraitText_.WriteTo(output, _repeated_portraitText_codec);
      landscapeText_.WriteTo(output, _repeated_landscapeText_codec);
      portraitTextFocus_.WriteTo(output, _repeated_portraitTextFocus_codec);
      landscapeTextFocus_.WriteTo(output, _repeated_landscapeTextFocus_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) RenderType);
      }
      if (Show != false) {
        output.WriteRawTag(48);
        output.WriteBool(Show);
      }
      if (bubble_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Bubble);
      }
      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) {
      portraitText_.WriteTo(ref output, _repeated_portraitText_codec);
      landscapeText_.WriteTo(ref output, _repeated_landscapeText_codec);
      portraitTextFocus_.WriteTo(ref output, _repeated_portraitTextFocus_codec);
      landscapeTextFocus_.WriteTo(ref output, _repeated_landscapeTextFocus_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) RenderType);
      }
      if (Show != false) {
        output.WriteRawTag(48);
        output.WriteBool(Show);
      }
      if (bubble_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Bubble);
      }
      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 += portraitText_.CalculateSize(_repeated_portraitText_codec);
      size += landscapeText_.CalculateSize(_repeated_landscapeText_codec);
      size += portraitTextFocus_.CalculateSize(_repeated_portraitTextFocus_codec);
      size += landscapeTextFocus_.CalculateSize(_repeated_landscapeTextFocus_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RenderType);
      }
      if (Show != false) {
        size += 1 + 1;
      }
      if (bubble_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bubble);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ClickButton other) {
      if (other == null) {
        return;
      }
      portraitText_.Add(other.portraitText_);
      landscapeText_.Add(other.landscapeText_);
      portraitTextFocus_.Add(other.portraitTextFocus_);
      landscapeTextFocus_.Add(other.landscapeTextFocus_);
      if (other.RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        RenderType = other.RenderType;
      }
      if (other.Show != false) {
        Show = other.Show;
      }
      if (other.bubble_ != null) {
        if (bubble_ == null) {
          Bubble = new global::Bilibili.Community.Service.Dm.V1.Bubble();
        }
        Bubble.MergeFrom(other.Bubble);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            portraitText_.AddEntriesFrom(input, _repeated_portraitText_codec);
            break;
          }
          case 18: {
            landscapeText_.AddEntriesFrom(input, _repeated_landscapeText_codec);
            break;
          }
          case 26: {
            portraitTextFocus_.AddEntriesFrom(input, _repeated_portraitTextFocus_codec);
            break;
          }
          case 34: {
            landscapeTextFocus_.AddEntriesFrom(input, _repeated_landscapeTextFocus_codec);
            break;
          }
          case 40: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 48: {
            Show = input.ReadBool();
            break;
          }
          case 58: {
            if (bubble_ == null) {
              Bubble = new global::Bilibili.Community.Service.Dm.V1.Bubble();
            }
            input.ReadMessage(Bubble);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            portraitText_.AddEntriesFrom(ref input, _repeated_portraitText_codec);
            break;
          }
          case 18: {
            landscapeText_.AddEntriesFrom(ref input, _repeated_landscapeText_codec);
            break;
          }
          case 26: {
            portraitTextFocus_.AddEntriesFrom(ref input, _repeated_portraitTextFocus_codec);
            break;
          }
          case 34: {
            landscapeTextFocus_.AddEntriesFrom(ref input, _repeated_landscapeTextFocus_codec);
            break;
          }
          case 40: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 48: {
            Show = input.ReadBool();
            break;
          }
          case 58: {
            if (bubble_ == null) {
              Bubble = new global::Bilibili.Community.Service.Dm.V1.Bubble();
            }
            input.ReadMessage(Bubble);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 ClickButtonV2() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ClickButtonV2(ClickButtonV2 other) : this() {
      portraitText_ = other.portraitText_.Clone();
      landscapeText_ = other.landscapeText_.Clone();
      portraitTextFocus_ = other.portraitTextFocus_.Clone();
      landscapeTextFocus_ = other.landscapeTextFocus_.Clone();
      renderType_ = other.renderType_;
      textInputPost_ = other.textInputPost_;
      exposureOnce_ = other.exposureOnce_;
      exposureType_ = other.exposureType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "portrait_text" field.</summary>
    public const int PortraitTextFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_portraitText_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> portraitText_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitText {
      get { return portraitText_; }
    }

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

    /// <summary>Field number for the "portrait_text_focus" field.</summary>
    public const int PortraitTextFocusFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_portraitTextFocus_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> portraitTextFocus_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitTextFocus {
      get { return portraitTextFocus_; }
    }

    /// <summary>Field number for the "landscape_text_focus" field.</summary>
    public const int LandscapeTextFocusFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_landscapeTextFocus_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> landscapeTextFocus_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> LandscapeTextFocus {
      get { return landscapeTextFocus_; }
    }

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

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

    /// <summary>Field number for the "exposure_once" field.</summary>
    public const int ExposureOnceFieldNumber = 7;
    private bool exposureOnce_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ExposureOnce {
      get { return exposureOnce_; }
      set {
        exposureOnce_ = value;
      }
    }

    /// <summary>Field number for the "exposure_type" field.</summary>
    public const int ExposureTypeFieldNumber = 8;
    private int exposureType_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExposureType {
      get { return exposureType_; }
      set {
        exposureType_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ClickButtonV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!portraitText_.Equals(other.portraitText_)) return false;
      if(!landscapeText_.Equals(other.landscapeText_)) return false;
      if(!portraitTextFocus_.Equals(other.portraitTextFocus_)) return false;
      if(!landscapeTextFocus_.Equals(other.landscapeTextFocus_)) return false;
      if (RenderType != other.RenderType) return false;
      if (TextInputPost != other.TextInputPost) return false;
      if (ExposureOnce != other.ExposureOnce) return false;
      if (ExposureType != other.ExposureType) 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 ^= portraitText_.GetHashCode();
      hash ^= landscapeText_.GetHashCode();
      hash ^= portraitTextFocus_.GetHashCode();
      hash ^= landscapeTextFocus_.GetHashCode();
      if (RenderType != 0) hash ^= RenderType.GetHashCode();
      if (TextInputPost != false) hash ^= TextInputPost.GetHashCode();
      if (ExposureOnce != false) hash ^= ExposureOnce.GetHashCode();
      if (ExposureType != 0) hash ^= ExposureType.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
      portraitText_.WriteTo(output, _repeated_portraitText_codec);
      landscapeText_.WriteTo(output, _repeated_landscapeText_codec);
      portraitTextFocus_.WriteTo(output, _repeated_portraitTextFocus_codec);
      landscapeTextFocus_.WriteTo(output, _repeated_landscapeTextFocus_codec);
      if (RenderType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RenderType);
      }
      if (TextInputPost != false) {
        output.WriteRawTag(48);
        output.WriteBool(TextInputPost);
      }
      if (ExposureOnce != false) {
        output.WriteRawTag(56);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ExposureType);
      }
      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) {
      portraitText_.WriteTo(ref output, _repeated_portraitText_codec);
      landscapeText_.WriteTo(ref output, _repeated_landscapeText_codec);
      portraitTextFocus_.WriteTo(ref output, _repeated_portraitTextFocus_codec);
      landscapeTextFocus_.WriteTo(ref output, _repeated_landscapeTextFocus_codec);
      if (RenderType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RenderType);
      }
      if (TextInputPost != false) {
        output.WriteRawTag(48);
        output.WriteBool(TextInputPost);
      }
      if (ExposureOnce != false) {
        output.WriteRawTag(56);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ExposureType);
      }
      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 += portraitText_.CalculateSize(_repeated_portraitText_codec);
      size += landscapeText_.CalculateSize(_repeated_landscapeText_codec);
      size += portraitTextFocus_.CalculateSize(_repeated_portraitTextFocus_codec);
      size += landscapeTextFocus_.CalculateSize(_repeated_landscapeTextFocus_codec);
      if (RenderType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RenderType);
      }
      if (TextInputPost != false) {
        size += 1 + 1;
      }
      if (ExposureOnce != false) {
        size += 1 + 1;
      }
      if (ExposureType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExposureType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ClickButtonV2 other) {
      if (other == null) {
        return;
      }
      portraitText_.Add(other.portraitText_);
      landscapeText_.Add(other.landscapeText_);
      portraitTextFocus_.Add(other.portraitTextFocus_);
      landscapeTextFocus_.Add(other.landscapeTextFocus_);
      if (other.RenderType != 0) {
        RenderType = other.RenderType;
      }
      if (other.TextInputPost != false) {
        TextInputPost = other.TextInputPost;
      }
      if (other.ExposureOnce != false) {
        ExposureOnce = other.ExposureOnce;
      }
      if (other.ExposureType != 0) {
        ExposureType = other.ExposureType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            portraitText_.AddEntriesFrom(input, _repeated_portraitText_codec);
            break;
          }
          case 18: {
            landscapeText_.AddEntriesFrom(input, _repeated_landscapeText_codec);
            break;
          }
          case 26: {
            portraitTextFocus_.AddEntriesFrom(input, _repeated_portraitTextFocus_codec);
            break;
          }
          case 34: {
            landscapeTextFocus_.AddEntriesFrom(input, _repeated_landscapeTextFocus_codec);
            break;
          }
          case 40: {
            RenderType = input.ReadInt32();
            break;
          }
          case 48: {
            TextInputPost = input.ReadBool();
            break;
          }
          case 56: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 64: {
            ExposureType = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            portraitText_.AddEntriesFrom(ref input, _repeated_portraitText_codec);
            break;
          }
          case 18: {
            landscapeText_.AddEntriesFrom(ref input, _repeated_landscapeText_codec);
            break;
          }
          case 26: {
            portraitTextFocus_.AddEntriesFrom(ref input, _repeated_portraitTextFocus_codec);
            break;
          }
          case 34: {
            landscapeTextFocus_.AddEntriesFrom(ref input, _repeated_landscapeTextFocus_codec);
            break;
          }
          case 40: {
            RenderType = input.ReadInt32();
            break;
          }
          case 48: {
            TextInputPost = input.ReadBool();
            break;
          }
          case 56: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 64: {
            ExposureType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 互动弹幕条目信息
  /// </summary>
  public sealed partial class CommandDm : pb::IMessage<CommandDm>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CommandDm> _parser = new pb::MessageParser<CommandDm>(() => new CommandDm());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CommandDm> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 CommandDm() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CommandDm(CommandDm other) : this() {
      id_ = other.id_;
      oid_ = other.oid_;
      mid_ = other.mid_;
      command_ = other.command_;
      content_ = other.content_;
      progress_ = other.progress_;
      ctime_ = other.ctime_;
      mtime_ = other.mtime_;
      extra_ = other.extra_;
      idStr_ = other.idStr_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// 对象视频cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

    /// <summary>Field number for the "mid" field.</summary>
    public const int MidFieldNumber = 3;
    private string mid_ = "";
    /// <summary>
    /// 发送者mid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Mid {
      get { return mid_; }
      set {
        mid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "command" field.</summary>
    public const int CommandFieldNumber = 4;
    private string command_ = "";
    /// <summary>
    /// 互动弹幕指令
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Command {
      get { return command_; }
      set {
        command_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "content" field.</summary>
    public const int ContentFieldNumber = 5;
    private string content_ = "";
    /// <summary>
    /// 互动弹幕正文
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Content {
      get { return content_; }
      set {
        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "progress" field.</summary>
    public const int ProgressFieldNumber = 6;
    private int progress_;
    /// <summary>
    /// 出现时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Progress {
      get { return progress_; }
      set {
        progress_ = value;
      }
    }

    /// <summary>Field number for the "ctime" field.</summary>
    public const int CtimeFieldNumber = 7;
    private string ctime_ = "";
    /// <summary>
    /// 创建时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Ctime {
      get { return ctime_; }
      set {
        ctime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "mtime" field.</summary>
    public const int MtimeFieldNumber = 8;
    private string mtime_ = "";
    /// <summary>
    /// 发布时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Mtime {
      get { return mtime_; }
      set {
        mtime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "extra" field.</summary>
    public const int ExtraFieldNumber = 9;
    private string extra_ = "";
    /// <summary>
    /// 扩展json数据
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Extra {
      get { return extra_; }
      set {
        extra_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "idStr" field.</summary>
    public const int IdStrFieldNumber = 10;
    private string idStr_ = "";
    /// <summary>
    /// 弹幕id str类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IdStr {
      get { return idStr_; }
      set {
        idStr_ = 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 CommandDm);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CommandDm other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Oid != other.Oid) return false;
      if (Mid != other.Mid) return false;
      if (Command != other.Command) return false;
      if (Content != other.Content) return false;
      if (Progress != other.Progress) return false;
      if (Ctime != other.Ctime) return false;
      if (Mtime != other.Mtime) return false;
      if (Extra != other.Extra) return false;
      if (IdStr != other.IdStr) 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 != 0L) hash ^= Id.GetHashCode();
      if (Oid != 0L) hash ^= Oid.GetHashCode();
      if (Mid.Length != 0) hash ^= Mid.GetHashCode();
      if (Command.Length != 0) hash ^= Command.GetHashCode();
      if (Content.Length != 0) hash ^= Content.GetHashCode();
      if (Progress != 0) hash ^= Progress.GetHashCode();
      if (Ctime.Length != 0) hash ^= Ctime.GetHashCode();
      if (Mtime.Length != 0) hash ^= Mtime.GetHashCode();
      if (Extra.Length != 0) hash ^= Extra.GetHashCode();
      if (IdStr.Length != 0) hash ^= IdStr.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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Mid.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Mid);
      }
      if (Command.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Command);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Content);
      }
      if (Progress != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Progress);
      }
      if (Ctime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Ctime);
      }
      if (Mtime.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Mtime);
      }
      if (Extra.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Extra);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(IdStr);
      }
      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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Mid.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Mid);
      }
      if (Command.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Command);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Content);
      }
      if (Progress != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Progress);
      }
      if (Ctime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Ctime);
      }
      if (Mtime.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Mtime);
      }
      if (Extra.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Extra);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(IdStr);
      }
      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 != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (Oid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oid);
      }
      if (Mid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Mid);
      }
      if (Command.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Command);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (Progress != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Progress);
      }
      if (Ctime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Ctime);
      }
      if (Mtime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Mtime);
      }
      if (Extra.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Extra);
      }
      if (IdStr.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IdStr);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CommandDm other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Mid.Length != 0) {
        Mid = other.Mid;
      }
      if (other.Command.Length != 0) {
        Command = other.Command;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      if (other.Progress != 0) {
        Progress = other.Progress;
      }
      if (other.Ctime.Length != 0) {
        Ctime = other.Ctime;
      }
      if (other.Mtime.Length != 0) {
        Mtime = other.Mtime;
      }
      if (other.Extra.Length != 0) {
        Extra = other.Extra;
      }
      if (other.IdStr.Length != 0) {
        IdStr = other.IdStr;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 26: {
            Mid = input.ReadString();
            break;
          }
          case 34: {
            Command = input.ReadString();
            break;
          }
          case 42: {
            Content = input.ReadString();
            break;
          }
          case 48: {
            Progress = input.ReadInt32();
            break;
          }
          case 58: {
            Ctime = input.ReadString();
            break;
          }
          case 66: {
            Mtime = input.ReadString();
            break;
          }
          case 74: {
            Extra = input.ReadString();
            break;
          }
          case 82: {
            IdStr = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 26: {
            Mid = input.ReadString();
            break;
          }
          case 34: {
            Command = input.ReadString();
            break;
          }
          case 42: {
            Content = input.ReadString();
            break;
          }
          case 48: {
            Progress = input.ReadInt32();
            break;
          }
          case 58: {
            Ctime = input.ReadString();
            break;
          }
          case 66: {
            Mtime = input.ReadString();
            break;
          }
          case 74: {
            Extra = input.ReadString();
            break;
          }
          case 82: {
            IdStr = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 弹幕ai云屏蔽列表
  /// </summary>
  public sealed partial class DanmakuAIFlag : pb::IMessage<DanmakuAIFlag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DanmakuAIFlag> _parser = new pb::MessageParser<DanmakuAIFlag>(() => new DanmakuAIFlag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DanmakuAIFlag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmakuAIFlag() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "dm_flags" field.</summary>
    public const int DmFlagsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DanmakuFlag> _repeated_dmFlags_codec
        = pb::FieldCodec.ForMessage(10, global::Bilibili.Community.Service.Dm.V1.DanmakuFlag.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuFlag> dmFlags_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuFlag>();
    /// <summary>
    /// 弹幕ai云屏蔽条目
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuFlag> DmFlags {
      get { return dmFlags_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmakuAIFlag other) {
      if (other == null) {
        return;
      }
      dmFlags_.Add(other.dmFlags_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            dmFlags_.AddEntriesFrom(input, _repeated_dmFlags_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            dmFlags_.AddEntriesFrom(ref input, _repeated_dmFlags_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmakuElem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DanmakuElem(DanmakuElem other) : this() {
      id_ = other.id_;
      progress_ = other.progress_;
      mode_ = other.mode_;
      fontsize_ = other.fontsize_;
      color_ = other.color_;
      midHash_ = other.midHash_;
      content_ = other.content_;
      ctime_ = other.ctime_;
      weight_ = other.weight_;
      action_ = other.action_;
      pool_ = other.pool_;
      idStr_ = other.idStr_;
      attr_ = other.attr_;
      animation_ = other.animation_;
      colorful_ = other.colorful_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "progress" field.</summary>
    public const int ProgressFieldNumber = 2;
    private int progress_;
    /// <summary>
    /// 弹幕出现位置(单位ms)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Progress {
      get { return progress_; }
      set {
        progress_ = value;
      }
    }

    /// <summary>Field number for the "mode" field.</summary>
    public const int ModeFieldNumber = 3;
    private int mode_;
    /// <summary>
    /// 弹幕类型 1 2 3:普通弹幕 4:底部弹幕 5:顶部弹幕 6:逆向弹幕 7:高级弹幕 8:代码弹幕 9:BAS弹幕(pool必须为2)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mode {
      get { return mode_; }
      set {
        mode_ = value;
      }
    }

    /// <summary>Field number for the "fontsize" field.</summary>
    public const int FontsizeFieldNumber = 4;
    private int fontsize_;
    /// <summary>
    /// 弹幕字号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Fontsize {
      get { return fontsize_; }
      set {
        fontsize_ = value;
      }
    }

    /// <summary>Field number for the "color" field.</summary>
    public const int ColorFieldNumber = 5;
    private uint color_;
    /// <summary>
    /// 弹幕颜色
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Color {
      get { return color_; }
      set {
        color_ = value;
      }
    }

    /// <summary>Field number for the "midHash" field.</summary>
    public const int MidHashFieldNumber = 6;
    private string midHash_ = "";
    /// <summary>
    /// 发送者mid hash
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MidHash {
      get { return midHash_; }
      set {
        midHash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "content" field.</summary>
    public const int ContentFieldNumber = 7;
    private string content_ = "";
    /// <summary>
    /// 弹幕正文
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Content {
      get { return content_; }
      set {
        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ctime" field.</summary>
    public const int CtimeFieldNumber = 8;
    private long ctime_;
    /// <summary>
    /// 发送时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Ctime {
      get { return ctime_; }
      set {
        ctime_ = value;
      }
    }

    /// <summary>Field number for the "weight" field.</summary>
    public const int WeightFieldNumber = 9;
    private int weight_;
    /// <summary>
    /// 权重 用于屏蔽等级 区间:[1,10]
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

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

    /// <summary>Field number for the "pool" field.</summary>
    public const int PoolFieldNumber = 11;
    private int pool_;
    /// <summary>
    /// 弹幕池 0:普通池 1:字幕池 2:特殊池(代码/BAS弹幕)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Pool {
      get { return pool_; }
      set {
        pool_ = value;
      }
    }

    /// <summary>Field number for the "idStr" field.</summary>
    public const int IdStrFieldNumber = 12;
    private string idStr_ = "";
    /// <summary>
    /// 弹幕dmid str
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IdStr {
      get { return idStr_; }
      set {
        idStr_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "attr" field.</summary>
    public const int AttrFieldNumber = 13;
    private int attr_;
    /// <summary>
    /// 弹幕属性位(bin求AND)
    /// bit0:保护 bit1:直播 bit2:高赞
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr {
      get { return attr_; }
      set {
        attr_ = value;
      }
    }

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

    /// <summary>Field number for the "colorful" field.</summary>
    public const int ColorfulFieldNumber = 24;
    private global::Bilibili.Community.Service.Dm.V1.DmColorfulType colorful_ = global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType;
    /// <summary>
    /// 大会员专属颜色
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DmColorfulType Colorful {
      get { return colorful_; }
      set {
        colorful_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmakuElem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Progress != other.Progress) return false;
      if (Mode != other.Mode) return false;
      if (Fontsize != other.Fontsize) return false;
      if (Color != other.Color) return false;
      if (MidHash != other.MidHash) return false;
      if (Content != other.Content) return false;
      if (Ctime != other.Ctime) return false;
      if (Weight != other.Weight) return false;
      if (Action != other.Action) return false;
      if (Pool != other.Pool) return false;
      if (IdStr != other.IdStr) return false;
      if (Attr != other.Attr) return false;
      if (Animation != other.Animation) return false;
      if (Colorful != other.Colorful) 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 != 0L) hash ^= Id.GetHashCode();
      if (Progress != 0) hash ^= Progress.GetHashCode();
      if (Mode != 0) hash ^= Mode.GetHashCode();
      if (Fontsize != 0) hash ^= Fontsize.GetHashCode();
      if (Color != 0) hash ^= Color.GetHashCode();
      if (MidHash.Length != 0) hash ^= MidHash.GetHashCode();
      if (Content.Length != 0) hash ^= Content.GetHashCode();
      if (Ctime != 0L) hash ^= Ctime.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      if (Action.Length != 0) hash ^= Action.GetHashCode();
      if (Pool != 0) hash ^= Pool.GetHashCode();
      if (IdStr.Length != 0) hash ^= IdStr.GetHashCode();
      if (Attr != 0) hash ^= Attr.GetHashCode();
      if (Animation.Length != 0) hash ^= Animation.GetHashCode();
      if (Colorful != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) hash ^= Colorful.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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Progress != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Progress);
      }
      if (Mode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mode);
      }
      if (Fontsize != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Fontsize);
      }
      if (Color != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(Color);
      }
      if (MidHash.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(MidHash);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Content);
      }
      if (Ctime != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(Ctime);
      }
      if (Weight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Weight);
      }
      if (Action.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Action);
      }
      if (Pool != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Pool);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(IdStr);
      }
      if (Attr != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Attr);
      }
      if (Animation.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Animation);
      }
      if (Colorful != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        output.WriteRawTag(192, 1);
        output.WriteEnum((int) Colorful);
      }
      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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Progress != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Progress);
      }
      if (Mode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mode);
      }
      if (Fontsize != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Fontsize);
      }
      if (Color != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(Color);
      }
      if (MidHash.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(MidHash);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Content);
      }
      if (Ctime != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(Ctime);
      }
      if (Weight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Weight);
      }
      if (Action.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Action);
      }
      if (Pool != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Pool);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(IdStr);
      }
      if (Attr != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Attr);
      }
      if (Animation.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Animation);
      }
      if (Colorful != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        output.WriteRawTag(192, 1);
        output.WriteEnum((int) Colorful);
      }
      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 != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (Progress != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Progress);
      }
      if (Mode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mode);
      }
      if (Fontsize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Fontsize);
      }
      if (Color != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Color);
      }
      if (MidHash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MidHash);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (Ctime != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Ctime);
      }
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (Action.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Action);
      }
      if (Pool != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pool);
      }
      if (IdStr.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IdStr);
      }
      if (Attr != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr);
      }
      if (Animation.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Animation);
      }
      if (Colorful != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) Colorful);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmakuElem other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.Progress != 0) {
        Progress = other.Progress;
      }
      if (other.Mode != 0) {
        Mode = other.Mode;
      }
      if (other.Fontsize != 0) {
        Fontsize = other.Fontsize;
      }
      if (other.Color != 0) {
        Color = other.Color;
      }
      if (other.MidHash.Length != 0) {
        MidHash = other.MidHash;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      if (other.Ctime != 0L) {
        Ctime = other.Ctime;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      if (other.Action.Length != 0) {
        Action = other.Action;
      }
      if (other.Pool != 0) {
        Pool = other.Pool;
      }
      if (other.IdStr.Length != 0) {
        IdStr = other.IdStr;
      }
      if (other.Attr != 0) {
        Attr = other.Attr;
      }
      if (other.Animation.Length != 0) {
        Animation = other.Animation;
      }
      if (other.Colorful != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        Colorful = other.Colorful;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            Progress = input.ReadInt32();
            break;
          }
          case 24: {
            Mode = input.ReadInt32();
            break;
          }
          case 32: {
            Fontsize = input.ReadInt32();
            break;
          }
          case 40: {
            Color = input.ReadUInt32();
            break;
          }
          case 50: {
            MidHash = input.ReadString();
            break;
          }
          case 58: {
            Content = input.ReadString();
            break;
          }
          case 64: {
            Ctime = input.ReadInt64();
            break;
          }
          case 72: {
            Weight = input.ReadInt32();
            break;
          }
          case 82: {
            Action = input.ReadString();
            break;
          }
          case 88: {
            Pool = input.ReadInt32();
            break;
          }
          case 98: {
            IdStr = input.ReadString();
            break;
          }
          case 104: {
            Attr = input.ReadInt32();
            break;
          }
          case 178: {
            Animation = input.ReadString();
            break;
          }
          case 192: {
            Colorful = (global::Bilibili.Community.Service.Dm.V1.DmColorfulType) 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            Progress = input.ReadInt32();
            break;
          }
          case 24: {
            Mode = input.ReadInt32();
            break;
          }
          case 32: {
            Fontsize = input.ReadInt32();
            break;
          }
          case 40: {
            Color = input.ReadUInt32();
            break;
          }
          case 50: {
            MidHash = input.ReadString();
            break;
          }
          case 58: {
            Content = input.ReadString();
            break;
          }
          case 64: {
            Ctime = input.ReadInt64();
            break;
          }
          case 72: {
            Weight = input.ReadInt32();
            break;
          }
          case 82: {
            Action = input.ReadString();
            break;
          }
          case 88: {
            Pool = input.ReadInt32();
            break;
          }
          case 98: {
            IdStr = input.ReadString();
            break;
          }
          case 104: {
            Attr = input.ReadInt32();
            break;
          }
          case 178: {
            Animation = input.ReadString();
            break;
          }
          case 192: {
            Colorful = (global::Bilibili.Community.Service.Dm.V1.DmColorfulType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 弹幕ai云屏蔽条目
  /// </summary>
  public sealed partial class DanmakuFlag : pb::IMessage<DanmakuFlag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DanmakuFlag> _parser = new pb::MessageParser<DanmakuFlag>(() => new DanmakuFlag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DanmakuFlag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmakuFlag() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "dmid" field.</summary>
    public const int DmidFieldNumber = 1;
    private long dmid_;
    /// <summary>
    /// 弹幕dmid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Dmid {
      get { return dmid_; }
      set {
        dmid_ = value;
      }
    }

    /// <summary>Field number for the "flag" field.</summary>
    public const int FlagFieldNumber = 2;
    private uint flag_;
    /// <summary>
    /// 评分
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Flag {
      get { return flag_; }
      set {
        flag_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmakuFlag other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Dmid != other.Dmid) return false;
      if (Flag != other.Flag) 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 (Dmid != 0L) hash ^= Dmid.GetHashCode();
      if (Flag != 0) hash ^= Flag.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 (Dmid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Dmid);
      }
      if (Flag != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Flag);
      }
      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 (Dmid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Dmid);
      }
      if (Flag != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Flag);
      }
      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 (Dmid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Dmid);
      }
      if (Flag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flag);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmakuFlag other) {
      if (other == null) {
        return;
      }
      if (other.Dmid != 0L) {
        Dmid = other.Dmid;
      }
      if (other.Flag != 0) {
        Flag = other.Flag;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Dmid = input.ReadInt64();
            break;
          }
          case 16: {
            Flag = input.ReadUInt32();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Dmid = input.ReadInt64();
            break;
          }
          case 16: {
            Flag = input.ReadUInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmakuFlagConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "rec_flag" field.</summary>
    public const int RecFlagFieldNumber = 1;
    private int recFlag_;
    /// <summary>
    /// 云屏蔽等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecFlag {
      get { return recFlag_; }
      set {
        recFlag_ = value;
      }
    }

    /// <summary>Field number for the "rec_text" field.</summary>
    public const int RecTextFieldNumber = 2;
    private string recText_ = "";
    /// <summary>
    /// 云屏蔽文案
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RecText {
      get { return recText_; }
      set {
        recText_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "rec_switch" field.</summary>
    public const int RecSwitchFieldNumber = 3;
    private int recSwitch_;
    /// <summary>
    /// 云屏蔽开关
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecSwitch {
      get { return recSwitch_; }
      set {
        recSwitch_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmakuFlagConfig other) {
      if (other == null) {
        return;
      }
      if (other.RecFlag != 0) {
        RecFlag = other.RecFlag;
      }
      if (other.RecText.Length != 0) {
        RecText = other.RecText;
      }
      if (other.RecSwitch != 0) {
        RecSwitch = other.RecSwitch;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RecFlag = input.ReadInt32();
            break;
          }
          case 18: {
            RecText = input.ReadString();
            break;
          }
          case 24: {
            RecSwitch = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RecFlag = input.ReadInt32();
            break;
          }
          case 18: {
            RecText = input.ReadString();
            break;
          }
          case 24: {
            RecSwitch = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuDefaultPlayerConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DanmuDefaultPlayerConfig(DanmuDefaultPlayerConfig other) : this() {
      playerDanmakuUseDefaultConfig_ = other.playerDanmakuUseDefaultConfig_;
      playerDanmakuAiRecommendedSwitch_ = other.playerDanmakuAiRecommendedSwitch_;
      playerDanmakuAiRecommendedLevel_ = other.playerDanmakuAiRecommendedLevel_;
      playerDanmakuBlocktop_ = other.playerDanmakuBlocktop_;
      playerDanmakuBlockscroll_ = other.playerDanmakuBlockscroll_;
      playerDanmakuBlockbottom_ = other.playerDanmakuBlockbottom_;
      playerDanmakuBlockcolorful_ = other.playerDanmakuBlockcolorful_;
      playerDanmakuBlockrepeat_ = other.playerDanmakuBlockrepeat_;
      playerDanmakuBlockspecial_ = other.playerDanmakuBlockspecial_;
      playerDanmakuOpacity_ = other.playerDanmakuOpacity_;
      playerDanmakuScalingfactor_ = other.playerDanmakuScalingfactor_;
      playerDanmakuDomain_ = other.playerDanmakuDomain_;
      playerDanmakuSpeed_ = other.playerDanmakuSpeed_;
      inlinePlayerDanmakuSwitch_ = other.inlinePlayerDanmakuSwitch_;
      playerDanmakuSeniorModeSwitch_ = other.playerDanmakuSeniorModeSwitch_;
      playerDanmakuAiRecommendedLevelV2_ = other.playerDanmakuAiRecommendedLevelV2_;
      playerDanmakuAiRecommendedLevelV2Map_ = other.playerDanmakuAiRecommendedLevelV2Map_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "player_danmaku_use_default_config" field.</summary>
    public const int PlayerDanmakuUseDefaultConfigFieldNumber = 1;
    private bool playerDanmakuUseDefaultConfig_;
    /// <summary>
    /// 是否使用推荐弹幕设置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuUseDefaultConfig {
      get { return playerDanmakuUseDefaultConfig_; }
      set {
        playerDanmakuUseDefaultConfig_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_switch" field.</summary>
    public const int PlayerDanmakuAiRecommendedSwitchFieldNumber = 4;
    private bool playerDanmakuAiRecommendedSwitch_;
    /// <summary>
    /// 是否开启智能云屏蔽
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuAiRecommendedSwitch {
      get { return playerDanmakuAiRecommendedSwitch_; }
      set {
        playerDanmakuAiRecommendedSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelFieldNumber = 5;
    private int playerDanmakuAiRecommendedLevel_;
    /// <summary>
    /// 智能云屏蔽等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuAiRecommendedLevel {
      get { return playerDanmakuAiRecommendedLevel_; }
      set {
        playerDanmakuAiRecommendedLevel_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blocktop" field.</summary>
    public const int PlayerDanmakuBlocktopFieldNumber = 6;
    private bool playerDanmakuBlocktop_;
    /// <summary>
    /// 是否屏蔽顶端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlocktop {
      get { return playerDanmakuBlocktop_; }
      set {
        playerDanmakuBlocktop_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockscroll" field.</summary>
    public const int PlayerDanmakuBlockscrollFieldNumber = 7;
    private bool playerDanmakuBlockscroll_;
    /// <summary>
    /// 是否屏蔽滚动弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockscroll {
      get { return playerDanmakuBlockscroll_; }
      set {
        playerDanmakuBlockscroll_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockbottom" field.</summary>
    public const int PlayerDanmakuBlockbottomFieldNumber = 8;
    private bool playerDanmakuBlockbottom_;
    /// <summary>
    /// 是否屏蔽底端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockbottom {
      get { return playerDanmakuBlockbottom_; }
      set {
        playerDanmakuBlockbottom_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockcolorful" field.</summary>
    public const int PlayerDanmakuBlockcolorfulFieldNumber = 9;
    private bool playerDanmakuBlockcolorful_;
    /// <summary>
    /// 是否屏蔽彩色弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockcolorful {
      get { return playerDanmakuBlockcolorful_; }
      set {
        playerDanmakuBlockcolorful_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockrepeat" field.</summary>
    public const int PlayerDanmakuBlockrepeatFieldNumber = 10;
    private bool playerDanmakuBlockrepeat_;
    /// <summary>
    /// 是否屏蔽重复弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockrepeat {
      get { return playerDanmakuBlockrepeat_; }
      set {
        playerDanmakuBlockrepeat_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockspecial" field.</summary>
    public const int PlayerDanmakuBlockspecialFieldNumber = 11;
    private bool playerDanmakuBlockspecial_;
    /// <summary>
    /// 是否屏蔽高级弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockspecial {
      get { return playerDanmakuBlockspecial_; }
      set {
        playerDanmakuBlockspecial_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_opacity" field.</summary>
    public const int PlayerDanmakuOpacityFieldNumber = 12;
    private float playerDanmakuOpacity_;
    /// <summary>
    /// 弹幕不透明度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuOpacity {
      get { return playerDanmakuOpacity_; }
      set {
        playerDanmakuOpacity_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_scalingfactor" field.</summary>
    public const int PlayerDanmakuScalingfactorFieldNumber = 13;
    private float playerDanmakuScalingfactor_;
    /// <summary>
    /// 弹幕缩放比例
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuScalingfactor {
      get { return playerDanmakuScalingfactor_; }
      set {
        playerDanmakuScalingfactor_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_domain" field.</summary>
    public const int PlayerDanmakuDomainFieldNumber = 14;
    private float playerDanmakuDomain_;
    /// <summary>
    /// 弹幕显示区域
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuDomain {
      get { return playerDanmakuDomain_; }
      set {
        playerDanmakuDomain_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_speed" field.</summary>
    public const int PlayerDanmakuSpeedFieldNumber = 15;
    private int playerDanmakuSpeed_;
    /// <summary>
    /// 弹幕速度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuSpeed {
      get { return playerDanmakuSpeed_; }
      set {
        playerDanmakuSpeed_ = value;
      }
    }

    /// <summary>Field number for the "inline_player_danmaku_switch" field.</summary>
    public const int InlinePlayerDanmakuSwitchFieldNumber = 16;
    private bool inlinePlayerDanmakuSwitch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool InlinePlayerDanmakuSwitch {
      get { return inlinePlayerDanmakuSwitch_; }
      set {
        inlinePlayerDanmakuSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_senior_mode_switch" field.</summary>
    public const int PlayerDanmakuSeniorModeSwitchFieldNumber = 17;
    private int playerDanmakuSeniorModeSwitch_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuSeniorModeSwitch {
      get { return playerDanmakuSeniorModeSwitch_; }
      set {
        playerDanmakuSeniorModeSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level_v2" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelV2FieldNumber = 18;
    private int playerDanmakuAiRecommendedLevelV2_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuAiRecommendedLevelV2 {
      get { return playerDanmakuAiRecommendedLevelV2_; }
      set {
        playerDanmakuAiRecommendedLevelV2_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level_v2_map" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelV2MapFieldNumber = 19;
    private static readonly pbc::MapField<int, int>.Codec _map_playerDanmakuAiRecommendedLevelV2Map_codec
        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 154);
    private readonly pbc::MapField<int, int> playerDanmakuAiRecommendedLevelV2Map_ = new pbc::MapField<int, int>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<int, int> PlayerDanmakuAiRecommendedLevelV2Map {
      get { return playerDanmakuAiRecommendedLevelV2Map_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmuDefaultPlayerConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PlayerDanmakuUseDefaultConfig != other.PlayerDanmakuUseDefaultConfig) return false;
      if (PlayerDanmakuAiRecommendedSwitch != other.PlayerDanmakuAiRecommendedSwitch) return false;
      if (PlayerDanmakuAiRecommendedLevel != other.PlayerDanmakuAiRecommendedLevel) return false;
      if (PlayerDanmakuBlocktop != other.PlayerDanmakuBlocktop) return false;
      if (PlayerDanmakuBlockscroll != other.PlayerDanmakuBlockscroll) return false;
      if (PlayerDanmakuBlockbottom != other.PlayerDanmakuBlockbottom) return false;
      if (PlayerDanmakuBlockcolorful != other.PlayerDanmakuBlockcolorful) return false;
      if (PlayerDanmakuBlockrepeat != other.PlayerDanmakuBlockrepeat) return false;
      if (PlayerDanmakuBlockspecial != other.PlayerDanmakuBlockspecial) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuOpacity, other.PlayerDanmakuOpacity)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuScalingfactor, other.PlayerDanmakuScalingfactor)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuDomain, other.PlayerDanmakuDomain)) return false;
      if (PlayerDanmakuSpeed != other.PlayerDanmakuSpeed) return false;
      if (InlinePlayerDanmakuSwitch != other.InlinePlayerDanmakuSwitch) return false;
      if (PlayerDanmakuSeniorModeSwitch != other.PlayerDanmakuSeniorModeSwitch) return false;
      if (PlayerDanmakuAiRecommendedLevelV2 != other.PlayerDanmakuAiRecommendedLevelV2) return false;
      if (!PlayerDanmakuAiRecommendedLevelV2Map.Equals(other.PlayerDanmakuAiRecommendedLevelV2Map)) 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 (PlayerDanmakuUseDefaultConfig != false) hash ^= PlayerDanmakuUseDefaultConfig.GetHashCode();
      if (PlayerDanmakuAiRecommendedSwitch != false) hash ^= PlayerDanmakuAiRecommendedSwitch.GetHashCode();
      if (PlayerDanmakuAiRecommendedLevel != 0) hash ^= PlayerDanmakuAiRecommendedLevel.GetHashCode();
      if (PlayerDanmakuBlocktop != false) hash ^= PlayerDanmakuBlocktop.GetHashCode();
      if (PlayerDanmakuBlockscroll != false) hash ^= PlayerDanmakuBlockscroll.GetHashCode();
      if (PlayerDanmakuBlockbottom != false) hash ^= PlayerDanmakuBlockbottom.GetHashCode();
      if (PlayerDanmakuBlockcolorful != false) hash ^= PlayerDanmakuBlockcolorful.GetHashCode();
      if (PlayerDanmakuBlockrepeat != false) hash ^= PlayerDanmakuBlockrepeat.GetHashCode();
      if (PlayerDanmakuBlockspecial != false) hash ^= PlayerDanmakuBlockspecial.GetHashCode();
      if (PlayerDanmakuOpacity != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuOpacity);
      if (PlayerDanmakuScalingfactor != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuScalingfactor);
      if (PlayerDanmakuDomain != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuDomain);
      if (PlayerDanmakuSpeed != 0) hash ^= PlayerDanmakuSpeed.GetHashCode();
      if (InlinePlayerDanmakuSwitch != false) hash ^= InlinePlayerDanmakuSwitch.GetHashCode();
      if (PlayerDanmakuSeniorModeSwitch != 0) hash ^= PlayerDanmakuSeniorModeSwitch.GetHashCode();
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) hash ^= PlayerDanmakuAiRecommendedLevelV2.GetHashCode();
      hash ^= PlayerDanmakuAiRecommendedLevelV2Map.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 (PlayerDanmakuUseDefaultConfig != false) {
        output.WriteRawTag(8);
        output.WriteBool(PlayerDanmakuUseDefaultConfig);
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlayerDanmakuAiRecommendedSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        output.WriteRawTag(48);
        output.WriteBool(PlayerDanmakuBlocktop);
      }
      if (PlayerDanmakuBlockscroll != false) {
        output.WriteRawTag(56);
        output.WriteBool(PlayerDanmakuBlockscroll);
      }
      if (PlayerDanmakuBlockbottom != false) {
        output.WriteRawTag(64);
        output.WriteBool(PlayerDanmakuBlockbottom);
      }
      if (PlayerDanmakuBlockcolorful != false) {
        output.WriteRawTag(72);
        output.WriteBool(PlayerDanmakuBlockcolorful);
      }
      if (PlayerDanmakuBlockrepeat != false) {
        output.WriteRawTag(80);
        output.WriteBool(PlayerDanmakuBlockrepeat);
      }
      if (PlayerDanmakuBlockspecial != false) {
        output.WriteRawTag(88);
        output.WriteBool(PlayerDanmakuBlockspecial);
      }
      if (PlayerDanmakuOpacity != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(PlayerDanmakuOpacity);
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(PlayerDanmakuScalingfactor);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      if (PlayerDanmakuSpeed != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PlayerDanmakuSpeed);
      }
      if (InlinePlayerDanmakuSwitch != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(InlinePlayerDanmakuSwitch);
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevelV2);
      }
      playerDanmakuAiRecommendedLevelV2Map_.WriteTo(output, _map_playerDanmakuAiRecommendedLevelV2Map_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 (PlayerDanmakuUseDefaultConfig != false) {
        output.WriteRawTag(8);
        output.WriteBool(PlayerDanmakuUseDefaultConfig);
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlayerDanmakuAiRecommendedSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        output.WriteRawTag(48);
        output.WriteBool(PlayerDanmakuBlocktop);
      }
      if (PlayerDanmakuBlockscroll != false) {
        output.WriteRawTag(56);
        output.WriteBool(PlayerDanmakuBlockscroll);
      }
      if (PlayerDanmakuBlockbottom != false) {
        output.WriteRawTag(64);
        output.WriteBool(PlayerDanmakuBlockbottom);
      }
      if (PlayerDanmakuBlockcolorful != false) {
        output.WriteRawTag(72);
        output.WriteBool(PlayerDanmakuBlockcolorful);
      }
      if (PlayerDanmakuBlockrepeat != false) {
        output.WriteRawTag(80);
        output.WriteBool(PlayerDanmakuBlockrepeat);
      }
      if (PlayerDanmakuBlockspecial != false) {
        output.WriteRawTag(88);
        output.WriteBool(PlayerDanmakuBlockspecial);
      }
      if (PlayerDanmakuOpacity != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(PlayerDanmakuOpacity);
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(PlayerDanmakuScalingfactor);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      if (PlayerDanmakuSpeed != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PlayerDanmakuSpeed);
      }
      if (InlinePlayerDanmakuSwitch != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(InlinePlayerDanmakuSwitch);
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevelV2);
      }
      playerDanmakuAiRecommendedLevelV2Map_.WriteTo(ref output, _map_playerDanmakuAiRecommendedLevelV2Map_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 (PlayerDanmakuUseDefaultConfig != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockscroll != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockbottom != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockcolorful != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockrepeat != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockspecial != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuOpacity != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuDomain != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuSpeed != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuSpeed);
      }
      if (InlinePlayerDanmakuSwitch != false) {
        size += 2 + 1;
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuAiRecommendedLevelV2);
      }
      size += playerDanmakuAiRecommendedLevelV2Map_.CalculateSize(_map_playerDanmakuAiRecommendedLevelV2Map_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuDefaultPlayerConfig other) {
      if (other == null) {
        return;
      }
      if (other.PlayerDanmakuUseDefaultConfig != false) {
        PlayerDanmakuUseDefaultConfig = other.PlayerDanmakuUseDefaultConfig;
      }
      if (other.PlayerDanmakuAiRecommendedSwitch != false) {
        PlayerDanmakuAiRecommendedSwitch = other.PlayerDanmakuAiRecommendedSwitch;
      }
      if (other.PlayerDanmakuAiRecommendedLevel != 0) {
        PlayerDanmakuAiRecommendedLevel = other.PlayerDanmakuAiRecommendedLevel;
      }
      if (other.PlayerDanmakuBlocktop != false) {
        PlayerDanmakuBlocktop = other.PlayerDanmakuBlocktop;
      }
      if (other.PlayerDanmakuBlockscroll != false) {
        PlayerDanmakuBlockscroll = other.PlayerDanmakuBlockscroll;
      }
      if (other.PlayerDanmakuBlockbottom != false) {
        PlayerDanmakuBlockbottom = other.PlayerDanmakuBlockbottom;
      }
      if (other.PlayerDanmakuBlockcolorful != false) {
        PlayerDanmakuBlockcolorful = other.PlayerDanmakuBlockcolorful;
      }
      if (other.PlayerDanmakuBlockrepeat != false) {
        PlayerDanmakuBlockrepeat = other.PlayerDanmakuBlockrepeat;
      }
      if (other.PlayerDanmakuBlockspecial != false) {
        PlayerDanmakuBlockspecial = other.PlayerDanmakuBlockspecial;
      }
      if (other.PlayerDanmakuOpacity != 0F) {
        PlayerDanmakuOpacity = other.PlayerDanmakuOpacity;
      }
      if (other.PlayerDanmakuScalingfactor != 0F) {
        PlayerDanmakuScalingfactor = other.PlayerDanmakuScalingfactor;
      }
      if (other.PlayerDanmakuDomain != 0F) {
        PlayerDanmakuDomain = other.PlayerDanmakuDomain;
      }
      if (other.PlayerDanmakuSpeed != 0) {
        PlayerDanmakuSpeed = other.PlayerDanmakuSpeed;
      }
      if (other.InlinePlayerDanmakuSwitch != false) {
        InlinePlayerDanmakuSwitch = other.InlinePlayerDanmakuSwitch;
      }
      if (other.PlayerDanmakuSeniorModeSwitch != 0) {
        PlayerDanmakuSeniorModeSwitch = other.PlayerDanmakuSeniorModeSwitch;
      }
      if (other.PlayerDanmakuAiRecommendedLevelV2 != 0) {
        PlayerDanmakuAiRecommendedLevelV2 = other.PlayerDanmakuAiRecommendedLevelV2;
      }
      playerDanmakuAiRecommendedLevelV2Map_.Add(other.playerDanmakuAiRecommendedLevelV2Map_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PlayerDanmakuUseDefaultConfig = input.ReadBool();
            break;
          }
          case 32: {
            PlayerDanmakuAiRecommendedSwitch = input.ReadBool();
            break;
          }
          case 40: {
            PlayerDanmakuAiRecommendedLevel = input.ReadInt32();
            break;
          }
          case 48: {
            PlayerDanmakuBlocktop = input.ReadBool();
            break;
          }
          case 56: {
            PlayerDanmakuBlockscroll = input.ReadBool();
            break;
          }
          case 64: {
            PlayerDanmakuBlockbottom = input.ReadBool();
            break;
          }
          case 72: {
            PlayerDanmakuBlockcolorful = input.ReadBool();
            break;
          }
          case 80: {
            PlayerDanmakuBlockrepeat = input.ReadBool();
            break;
          }
          case 88: {
            PlayerDanmakuBlockspecial = input.ReadBool();
            break;
          }
          case 101: {
            PlayerDanmakuOpacity = input.ReadFloat();
            break;
          }
          case 109: {
            PlayerDanmakuScalingfactor = input.ReadFloat();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            break;
          }
          case 120: {
            PlayerDanmakuSpeed = input.ReadInt32();
            break;
          }
          case 128: {
            InlinePlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 136: {
            PlayerDanmakuSeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 144: {
            PlayerDanmakuAiRecommendedLevelV2 = input.ReadInt32();
            break;
          }
          case 154: {
            playerDanmakuAiRecommendedLevelV2Map_.AddEntriesFrom(input, _map_playerDanmakuAiRecommendedLevelV2Map_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PlayerDanmakuUseDefaultConfig = input.ReadBool();
            break;
          }
          case 32: {
            PlayerDanmakuAiRecommendedSwitch = input.ReadBool();
            break;
          }
          case 40: {
            PlayerDanmakuAiRecommendedLevel = input.ReadInt32();
            break;
          }
          case 48: {
            PlayerDanmakuBlocktop = input.ReadBool();
            break;
          }
          case 56: {
            PlayerDanmakuBlockscroll = input.ReadBool();
            break;
          }
          case 64: {
            PlayerDanmakuBlockbottom = input.ReadBool();
            break;
          }
          case 72: {
            PlayerDanmakuBlockcolorful = input.ReadBool();
            break;
          }
          case 80: {
            PlayerDanmakuBlockrepeat = input.ReadBool();
            break;
          }
          case 88: {
            PlayerDanmakuBlockspecial = input.ReadBool();
            break;
          }
          case 101: {
            PlayerDanmakuOpacity = input.ReadFloat();
            break;
          }
          case 109: {
            PlayerDanmakuScalingfactor = input.ReadFloat();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            break;
          }
          case 120: {
            PlayerDanmakuSpeed = input.ReadInt32();
            break;
          }
          case 128: {
            InlinePlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 136: {
            PlayerDanmakuSeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 144: {
            PlayerDanmakuAiRecommendedLevelV2 = input.ReadInt32();
            break;
          }
          case 154: {
            playerDanmakuAiRecommendedLevelV2Map_.AddEntriesFrom(ref input, _map_playerDanmakuAiRecommendedLevelV2Map_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuPlayerConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DanmuPlayerConfig(DanmuPlayerConfig other) : this() {
      playerDanmakuSwitch_ = other.playerDanmakuSwitch_;
      playerDanmakuSwitchSave_ = other.playerDanmakuSwitchSave_;
      playerDanmakuUseDefaultConfig_ = other.playerDanmakuUseDefaultConfig_;
      playerDanmakuAiRecommendedSwitch_ = other.playerDanmakuAiRecommendedSwitch_;
      playerDanmakuAiRecommendedLevel_ = other.playerDanmakuAiRecommendedLevel_;
      playerDanmakuBlocktop_ = other.playerDanmakuBlocktop_;
      playerDanmakuBlockscroll_ = other.playerDanmakuBlockscroll_;
      playerDanmakuBlockbottom_ = other.playerDanmakuBlockbottom_;
      playerDanmakuBlockcolorful_ = other.playerDanmakuBlockcolorful_;
      playerDanmakuBlockrepeat_ = other.playerDanmakuBlockrepeat_;
      playerDanmakuBlockspecial_ = other.playerDanmakuBlockspecial_;
      playerDanmakuOpacity_ = other.playerDanmakuOpacity_;
      playerDanmakuScalingfactor_ = other.playerDanmakuScalingfactor_;
      playerDanmakuDomain_ = other.playerDanmakuDomain_;
      playerDanmakuSpeed_ = other.playerDanmakuSpeed_;
      playerDanmakuEnableblocklist_ = other.playerDanmakuEnableblocklist_;
      inlinePlayerDanmakuSwitch_ = other.inlinePlayerDanmakuSwitch_;
      inlinePlayerDanmakuConfig_ = other.inlinePlayerDanmakuConfig_;
      playerDanmakuIosSwitchSave_ = other.playerDanmakuIosSwitchSave_;
      playerDanmakuSeniorModeSwitch_ = other.playerDanmakuSeniorModeSwitch_;
      playerDanmakuAiRecommendedLevelV2_ = other.playerDanmakuAiRecommendedLevelV2_;
      playerDanmakuAiRecommendedLevelV2Map_ = other.playerDanmakuAiRecommendedLevelV2Map_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "player_danmaku_switch" field.</summary>
    public const int PlayerDanmakuSwitchFieldNumber = 1;
    private bool playerDanmakuSwitch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuSwitch {
      get { return playerDanmakuSwitch_; }
      set {
        playerDanmakuSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_switch_save" field.</summary>
    public const int PlayerDanmakuSwitchSaveFieldNumber = 2;
    private bool playerDanmakuSwitchSave_;
    /// <summary>
    /// 是否记录弹幕开关设置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuSwitchSave {
      get { return playerDanmakuSwitchSave_; }
      set {
        playerDanmakuSwitchSave_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_use_default_config" field.</summary>
    public const int PlayerDanmakuUseDefaultConfigFieldNumber = 3;
    private bool playerDanmakuUseDefaultConfig_;
    /// <summary>
    /// 是否使用推荐弹幕设置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuUseDefaultConfig {
      get { return playerDanmakuUseDefaultConfig_; }
      set {
        playerDanmakuUseDefaultConfig_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_switch" field.</summary>
    public const int PlayerDanmakuAiRecommendedSwitchFieldNumber = 4;
    private bool playerDanmakuAiRecommendedSwitch_;
    /// <summary>
    /// 是否开启智能云屏蔽
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuAiRecommendedSwitch {
      get { return playerDanmakuAiRecommendedSwitch_; }
      set {
        playerDanmakuAiRecommendedSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelFieldNumber = 5;
    private int playerDanmakuAiRecommendedLevel_;
    /// <summary>
    /// 智能云屏蔽等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuAiRecommendedLevel {
      get { return playerDanmakuAiRecommendedLevel_; }
      set {
        playerDanmakuAiRecommendedLevel_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blocktop" field.</summary>
    public const int PlayerDanmakuBlocktopFieldNumber = 6;
    private bool playerDanmakuBlocktop_;
    /// <summary>
    /// 是否屏蔽顶端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlocktop {
      get { return playerDanmakuBlocktop_; }
      set {
        playerDanmakuBlocktop_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockscroll" field.</summary>
    public const int PlayerDanmakuBlockscrollFieldNumber = 7;
    private bool playerDanmakuBlockscroll_;
    /// <summary>
    /// 是否屏蔽滚动弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockscroll {
      get { return playerDanmakuBlockscroll_; }
      set {
        playerDanmakuBlockscroll_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockbottom" field.</summary>
    public const int PlayerDanmakuBlockbottomFieldNumber = 8;
    private bool playerDanmakuBlockbottom_;
    /// <summary>
    /// 是否屏蔽底端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockbottom {
      get { return playerDanmakuBlockbottom_; }
      set {
        playerDanmakuBlockbottom_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockcolorful" field.</summary>
    public const int PlayerDanmakuBlockcolorfulFieldNumber = 9;
    private bool playerDanmakuBlockcolorful_;
    /// <summary>
    /// 是否屏蔽彩色弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockcolorful {
      get { return playerDanmakuBlockcolorful_; }
      set {
        playerDanmakuBlockcolorful_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockrepeat" field.</summary>
    public const int PlayerDanmakuBlockrepeatFieldNumber = 10;
    private bool playerDanmakuBlockrepeat_;
    /// <summary>
    /// 是否屏蔽重复弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockrepeat {
      get { return playerDanmakuBlockrepeat_; }
      set {
        playerDanmakuBlockrepeat_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_blockspecial" field.</summary>
    public const int PlayerDanmakuBlockspecialFieldNumber = 11;
    private bool playerDanmakuBlockspecial_;
    /// <summary>
    /// 是否屏蔽高级弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuBlockspecial {
      get { return playerDanmakuBlockspecial_; }
      set {
        playerDanmakuBlockspecial_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_opacity" field.</summary>
    public const int PlayerDanmakuOpacityFieldNumber = 12;
    private float playerDanmakuOpacity_;
    /// <summary>
    /// 弹幕不透明度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuOpacity {
      get { return playerDanmakuOpacity_; }
      set {
        playerDanmakuOpacity_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_scalingfactor" field.</summary>
    public const int PlayerDanmakuScalingfactorFieldNumber = 13;
    private float playerDanmakuScalingfactor_;
    /// <summary>
    /// 弹幕缩放比例
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuScalingfactor {
      get { return playerDanmakuScalingfactor_; }
      set {
        playerDanmakuScalingfactor_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_domain" field.</summary>
    public const int PlayerDanmakuDomainFieldNumber = 14;
    private float playerDanmakuDomain_;
    /// <summary>
    /// 弹幕显示区域
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuDomain {
      get { return playerDanmakuDomain_; }
      set {
        playerDanmakuDomain_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_speed" field.</summary>
    public const int PlayerDanmakuSpeedFieldNumber = 15;
    private int playerDanmakuSpeed_;
    /// <summary>
    /// 弹幕速度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuSpeed {
      get { return playerDanmakuSpeed_; }
      set {
        playerDanmakuSpeed_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_enableblocklist" field.</summary>
    public const int PlayerDanmakuEnableblocklistFieldNumber = 16;
    private bool playerDanmakuEnableblocklist_;
    /// <summary>
    /// 是否开启屏蔽列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerDanmakuEnableblocklist {
      get { return playerDanmakuEnableblocklist_; }
      set {
        playerDanmakuEnableblocklist_ = value;
      }
    }

    /// <summary>Field number for the "inline_player_danmaku_switch" field.</summary>
    public const int InlinePlayerDanmakuSwitchFieldNumber = 17;
    private bool inlinePlayerDanmakuSwitch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool InlinePlayerDanmakuSwitch {
      get { return inlinePlayerDanmakuSwitch_; }
      set {
        inlinePlayerDanmakuSwitch_ = value;
      }
    }

    /// <summary>Field number for the "inline_player_danmaku_config" field.</summary>
    public const int InlinePlayerDanmakuConfigFieldNumber = 18;
    private int inlinePlayerDanmakuConfig_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InlinePlayerDanmakuConfig {
      get { return inlinePlayerDanmakuConfig_; }
      set {
        inlinePlayerDanmakuConfig_ = value;
      }
    }

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

    /// <summary>Field number for the "player_danmaku_senior_mode_switch" field.</summary>
    public const int PlayerDanmakuSeniorModeSwitchFieldNumber = 20;
    private int playerDanmakuSeniorModeSwitch_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuSeniorModeSwitch {
      get { return playerDanmakuSeniorModeSwitch_; }
      set {
        playerDanmakuSeniorModeSwitch_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level_v2" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelV2FieldNumber = 21;
    private int playerDanmakuAiRecommendedLevelV2_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerDanmakuAiRecommendedLevelV2 {
      get { return playerDanmakuAiRecommendedLevelV2_; }
      set {
        playerDanmakuAiRecommendedLevelV2_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_ai_recommended_level_v2_map" field.</summary>
    public const int PlayerDanmakuAiRecommendedLevelV2MapFieldNumber = 22;
    private static readonly pbc::MapField<int, int>.Codec _map_playerDanmakuAiRecommendedLevelV2Map_codec
        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 178);
    private readonly pbc::MapField<int, int> playerDanmakuAiRecommendedLevelV2Map_ = new pbc::MapField<int, int>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<int, int> PlayerDanmakuAiRecommendedLevelV2Map {
      get { return playerDanmakuAiRecommendedLevelV2Map_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmuPlayerConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PlayerDanmakuSwitch != other.PlayerDanmakuSwitch) return false;
      if (PlayerDanmakuSwitchSave != other.PlayerDanmakuSwitchSave) return false;
      if (PlayerDanmakuUseDefaultConfig != other.PlayerDanmakuUseDefaultConfig) return false;
      if (PlayerDanmakuAiRecommendedSwitch != other.PlayerDanmakuAiRecommendedSwitch) return false;
      if (PlayerDanmakuAiRecommendedLevel != other.PlayerDanmakuAiRecommendedLevel) return false;
      if (PlayerDanmakuBlocktop != other.PlayerDanmakuBlocktop) return false;
      if (PlayerDanmakuBlockscroll != other.PlayerDanmakuBlockscroll) return false;
      if (PlayerDanmakuBlockbottom != other.PlayerDanmakuBlockbottom) return false;
      if (PlayerDanmakuBlockcolorful != other.PlayerDanmakuBlockcolorful) return false;
      if (PlayerDanmakuBlockrepeat != other.PlayerDanmakuBlockrepeat) return false;
      if (PlayerDanmakuBlockspecial != other.PlayerDanmakuBlockspecial) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuOpacity, other.PlayerDanmakuOpacity)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuScalingfactor, other.PlayerDanmakuScalingfactor)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuDomain, other.PlayerDanmakuDomain)) return false;
      if (PlayerDanmakuSpeed != other.PlayerDanmakuSpeed) return false;
      if (PlayerDanmakuEnableblocklist != other.PlayerDanmakuEnableblocklist) return false;
      if (InlinePlayerDanmakuSwitch != other.InlinePlayerDanmakuSwitch) return false;
      if (InlinePlayerDanmakuConfig != other.InlinePlayerDanmakuConfig) return false;
      if (PlayerDanmakuIosSwitchSave != other.PlayerDanmakuIosSwitchSave) return false;
      if (PlayerDanmakuSeniorModeSwitch != other.PlayerDanmakuSeniorModeSwitch) return false;
      if (PlayerDanmakuAiRecommendedLevelV2 != other.PlayerDanmakuAiRecommendedLevelV2) return false;
      if (!PlayerDanmakuAiRecommendedLevelV2Map.Equals(other.PlayerDanmakuAiRecommendedLevelV2Map)) 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 (PlayerDanmakuSwitch != false) hash ^= PlayerDanmakuSwitch.GetHashCode();
      if (PlayerDanmakuSwitchSave != false) hash ^= PlayerDanmakuSwitchSave.GetHashCode();
      if (PlayerDanmakuUseDefaultConfig != false) hash ^= PlayerDanmakuUseDefaultConfig.GetHashCode();
      if (PlayerDanmakuAiRecommendedSwitch != false) hash ^= PlayerDanmakuAiRecommendedSwitch.GetHashCode();
      if (PlayerDanmakuAiRecommendedLevel != 0) hash ^= PlayerDanmakuAiRecommendedLevel.GetHashCode();
      if (PlayerDanmakuBlocktop != false) hash ^= PlayerDanmakuBlocktop.GetHashCode();
      if (PlayerDanmakuBlockscroll != false) hash ^= PlayerDanmakuBlockscroll.GetHashCode();
      if (PlayerDanmakuBlockbottom != false) hash ^= PlayerDanmakuBlockbottom.GetHashCode();
      if (PlayerDanmakuBlockcolorful != false) hash ^= PlayerDanmakuBlockcolorful.GetHashCode();
      if (PlayerDanmakuBlockrepeat != false) hash ^= PlayerDanmakuBlockrepeat.GetHashCode();
      if (PlayerDanmakuBlockspecial != false) hash ^= PlayerDanmakuBlockspecial.GetHashCode();
      if (PlayerDanmakuOpacity != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuOpacity);
      if (PlayerDanmakuScalingfactor != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuScalingfactor);
      if (PlayerDanmakuDomain != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuDomain);
      if (PlayerDanmakuSpeed != 0) hash ^= PlayerDanmakuSpeed.GetHashCode();
      if (PlayerDanmakuEnableblocklist != false) hash ^= PlayerDanmakuEnableblocklist.GetHashCode();
      if (InlinePlayerDanmakuSwitch != false) hash ^= InlinePlayerDanmakuSwitch.GetHashCode();
      if (InlinePlayerDanmakuConfig != 0) hash ^= InlinePlayerDanmakuConfig.GetHashCode();
      if (PlayerDanmakuIosSwitchSave != 0) hash ^= PlayerDanmakuIosSwitchSave.GetHashCode();
      if (PlayerDanmakuSeniorModeSwitch != 0) hash ^= PlayerDanmakuSeniorModeSwitch.GetHashCode();
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) hash ^= PlayerDanmakuAiRecommendedLevelV2.GetHashCode();
      hash ^= PlayerDanmakuAiRecommendedLevelV2Map.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 (PlayerDanmakuSwitch != false) {
        output.WriteRawTag(8);
        output.WriteBool(PlayerDanmakuSwitch);
      }
      if (PlayerDanmakuSwitchSave != false) {
        output.WriteRawTag(16);
        output.WriteBool(PlayerDanmakuSwitchSave);
      }
      if (PlayerDanmakuUseDefaultConfig != false) {
        output.WriteRawTag(24);
        output.WriteBool(PlayerDanmakuUseDefaultConfig);
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlayerDanmakuAiRecommendedSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        output.WriteRawTag(48);
        output.WriteBool(PlayerDanmakuBlocktop);
      }
      if (PlayerDanmakuBlockscroll != false) {
        output.WriteRawTag(56);
        output.WriteBool(PlayerDanmakuBlockscroll);
      }
      if (PlayerDanmakuBlockbottom != false) {
        output.WriteRawTag(64);
        output.WriteBool(PlayerDanmakuBlockbottom);
      }
      if (PlayerDanmakuBlockcolorful != false) {
        output.WriteRawTag(72);
        output.WriteBool(PlayerDanmakuBlockcolorful);
      }
      if (PlayerDanmakuBlockrepeat != false) {
        output.WriteRawTag(80);
        output.WriteBool(PlayerDanmakuBlockrepeat);
      }
      if (PlayerDanmakuBlockspecial != false) {
        output.WriteRawTag(88);
        output.WriteBool(PlayerDanmakuBlockspecial);
      }
      if (PlayerDanmakuOpacity != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(PlayerDanmakuOpacity);
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(PlayerDanmakuScalingfactor);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      if (PlayerDanmakuSpeed != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PlayerDanmakuSpeed);
      }
      if (PlayerDanmakuEnableblocklist != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(PlayerDanmakuEnableblocklist);
      }
      if (InlinePlayerDanmakuSwitch != false) {
        output.WriteRawTag(136, 1);
        output.WriteBool(InlinePlayerDanmakuSwitch);
      }
      if (InlinePlayerDanmakuConfig != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(InlinePlayerDanmakuConfig);
      }
      if (PlayerDanmakuIosSwitchSave != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(PlayerDanmakuIosSwitchSave);
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevelV2);
      }
      playerDanmakuAiRecommendedLevelV2Map_.WriteTo(output, _map_playerDanmakuAiRecommendedLevelV2Map_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 (PlayerDanmakuSwitch != false) {
        output.WriteRawTag(8);
        output.WriteBool(PlayerDanmakuSwitch);
      }
      if (PlayerDanmakuSwitchSave != false) {
        output.WriteRawTag(16);
        output.WriteBool(PlayerDanmakuSwitchSave);
      }
      if (PlayerDanmakuUseDefaultConfig != false) {
        output.WriteRawTag(24);
        output.WriteBool(PlayerDanmakuUseDefaultConfig);
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlayerDanmakuAiRecommendedSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        output.WriteRawTag(48);
        output.WriteBool(PlayerDanmakuBlocktop);
      }
      if (PlayerDanmakuBlockscroll != false) {
        output.WriteRawTag(56);
        output.WriteBool(PlayerDanmakuBlockscroll);
      }
      if (PlayerDanmakuBlockbottom != false) {
        output.WriteRawTag(64);
        output.WriteBool(PlayerDanmakuBlockbottom);
      }
      if (PlayerDanmakuBlockcolorful != false) {
        output.WriteRawTag(72);
        output.WriteBool(PlayerDanmakuBlockcolorful);
      }
      if (PlayerDanmakuBlockrepeat != false) {
        output.WriteRawTag(80);
        output.WriteBool(PlayerDanmakuBlockrepeat);
      }
      if (PlayerDanmakuBlockspecial != false) {
        output.WriteRawTag(88);
        output.WriteBool(PlayerDanmakuBlockspecial);
      }
      if (PlayerDanmakuOpacity != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(PlayerDanmakuOpacity);
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(PlayerDanmakuScalingfactor);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      if (PlayerDanmakuSpeed != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PlayerDanmakuSpeed);
      }
      if (PlayerDanmakuEnableblocklist != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(PlayerDanmakuEnableblocklist);
      }
      if (InlinePlayerDanmakuSwitch != false) {
        output.WriteRawTag(136, 1);
        output.WriteBool(InlinePlayerDanmakuSwitch);
      }
      if (InlinePlayerDanmakuConfig != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(InlinePlayerDanmakuConfig);
      }
      if (PlayerDanmakuIosSwitchSave != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(PlayerDanmakuIosSwitchSave);
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(PlayerDanmakuAiRecommendedLevelV2);
      }
      playerDanmakuAiRecommendedLevelV2Map_.WriteTo(ref output, _map_playerDanmakuAiRecommendedLevelV2Map_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 (PlayerDanmakuSwitch != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuSwitchSave != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuUseDefaultConfig != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuAiRecommendedSwitch != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuAiRecommendedLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuAiRecommendedLevel);
      }
      if (PlayerDanmakuBlocktop != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockscroll != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockbottom != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockcolorful != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockrepeat != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuBlockspecial != false) {
        size += 1 + 1;
      }
      if (PlayerDanmakuOpacity != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuScalingfactor != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuDomain != 0F) {
        size += 1 + 4;
      }
      if (PlayerDanmakuSpeed != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuSpeed);
      }
      if (PlayerDanmakuEnableblocklist != false) {
        size += 2 + 1;
      }
      if (InlinePlayerDanmakuSwitch != false) {
        size += 2 + 1;
      }
      if (InlinePlayerDanmakuConfig != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(InlinePlayerDanmakuConfig);
      }
      if (PlayerDanmakuIosSwitchSave != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuIosSwitchSave);
      }
      if (PlayerDanmakuSeniorModeSwitch != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuSeniorModeSwitch);
      }
      if (PlayerDanmakuAiRecommendedLevelV2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PlayerDanmakuAiRecommendedLevelV2);
      }
      size += playerDanmakuAiRecommendedLevelV2Map_.CalculateSize(_map_playerDanmakuAiRecommendedLevelV2Map_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuPlayerConfig other) {
      if (other == null) {
        return;
      }
      if (other.PlayerDanmakuSwitch != false) {
        PlayerDanmakuSwitch = other.PlayerDanmakuSwitch;
      }
      if (other.PlayerDanmakuSwitchSave != false) {
        PlayerDanmakuSwitchSave = other.PlayerDanmakuSwitchSave;
      }
      if (other.PlayerDanmakuUseDefaultConfig != false) {
        PlayerDanmakuUseDefaultConfig = other.PlayerDanmakuUseDefaultConfig;
      }
      if (other.PlayerDanmakuAiRecommendedSwitch != false) {
        PlayerDanmakuAiRecommendedSwitch = other.PlayerDanmakuAiRecommendedSwitch;
      }
      if (other.PlayerDanmakuAiRecommendedLevel != 0) {
        PlayerDanmakuAiRecommendedLevel = other.PlayerDanmakuAiRecommendedLevel;
      }
      if (other.PlayerDanmakuBlocktop != false) {
        PlayerDanmakuBlocktop = other.PlayerDanmakuBlocktop;
      }
      if (other.PlayerDanmakuBlockscroll != false) {
        PlayerDanmakuBlockscroll = other.PlayerDanmakuBlockscroll;
      }
      if (other.PlayerDanmakuBlockbottom != false) {
        PlayerDanmakuBlockbottom = other.PlayerDanmakuBlockbottom;
      }
      if (other.PlayerDanmakuBlockcolorful != false) {
        PlayerDanmakuBlockcolorful = other.PlayerDanmakuBlockcolorful;
      }
      if (other.PlayerDanmakuBlockrepeat != false) {
        PlayerDanmakuBlockrepeat = other.PlayerDanmakuBlockrepeat;
      }
      if (other.PlayerDanmakuBlockspecial != false) {
        PlayerDanmakuBlockspecial = other.PlayerDanmakuBlockspecial;
      }
      if (other.PlayerDanmakuOpacity != 0F) {
        PlayerDanmakuOpacity = other.PlayerDanmakuOpacity;
      }
      if (other.PlayerDanmakuScalingfactor != 0F) {
        PlayerDanmakuScalingfactor = other.PlayerDanmakuScalingfactor;
      }
      if (other.PlayerDanmakuDomain != 0F) {
        PlayerDanmakuDomain = other.PlayerDanmakuDomain;
      }
      if (other.PlayerDanmakuSpeed != 0) {
        PlayerDanmakuSpeed = other.PlayerDanmakuSpeed;
      }
      if (other.PlayerDanmakuEnableblocklist != false) {
        PlayerDanmakuEnableblocklist = other.PlayerDanmakuEnableblocklist;
      }
      if (other.InlinePlayerDanmakuSwitch != false) {
        InlinePlayerDanmakuSwitch = other.InlinePlayerDanmakuSwitch;
      }
      if (other.InlinePlayerDanmakuConfig != 0) {
        InlinePlayerDanmakuConfig = other.InlinePlayerDanmakuConfig;
      }
      if (other.PlayerDanmakuIosSwitchSave != 0) {
        PlayerDanmakuIosSwitchSave = other.PlayerDanmakuIosSwitchSave;
      }
      if (other.PlayerDanmakuSeniorModeSwitch != 0) {
        PlayerDanmakuSeniorModeSwitch = other.PlayerDanmakuSeniorModeSwitch;
      }
      if (other.PlayerDanmakuAiRecommendedLevelV2 != 0) {
        PlayerDanmakuAiRecommendedLevelV2 = other.PlayerDanmakuAiRecommendedLevelV2;
      }
      playerDanmakuAiRecommendedLevelV2Map_.Add(other.playerDanmakuAiRecommendedLevelV2Map_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 16: {
            PlayerDanmakuSwitchSave = input.ReadBool();
            break;
          }
          case 24: {
            PlayerDanmakuUseDefaultConfig = input.ReadBool();
            break;
          }
          case 32: {
            PlayerDanmakuAiRecommendedSwitch = input.ReadBool();
            break;
          }
          case 40: {
            PlayerDanmakuAiRecommendedLevel = input.ReadInt32();
            break;
          }
          case 48: {
            PlayerDanmakuBlocktop = input.ReadBool();
            break;
          }
          case 56: {
            PlayerDanmakuBlockscroll = input.ReadBool();
            break;
          }
          case 64: {
            PlayerDanmakuBlockbottom = input.ReadBool();
            break;
          }
          case 72: {
            PlayerDanmakuBlockcolorful = input.ReadBool();
            break;
          }
          case 80: {
            PlayerDanmakuBlockrepeat = input.ReadBool();
            break;
          }
          case 88: {
            PlayerDanmakuBlockspecial = input.ReadBool();
            break;
          }
          case 101: {
            PlayerDanmakuOpacity = input.ReadFloat();
            break;
          }
          case 109: {
            PlayerDanmakuScalingfactor = input.ReadFloat();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            break;
          }
          case 120: {
            PlayerDanmakuSpeed = input.ReadInt32();
            break;
          }
          case 128: {
            PlayerDanmakuEnableblocklist = input.ReadBool();
            break;
          }
          case 136: {
            InlinePlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 144: {
            InlinePlayerDanmakuConfig = input.ReadInt32();
            break;
          }
          case 152: {
            PlayerDanmakuIosSwitchSave = input.ReadInt32();
            break;
          }
          case 160: {
            PlayerDanmakuSeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 168: {
            PlayerDanmakuAiRecommendedLevelV2 = input.ReadInt32();
            break;
          }
          case 178: {
            playerDanmakuAiRecommendedLevelV2Map_.AddEntriesFrom(input, _map_playerDanmakuAiRecommendedLevelV2Map_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 16: {
            PlayerDanmakuSwitchSave = input.ReadBool();
            break;
          }
          case 24: {
            PlayerDanmakuUseDefaultConfig = input.ReadBool();
            break;
          }
          case 32: {
            PlayerDanmakuAiRecommendedSwitch = input.ReadBool();
            break;
          }
          case 40: {
            PlayerDanmakuAiRecommendedLevel = input.ReadInt32();
            break;
          }
          case 48: {
            PlayerDanmakuBlocktop = input.ReadBool();
            break;
          }
          case 56: {
            PlayerDanmakuBlockscroll = input.ReadBool();
            break;
          }
          case 64: {
            PlayerDanmakuBlockbottom = input.ReadBool();
            break;
          }
          case 72: {
            PlayerDanmakuBlockcolorful = input.ReadBool();
            break;
          }
          case 80: {
            PlayerDanmakuBlockrepeat = input.ReadBool();
            break;
          }
          case 88: {
            PlayerDanmakuBlockspecial = input.ReadBool();
            break;
          }
          case 101: {
            PlayerDanmakuOpacity = input.ReadFloat();
            break;
          }
          case 109: {
            PlayerDanmakuScalingfactor = input.ReadFloat();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            break;
          }
          case 120: {
            PlayerDanmakuSpeed = input.ReadInt32();
            break;
          }
          case 128: {
            PlayerDanmakuEnableblocklist = input.ReadBool();
            break;
          }
          case 136: {
            InlinePlayerDanmakuSwitch = input.ReadBool();
            break;
          }
          case 144: {
            InlinePlayerDanmakuConfig = input.ReadInt32();
            break;
          }
          case 152: {
            PlayerDanmakuIosSwitchSave = input.ReadInt32();
            break;
          }
          case 160: {
            PlayerDanmakuSeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 168: {
            PlayerDanmakuAiRecommendedLevelV2 = input.ReadInt32();
            break;
          }
          case 178: {
            playerDanmakuAiRecommendedLevelV2Map_.AddEntriesFrom(ref input, _map_playerDanmakuAiRecommendedLevelV2Map_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuPlayerConfigPanel() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuPlayerConfigPanel other) {
      if (other == null) {
        return;
      }
      if (other.SelectionText.Length != 0) {
        SelectionText = other.SelectionText;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            SelectionText = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            SelectionText = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 弹幕显示区域自动配置
  /// </summary>
  public sealed partial class DanmuPlayerDynamicConfig : pb::IMessage<DanmuPlayerDynamicConfig>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DanmuPlayerDynamicConfig> _parser = new pb::MessageParser<DanmuPlayerDynamicConfig>(() => new DanmuPlayerDynamicConfig());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DanmuPlayerDynamicConfig> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuPlayerDynamicConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "progress" field.</summary>
    public const int ProgressFieldNumber = 1;
    private int progress_;
    /// <summary>
    /// 时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Progress {
      get { return progress_; }
      set {
        progress_ = value;
      }
    }

    /// <summary>Field number for the "player_danmaku_domain" field.</summary>
    public const int PlayerDanmakuDomainFieldNumber = 14;
    private float playerDanmakuDomain_;
    /// <summary>
    /// 弹幕显示区域
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float PlayerDanmakuDomain {
      get { return playerDanmakuDomain_; }
      set {
        playerDanmakuDomain_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmuPlayerDynamicConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Progress != other.Progress) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PlayerDanmakuDomain, other.PlayerDanmakuDomain)) 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 (Progress != 0) hash ^= Progress.GetHashCode();
      if (PlayerDanmakuDomain != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PlayerDanmakuDomain);
      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 (Progress != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Progress);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      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 (Progress != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Progress);
      }
      if (PlayerDanmakuDomain != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(PlayerDanmakuDomain);
      }
      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 (Progress != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Progress);
      }
      if (PlayerDanmakuDomain != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuPlayerDynamicConfig other) {
      if (other == null) {
        return;
      }
      if (other.Progress != 0) {
        Progress = other.Progress;
      }
      if (other.PlayerDanmakuDomain != 0F) {
        PlayerDanmakuDomain = other.PlayerDanmakuDomain;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Progress = input.ReadInt32();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Progress = input.ReadInt32();
            break;
          }
          case 117: {
            PlayerDanmakuDomain = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuPlayerViewConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DanmuPlayerViewConfig(DanmuPlayerViewConfig other) : this() {
      danmukuDefaultPlayerConfig_ = other.danmukuDefaultPlayerConfig_ != null ? other.danmukuDefaultPlayerConfig_.Clone() : null;
      danmukuPlayerConfig_ = other.danmukuPlayerConfig_ != null ? other.danmukuPlayerConfig_.Clone() : null;
      danmukuPlayerDynamicConfig_ = other.danmukuPlayerDynamicConfig_.Clone();
      danmukuPlayerConfigPanel_ = other.danmukuPlayerConfigPanel_ != null ? other.danmukuPlayerConfigPanel_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "danmuku_default_player_config" field.</summary>
    public const int DanmukuDefaultPlayerConfigFieldNumber = 1;
    private global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig danmukuDefaultPlayerConfig_;
    /// <summary>
    /// 弹幕默认配置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig DanmukuDefaultPlayerConfig {
      get { return danmukuDefaultPlayerConfig_; }
      set {
        danmukuDefaultPlayerConfig_ = value;
      }
    }

    /// <summary>Field number for the "danmuku_player_config" field.</summary>
    public const int DanmukuPlayerConfigFieldNumber = 2;
    private global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig danmukuPlayerConfig_;
    /// <summary>
    /// 弹幕用户配置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig DanmukuPlayerConfig {
      get { return danmukuPlayerConfig_; }
      set {
        danmukuPlayerConfig_ = value;
      }
    }

    /// <summary>Field number for the "danmuku_player_dynamic_config" field.</summary>
    public const int DanmukuPlayerDynamicConfigFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig> _repeated_danmukuPlayerDynamicConfig_codec
        = pb::FieldCodec.ForMessage(26, global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig> danmukuPlayerDynamicConfig_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig>();
    /// <summary>
    /// 弹幕显示区域自动配置列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmuPlayerDynamicConfig> DanmukuPlayerDynamicConfig {
      get { return danmukuPlayerDynamicConfig_; }
    }

    /// <summary>Field number for the "danmuku_player_config_panel" field.</summary>
    public const int DanmukuPlayerConfigPanelFieldNumber = 4;
    private global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel danmukuPlayerConfigPanel_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel DanmukuPlayerConfigPanel {
      get { return danmukuPlayerConfigPanel_; }
      set {
        danmukuPlayerConfigPanel_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmuPlayerViewConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(DanmukuDefaultPlayerConfig, other.DanmukuDefaultPlayerConfig)) return false;
      if (!object.Equals(DanmukuPlayerConfig, other.DanmukuPlayerConfig)) return false;
      if(!danmukuPlayerDynamicConfig_.Equals(other.danmukuPlayerDynamicConfig_)) return false;
      if (!object.Equals(DanmukuPlayerConfigPanel, other.DanmukuPlayerConfigPanel)) 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 (danmukuDefaultPlayerConfig_ != null) hash ^= DanmukuDefaultPlayerConfig.GetHashCode();
      if (danmukuPlayerConfig_ != null) hash ^= DanmukuPlayerConfig.GetHashCode();
      hash ^= danmukuPlayerDynamicConfig_.GetHashCode();
      if (danmukuPlayerConfigPanel_ != null) hash ^= DanmukuPlayerConfigPanel.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 (danmukuDefaultPlayerConfig_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(DanmukuDefaultPlayerConfig);
      }
      if (danmukuPlayerConfig_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(DanmukuPlayerConfig);
      }
      danmukuPlayerDynamicConfig_.WriteTo(output, _repeated_danmukuPlayerDynamicConfig_codec);
      if (danmukuPlayerConfigPanel_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DanmukuPlayerConfigPanel);
      }
      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 (danmukuDefaultPlayerConfig_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(DanmukuDefaultPlayerConfig);
      }
      if (danmukuPlayerConfig_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(DanmukuPlayerConfig);
      }
      danmukuPlayerDynamicConfig_.WriteTo(ref output, _repeated_danmukuPlayerDynamicConfig_codec);
      if (danmukuPlayerConfigPanel_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DanmukuPlayerConfigPanel);
      }
      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 (danmukuDefaultPlayerConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DanmukuDefaultPlayerConfig);
      }
      if (danmukuPlayerConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DanmukuPlayerConfig);
      }
      size += danmukuPlayerDynamicConfig_.CalculateSize(_repeated_danmukuPlayerDynamicConfig_codec);
      if (danmukuPlayerConfigPanel_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DanmukuPlayerConfigPanel);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuPlayerViewConfig other) {
      if (other == null) {
        return;
      }
      if (other.danmukuDefaultPlayerConfig_ != null) {
        if (danmukuDefaultPlayerConfig_ == null) {
          DanmukuDefaultPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig();
        }
        DanmukuDefaultPlayerConfig.MergeFrom(other.DanmukuDefaultPlayerConfig);
      }
      if (other.danmukuPlayerConfig_ != null) {
        if (danmukuPlayerConfig_ == null) {
          DanmukuPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig();
        }
        DanmukuPlayerConfig.MergeFrom(other.DanmukuPlayerConfig);
      }
      danmukuPlayerDynamicConfig_.Add(other.danmukuPlayerDynamicConfig_);
      if (other.danmukuPlayerConfigPanel_ != null) {
        if (danmukuPlayerConfigPanel_ == null) {
          DanmukuPlayerConfigPanel = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel();
        }
        DanmukuPlayerConfigPanel.MergeFrom(other.DanmukuPlayerConfigPanel);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (danmukuDefaultPlayerConfig_ == null) {
              DanmukuDefaultPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig();
            }
            input.ReadMessage(DanmukuDefaultPlayerConfig);
            break;
          }
          case 18: {
            if (danmukuPlayerConfig_ == null) {
              DanmukuPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig();
            }
            input.ReadMessage(DanmukuPlayerConfig);
            break;
          }
          case 26: {
            danmukuPlayerDynamicConfig_.AddEntriesFrom(input, _repeated_danmukuPlayerDynamicConfig_codec);
            break;
          }
          case 34: {
            if (danmukuPlayerConfigPanel_ == null) {
              DanmukuPlayerConfigPanel = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel();
            }
            input.ReadMessage(DanmukuPlayerConfigPanel);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (danmukuDefaultPlayerConfig_ == null) {
              DanmukuDefaultPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuDefaultPlayerConfig();
            }
            input.ReadMessage(DanmukuDefaultPlayerConfig);
            break;
          }
          case 18: {
            if (danmukuPlayerConfig_ == null) {
              DanmukuPlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfig();
            }
            input.ReadMessage(DanmukuPlayerConfig);
            break;
          }
          case 26: {
            danmukuPlayerDynamicConfig_.AddEntriesFrom(ref input, _repeated_danmukuPlayerDynamicConfig_codec);
            break;
          }
          case 34: {
            if (danmukuPlayerConfigPanel_ == null) {
              DanmukuPlayerConfigPanel = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerConfigPanel();
            }
            input.ReadMessage(DanmukuPlayerConfigPanel);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// web端用户弹幕配置
  /// </summary>
  public sealed partial class DanmuWebPlayerConfig : pb::IMessage<DanmuWebPlayerConfig>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DanmuWebPlayerConfig> _parser = new pb::MessageParser<DanmuWebPlayerConfig>(() => new DanmuWebPlayerConfig());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DanmuWebPlayerConfig> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DanmuWebPlayerConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DanmuWebPlayerConfig(DanmuWebPlayerConfig other) : this() {
      dmSwitch_ = other.dmSwitch_;
      aiSwitch_ = other.aiSwitch_;
      aiLevel_ = other.aiLevel_;
      blocktop_ = other.blocktop_;
      blockscroll_ = other.blockscroll_;
      blockbottom_ = other.blockbottom_;
      blockcolor_ = other.blockcolor_;
      blockspecial_ = other.blockspecial_;
      preventshade_ = other.preventshade_;
      dmask_ = other.dmask_;
      opacity_ = other.opacity_;
      dmarea_ = other.dmarea_;
      speedplus_ = other.speedplus_;
      fontsize_ = other.fontsize_;
      screensync_ = other.screensync_;
      speedsync_ = other.speedsync_;
      fontfamily_ = other.fontfamily_;
      bold_ = other.bold_;
      fontborder_ = other.fontborder_;
      drawType_ = other.drawType_;
      seniorModeSwitch_ = other.seniorModeSwitch_;
      aiLevelV2_ = other.aiLevelV2_;
      aiLevelV2Map_ = other.aiLevelV2Map_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "dm_switch" field.</summary>
    public const int DmSwitchFieldNumber = 1;
    private bool dmSwitch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool DmSwitch {
      get { return dmSwitch_; }
      set {
        dmSwitch_ = value;
      }
    }

    /// <summary>Field number for the "ai_switch" field.</summary>
    public const int AiSwitchFieldNumber = 2;
    private bool aiSwitch_;
    /// <summary>
    /// 是否开启智能云屏蔽
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool AiSwitch {
      get { return aiSwitch_; }
      set {
        aiSwitch_ = value;
      }
    }

    /// <summary>Field number for the "ai_level" field.</summary>
    public const int AiLevelFieldNumber = 3;
    private int aiLevel_;
    /// <summary>
    /// 智能云屏蔽等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AiLevel {
      get { return aiLevel_; }
      set {
        aiLevel_ = value;
      }
    }

    /// <summary>Field number for the "blocktop" field.</summary>
    public const int BlocktopFieldNumber = 4;
    private bool blocktop_;
    /// <summary>
    /// 是否屏蔽顶端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Blocktop {
      get { return blocktop_; }
      set {
        blocktop_ = value;
      }
    }

    /// <summary>Field number for the "blockscroll" field.</summary>
    public const int BlockscrollFieldNumber = 5;
    private bool blockscroll_;
    /// <summary>
    /// 是否屏蔽滚动弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Blockscroll {
      get { return blockscroll_; }
      set {
        blockscroll_ = value;
      }
    }

    /// <summary>Field number for the "blockbottom" field.</summary>
    public const int BlockbottomFieldNumber = 6;
    private bool blockbottom_;
    /// <summary>
    /// 是否屏蔽底端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Blockbottom {
      get { return blockbottom_; }
      set {
        blockbottom_ = value;
      }
    }

    /// <summary>Field number for the "blockcolor" field.</summary>
    public const int BlockcolorFieldNumber = 7;
    private bool blockcolor_;
    /// <summary>
    /// 是否屏蔽彩色弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Blockcolor {
      get { return blockcolor_; }
      set {
        blockcolor_ = value;
      }
    }

    /// <summary>Field number for the "blockspecial" field.</summary>
    public const int BlockspecialFieldNumber = 8;
    private bool blockspecial_;
    /// <summary>
    /// 是否屏蔽重复弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Blockspecial {
      get { return blockspecial_; }
      set {
        blockspecial_ = value;
      }
    }

    /// <summary>Field number for the "preventshade" field.</summary>
    public const int PreventshadeFieldNumber = 9;
    private bool preventshade_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Preventshade {
      get { return preventshade_; }
      set {
        preventshade_ = value;
      }
    }

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

    /// <summary>Field number for the "opacity" field.</summary>
    public const int OpacityFieldNumber = 11;
    private float opacity_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Opacity {
      get { return opacity_; }
      set {
        opacity_ = value;
      }
    }

    /// <summary>Field number for the "dmarea" field.</summary>
    public const int DmareaFieldNumber = 12;
    private int dmarea_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Dmarea {
      get { return dmarea_; }
      set {
        dmarea_ = value;
      }
    }

    /// <summary>Field number for the "speedplus" field.</summary>
    public const int SpeedplusFieldNumber = 13;
    private float speedplus_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Speedplus {
      get { return speedplus_; }
      set {
        speedplus_ = value;
      }
    }

    /// <summary>Field number for the "fontsize" field.</summary>
    public const int FontsizeFieldNumber = 14;
    private float fontsize_;
    /// <summary>
    /// 弹幕字号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Fontsize {
      get { return fontsize_; }
      set {
        fontsize_ = value;
      }
    }

    /// <summary>Field number for the "screensync" field.</summary>
    public const int ScreensyncFieldNumber = 15;
    private bool screensync_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Screensync {
      get { return screensync_; }
      set {
        screensync_ = value;
      }
    }

    /// <summary>Field number for the "speedsync" field.</summary>
    public const int SpeedsyncFieldNumber = 16;
    private bool speedsync_;
    /// <summary>
    /// 
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Speedsync {
      get { return speedsync_; }
      set {
        speedsync_ = value;
      }
    }

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

    /// <summary>Field number for the "bold" field.</summary>
    public const int BoldFieldNumber = 18;
    private bool bold_;
    /// <summary>
    /// 是否使用加粗
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Bold {
      get { return bold_; }
      set {
        bold_ = value;
      }
    }

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

    /// <summary>Field number for the "draw_type" field.</summary>
    public const int DrawTypeFieldNumber = 20;
    private string drawType_ = "";
    /// <summary>
    /// 弹幕渲染类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DrawType {
      get { return drawType_; }
      set {
        drawType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "senior_mode_switch" field.</summary>
    public const int SeniorModeSwitchFieldNumber = 21;
    private int seniorModeSwitch_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SeniorModeSwitch {
      get { return seniorModeSwitch_; }
      set {
        seniorModeSwitch_ = value;
      }
    }

    /// <summary>Field number for the "ai_level_v2" field.</summary>
    public const int AiLevelV2FieldNumber = 22;
    private int aiLevelV2_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AiLevelV2 {
      get { return aiLevelV2_; }
      set {
        aiLevelV2_ = value;
      }
    }

    /// <summary>Field number for the "ai_level_v2_map" field.</summary>
    public const int AiLevelV2MapFieldNumber = 23;
    private static readonly pbc::MapField<int, int>.Codec _map_aiLevelV2Map_codec
        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 186);
    private readonly pbc::MapField<int, int> aiLevelV2Map_ = new pbc::MapField<int, int>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<int, int> AiLevelV2Map {
      get { return aiLevelV2Map_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DanmuWebPlayerConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DmSwitch != other.DmSwitch) return false;
      if (AiSwitch != other.AiSwitch) return false;
      if (AiLevel != other.AiLevel) return false;
      if (Blocktop != other.Blocktop) return false;
      if (Blockscroll != other.Blockscroll) return false;
      if (Blockbottom != other.Blockbottom) return false;
      if (Blockcolor != other.Blockcolor) return false;
      if (Blockspecial != other.Blockspecial) return false;
      if (Preventshade != other.Preventshade) return false;
      if (Dmask != other.Dmask) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Opacity, other.Opacity)) return false;
      if (Dmarea != other.Dmarea) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Speedplus, other.Speedplus)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Fontsize, other.Fontsize)) return false;
      if (Screensync != other.Screensync) return false;
      if (Speedsync != other.Speedsync) return false;
      if (Fontfamily != other.Fontfamily) return false;
      if (Bold != other.Bold) return false;
      if (Fontborder != other.Fontborder) return false;
      if (DrawType != other.DrawType) return false;
      if (SeniorModeSwitch != other.SeniorModeSwitch) return false;
      if (AiLevelV2 != other.AiLevelV2) return false;
      if (!AiLevelV2Map.Equals(other.AiLevelV2Map)) 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 (DmSwitch != false) hash ^= DmSwitch.GetHashCode();
      if (AiSwitch != false) hash ^= AiSwitch.GetHashCode();
      if (AiLevel != 0) hash ^= AiLevel.GetHashCode();
      if (Blocktop != false) hash ^= Blocktop.GetHashCode();
      if (Blockscroll != false) hash ^= Blockscroll.GetHashCode();
      if (Blockbottom != false) hash ^= Blockbottom.GetHashCode();
      if (Blockcolor != false) hash ^= Blockcolor.GetHashCode();
      if (Blockspecial != false) hash ^= Blockspecial.GetHashCode();
      if (Preventshade != false) hash ^= Preventshade.GetHashCode();
      if (Dmask != false) hash ^= Dmask.GetHashCode();
      if (Opacity != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Opacity);
      if (Dmarea != 0) hash ^= Dmarea.GetHashCode();
      if (Speedplus != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Speedplus);
      if (Fontsize != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Fontsize);
      if (Screensync != false) hash ^= Screensync.GetHashCode();
      if (Speedsync != false) hash ^= Speedsync.GetHashCode();
      if (Fontfamily.Length != 0) hash ^= Fontfamily.GetHashCode();
      if (Bold != false) hash ^= Bold.GetHashCode();
      if (Fontborder != 0) hash ^= Fontborder.GetHashCode();
      if (DrawType.Length != 0) hash ^= DrawType.GetHashCode();
      if (SeniorModeSwitch != 0) hash ^= SeniorModeSwitch.GetHashCode();
      if (AiLevelV2 != 0) hash ^= AiLevelV2.GetHashCode();
      hash ^= AiLevelV2Map.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 (DmSwitch != false) {
        output.WriteRawTag(8);
        output.WriteBool(DmSwitch);
      }
      if (AiSwitch != false) {
        output.WriteRawTag(16);
        output.WriteBool(AiSwitch);
      }
      if (AiLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AiLevel);
      }
      if (Blocktop != false) {
        output.WriteRawTag(32);
        output.WriteBool(Blocktop);
      }
      if (Blockscroll != false) {
        output.WriteRawTag(40);
        output.WriteBool(Blockscroll);
      }
      if (Blockbottom != false) {
        output.WriteRawTag(48);
        output.WriteBool(Blockbottom);
      }
      if (Blockcolor != false) {
        output.WriteRawTag(56);
        output.WriteBool(Blockcolor);
      }
      if (Blockspecial != false) {
        output.WriteRawTag(64);
        output.WriteBool(Blockspecial);
      }
      if (Preventshade != false) {
        output.WriteRawTag(72);
        output.WriteBool(Preventshade);
      }
      if (Dmask != false) {
        output.WriteRawTag(80);
        output.WriteBool(Dmask);
      }
      if (Opacity != 0F) {
        output.WriteRawTag(93);
        output.WriteFloat(Opacity);
      }
      if (Dmarea != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Dmarea);
      }
      if (Speedplus != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(Speedplus);
      }
      if (Fontsize != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(Fontsize);
      }
      if (Screensync != false) {
        output.WriteRawTag(120);
        output.WriteBool(Screensync);
      }
      if (Speedsync != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(Speedsync);
      }
      if (Fontfamily.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Fontfamily);
      }
      if (Bold != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(Bold);
      }
      if (Fontborder != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Fontborder);
      }
      if (DrawType.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(DrawType);
      }
      if (SeniorModeSwitch != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SeniorModeSwitch);
      }
      if (AiLevelV2 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(AiLevelV2);
      }
      aiLevelV2Map_.WriteTo(output, _map_aiLevelV2Map_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 (DmSwitch != false) {
        output.WriteRawTag(8);
        output.WriteBool(DmSwitch);
      }
      if (AiSwitch != false) {
        output.WriteRawTag(16);
        output.WriteBool(AiSwitch);
      }
      if (AiLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AiLevel);
      }
      if (Blocktop != false) {
        output.WriteRawTag(32);
        output.WriteBool(Blocktop);
      }
      if (Blockscroll != false) {
        output.WriteRawTag(40);
        output.WriteBool(Blockscroll);
      }
      if (Blockbottom != false) {
        output.WriteRawTag(48);
        output.WriteBool(Blockbottom);
      }
      if (Blockcolor != false) {
        output.WriteRawTag(56);
        output.WriteBool(Blockcolor);
      }
      if (Blockspecial != false) {
        output.WriteRawTag(64);
        output.WriteBool(Blockspecial);
      }
      if (Preventshade != false) {
        output.WriteRawTag(72);
        output.WriteBool(Preventshade);
      }
      if (Dmask != false) {
        output.WriteRawTag(80);
        output.WriteBool(Dmask);
      }
      if (Opacity != 0F) {
        output.WriteRawTag(93);
        output.WriteFloat(Opacity);
      }
      if (Dmarea != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Dmarea);
      }
      if (Speedplus != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(Speedplus);
      }
      if (Fontsize != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(Fontsize);
      }
      if (Screensync != false) {
        output.WriteRawTag(120);
        output.WriteBool(Screensync);
      }
      if (Speedsync != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(Speedsync);
      }
      if (Fontfamily.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Fontfamily);
      }
      if (Bold != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(Bold);
      }
      if (Fontborder != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Fontborder);
      }
      if (DrawType.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(DrawType);
      }
      if (SeniorModeSwitch != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SeniorModeSwitch);
      }
      if (AiLevelV2 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(AiLevelV2);
      }
      aiLevelV2Map_.WriteTo(ref output, _map_aiLevelV2Map_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 (DmSwitch != false) {
        size += 1 + 1;
      }
      if (AiSwitch != false) {
        size += 1 + 1;
      }
      if (AiLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AiLevel);
      }
      if (Blocktop != false) {
        size += 1 + 1;
      }
      if (Blockscroll != false) {
        size += 1 + 1;
      }
      if (Blockbottom != false) {
        size += 1 + 1;
      }
      if (Blockcolor != false) {
        size += 1 + 1;
      }
      if (Blockspecial != false) {
        size += 1 + 1;
      }
      if (Preventshade != false) {
        size += 1 + 1;
      }
      if (Dmask != false) {
        size += 1 + 1;
      }
      if (Opacity != 0F) {
        size += 1 + 4;
      }
      if (Dmarea != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Dmarea);
      }
      if (Speedplus != 0F) {
        size += 1 + 4;
      }
      if (Fontsize != 0F) {
        size += 1 + 4;
      }
      if (Screensync != false) {
        size += 1 + 1;
      }
      if (Speedsync != false) {
        size += 2 + 1;
      }
      if (Fontfamily.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Fontfamily);
      }
      if (Bold != false) {
        size += 2 + 1;
      }
      if (Fontborder != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Fontborder);
      }
      if (DrawType.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DrawType);
      }
      if (SeniorModeSwitch != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SeniorModeSwitch);
      }
      if (AiLevelV2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AiLevelV2);
      }
      size += aiLevelV2Map_.CalculateSize(_map_aiLevelV2Map_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DanmuWebPlayerConfig other) {
      if (other == null) {
        return;
      }
      if (other.DmSwitch != false) {
        DmSwitch = other.DmSwitch;
      }
      if (other.AiSwitch != false) {
        AiSwitch = other.AiSwitch;
      }
      if (other.AiLevel != 0) {
        AiLevel = other.AiLevel;
      }
      if (other.Blocktop != false) {
        Blocktop = other.Blocktop;
      }
      if (other.Blockscroll != false) {
        Blockscroll = other.Blockscroll;
      }
      if (other.Blockbottom != false) {
        Blockbottom = other.Blockbottom;
      }
      if (other.Blockcolor != false) {
        Blockcolor = other.Blockcolor;
      }
      if (other.Blockspecial != false) {
        Blockspecial = other.Blockspecial;
      }
      if (other.Preventshade != false) {
        Preventshade = other.Preventshade;
      }
      if (other.Dmask != false) {
        Dmask = other.Dmask;
      }
      if (other.Opacity != 0F) {
        Opacity = other.Opacity;
      }
      if (other.Dmarea != 0) {
        Dmarea = other.Dmarea;
      }
      if (other.Speedplus != 0F) {
        Speedplus = other.Speedplus;
      }
      if (other.Fontsize != 0F) {
        Fontsize = other.Fontsize;
      }
      if (other.Screensync != false) {
        Screensync = other.Screensync;
      }
      if (other.Speedsync != false) {
        Speedsync = other.Speedsync;
      }
      if (other.Fontfamily.Length != 0) {
        Fontfamily = other.Fontfamily;
      }
      if (other.Bold != false) {
        Bold = other.Bold;
      }
      if (other.Fontborder != 0) {
        Fontborder = other.Fontborder;
      }
      if (other.DrawType.Length != 0) {
        DrawType = other.DrawType;
      }
      if (other.SeniorModeSwitch != 0) {
        SeniorModeSwitch = other.SeniorModeSwitch;
      }
      if (other.AiLevelV2 != 0) {
        AiLevelV2 = other.AiLevelV2;
      }
      aiLevelV2Map_.Add(other.aiLevelV2Map_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            DmSwitch = input.ReadBool();
            break;
          }
          case 16: {
            AiSwitch = input.ReadBool();
            break;
          }
          case 24: {
            AiLevel = input.ReadInt32();
            break;
          }
          case 32: {
            Blocktop = input.ReadBool();
            break;
          }
          case 40: {
            Blockscroll = input.ReadBool();
            break;
          }
          case 48: {
            Blockbottom = input.ReadBool();
            break;
          }
          case 56: {
            Blockcolor = input.ReadBool();
            break;
          }
          case 64: {
            Blockspecial = input.ReadBool();
            break;
          }
          case 72: {
            Preventshade = input.ReadBool();
            break;
          }
          case 80: {
            Dmask = input.ReadBool();
            break;
          }
          case 93: {
            Opacity = input.ReadFloat();
            break;
          }
          case 96: {
            Dmarea = input.ReadInt32();
            break;
          }
          case 109: {
            Speedplus = input.ReadFloat();
            break;
          }
          case 117: {
            Fontsize = input.ReadFloat();
            break;
          }
          case 120: {
            Screensync = input.ReadBool();
            break;
          }
          case 128: {
            Speedsync = input.ReadBool();
            break;
          }
          case 138: {
            Fontfamily = input.ReadString();
            break;
          }
          case 144: {
            Bold = input.ReadBool();
            break;
          }
          case 152: {
            Fontborder = input.ReadInt32();
            break;
          }
          case 162: {
            DrawType = input.ReadString();
            break;
          }
          case 168: {
            SeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 176: {
            AiLevelV2 = input.ReadInt32();
            break;
          }
          case 186: {
            aiLevelV2Map_.AddEntriesFrom(input, _map_aiLevelV2Map_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            DmSwitch = input.ReadBool();
            break;
          }
          case 16: {
            AiSwitch = input.ReadBool();
            break;
          }
          case 24: {
            AiLevel = input.ReadInt32();
            break;
          }
          case 32: {
            Blocktop = input.ReadBool();
            break;
          }
          case 40: {
            Blockscroll = input.ReadBool();
            break;
          }
          case 48: {
            Blockbottom = input.ReadBool();
            break;
          }
          case 56: {
            Blockcolor = input.ReadBool();
            break;
          }
          case 64: {
            Blockspecial = input.ReadBool();
            break;
          }
          case 72: {
            Preventshade = input.ReadBool();
            break;
          }
          case 80: {
            Dmask = input.ReadBool();
            break;
          }
          case 93: {
            Opacity = input.ReadFloat();
            break;
          }
          case 96: {
            Dmarea = input.ReadInt32();
            break;
          }
          case 109: {
            Speedplus = input.ReadFloat();
            break;
          }
          case 117: {
            Fontsize = input.ReadFloat();
            break;
          }
          case 120: {
            Screensync = input.ReadBool();
            break;
          }
          case 128: {
            Speedsync = input.ReadBool();
            break;
          }
          case 138: {
            Fontfamily = input.ReadString();
            break;
          }
          case 144: {
            Bold = input.ReadBool();
            break;
          }
          case 152: {
            Fontborder = input.ReadInt32();
            break;
          }
          case 162: {
            DrawType = input.ReadString();
            break;
          }
          case 168: {
            SeniorModeSwitch = input.ReadInt32();
            break;
          }
          case 176: {
            AiLevelV2 = input.ReadInt32();
            break;
          }
          case 186: {
            aiLevelV2Map_.AddEntriesFrom(ref input, _map_aiLevelV2Map_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmColorful() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 1;
    private global::Bilibili.Community.Service.Dm.V1.DmColorfulType type_ = global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType;
    /// <summary>
    /// 颜色类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DmColorfulType Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmColorful other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Type != other.Type) return false;
      if (Src != other.Src) 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 (Type != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) hash ^= Type.GetHashCode();
      if (Src.Length != 0) hash ^= Src.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 (Type != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Type);
      }
      if (Src.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Src);
      }
      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 (Type != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Type);
      }
      if (Src.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Src);
      }
      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 (Type != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
      }
      if (Src.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Src);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmColorful other) {
      if (other == null) {
        return;
      }
      if (other.Type != global::Bilibili.Community.Service.Dm.V1.DmColorfulType.NoneType) {
        Type = other.Type;
      }
      if (other.Src.Length != 0) {
        Src = other.Src;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Type = (global::Bilibili.Community.Service.Dm.V1.DmColorfulType) input.ReadEnum();
            break;
          }
          case 18: {
            Src = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Type = (global::Bilibili.Community.Service.Dm.V1.DmColorfulType) input.ReadEnum();
            break;
          }
          case 18: {
            Src = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmExpoReportReq() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmExpoReportReq other) {
      if (other == null) {
        return;
      }
      if (other.SessionId.Length != 0) {
        SessionId = other.SessionId;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Spmid.Length != 0) {
        Spmid = other.Spmid;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            SessionId = input.ReadString();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 34: {
            Spmid = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            SessionId = input.ReadString();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 34: {
            Spmid = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmExpoReportRes() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmExpoReportRes 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(DmExpoReportRes 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) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 修改弹幕配置-请求
  /// </summary>
  public sealed partial class DmPlayerConfigReq : pb::IMessage<DmPlayerConfigReq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmPlayerConfigReq> _parser = new pb::MessageParser<DmPlayerConfigReq>(() => new DmPlayerConfigReq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmPlayerConfigReq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmPlayerConfigReq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DmPlayerConfigReq(DmPlayerConfigReq other) : this() {
      ts_ = other.ts_;
      switch_ = other.switch_ != null ? other.switch_.Clone() : null;
      switchSave_ = other.switchSave_ != null ? other.switchSave_.Clone() : null;
      useDefaultConfig_ = other.useDefaultConfig_ != null ? other.useDefaultConfig_.Clone() : null;
      aiRecommendedSwitch_ = other.aiRecommendedSwitch_ != null ? other.aiRecommendedSwitch_.Clone() : null;
      aiRecommendedLevel_ = other.aiRecommendedLevel_ != null ? other.aiRecommendedLevel_.Clone() : null;
      blocktop_ = other.blocktop_ != null ? other.blocktop_.Clone() : null;
      blockscroll_ = other.blockscroll_ != null ? other.blockscroll_.Clone() : null;
      blockbottom_ = other.blockbottom_ != null ? other.blockbottom_.Clone() : null;
      blockcolorful_ = other.blockcolorful_ != null ? other.blockcolorful_.Clone() : null;
      blockrepeat_ = other.blockrepeat_ != null ? other.blockrepeat_.Clone() : null;
      blockspecial_ = other.blockspecial_ != null ? other.blockspecial_.Clone() : null;
      opacity_ = other.opacity_ != null ? other.opacity_.Clone() : null;
      scalingfactor_ = other.scalingfactor_ != null ? other.scalingfactor_.Clone() : null;
      domain_ = other.domain_ != null ? other.domain_.Clone() : null;
      speed_ = other.speed_ != null ? other.speed_.Clone() : null;
      enableblocklist_ = other.enableblocklist_ != null ? other.enableblocklist_.Clone() : null;
      inlinePlayerDanmakuSwitch_ = other.inlinePlayerDanmakuSwitch_ != null ? other.inlinePlayerDanmakuSwitch_.Clone() : null;
      seniorModeSwitch_ = other.seniorModeSwitch_ != null ? other.seniorModeSwitch_.Clone() : null;
      aiRecommendedLevelV2_ = other.aiRecommendedLevelV2_ != null ? other.aiRecommendedLevelV2_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "ts" field.</summary>
    public const int TsFieldNumber = 1;
    private long ts_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Ts {
      get { return ts_; }
      set {
        ts_ = value;
      }
    }

    /// <summary>Field number for the "switch" field.</summary>
    public const int SwitchFieldNumber = 2;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch switch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch Switch {
      get { return switch_; }
      set {
        switch_ = value;
      }
    }

    /// <summary>Field number for the "switch_save" field.</summary>
    public const int SwitchSaveFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave switchSave_;
    /// <summary>
    /// 是否记录弹幕开关设置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave SwitchSave {
      get { return switchSave_; }
      set {
        switchSave_ = value;
      }
    }

    /// <summary>Field number for the "use_default_config" field.</summary>
    public const int UseDefaultConfigFieldNumber = 4;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig useDefaultConfig_;
    /// <summary>
    /// 是否使用推荐弹幕设置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig UseDefaultConfig {
      get { return useDefaultConfig_; }
      set {
        useDefaultConfig_ = value;
      }
    }

    /// <summary>Field number for the "ai_recommended_switch" field.</summary>
    public const int AiRecommendedSwitchFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch aiRecommendedSwitch_;
    /// <summary>
    /// 是否开启智能云屏蔽
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch AiRecommendedSwitch {
      get { return aiRecommendedSwitch_; }
      set {
        aiRecommendedSwitch_ = value;
      }
    }

    /// <summary>Field number for the "ai_recommended_level" field.</summary>
    public const int AiRecommendedLevelFieldNumber = 6;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel aiRecommendedLevel_;
    /// <summary>
    /// 智能云屏蔽等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel AiRecommendedLevel {
      get { return aiRecommendedLevel_; }
      set {
        aiRecommendedLevel_ = value;
      }
    }

    /// <summary>Field number for the "blocktop" field.</summary>
    public const int BlocktopFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop blocktop_;
    /// <summary>
    /// 是否屏蔽顶端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop Blocktop {
      get { return blocktop_; }
      set {
        blocktop_ = value;
      }
    }

    /// <summary>Field number for the "blockscroll" field.</summary>
    public const int BlockscrollFieldNumber = 8;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll blockscroll_;
    /// <summary>
    /// 是否屏蔽滚动弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll Blockscroll {
      get { return blockscroll_; }
      set {
        blockscroll_ = value;
      }
    }

    /// <summary>Field number for the "blockbottom" field.</summary>
    public const int BlockbottomFieldNumber = 9;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom blockbottom_;
    /// <summary>
    /// 是否屏蔽底端弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom Blockbottom {
      get { return blockbottom_; }
      set {
        blockbottom_ = value;
      }
    }

    /// <summary>Field number for the "blockcolorful" field.</summary>
    public const int BlockcolorfulFieldNumber = 10;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful blockcolorful_;
    /// <summary>
    /// 是否屏蔽彩色弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful Blockcolorful {
      get { return blockcolorful_; }
      set {
        blockcolorful_ = value;
      }
    }

    /// <summary>Field number for the "blockrepeat" field.</summary>
    public const int BlockrepeatFieldNumber = 11;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat blockrepeat_;
    /// <summary>
    /// 是否屏蔽重复弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat Blockrepeat {
      get { return blockrepeat_; }
      set {
        blockrepeat_ = value;
      }
    }

    /// <summary>Field number for the "blockspecial" field.</summary>
    public const int BlockspecialFieldNumber = 12;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial blockspecial_;
    /// <summary>
    /// 是否屏蔽高级弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial Blockspecial {
      get { return blockspecial_; }
      set {
        blockspecial_ = value;
      }
    }

    /// <summary>Field number for the "opacity" field.</summary>
    public const int OpacityFieldNumber = 13;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity opacity_;
    /// <summary>
    /// 弹幕不透明度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity Opacity {
      get { return opacity_; }
      set {
        opacity_ = value;
      }
    }

    /// <summary>Field number for the "scalingfactor" field.</summary>
    public const int ScalingfactorFieldNumber = 14;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor scalingfactor_;
    /// <summary>
    /// 弹幕缩放比例
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor Scalingfactor {
      get { return scalingfactor_; }
      set {
        scalingfactor_ = value;
      }
    }

    /// <summary>Field number for the "domain" field.</summary>
    public const int DomainFieldNumber = 15;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain domain_;
    /// <summary>
    /// 弹幕显示区域
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain Domain {
      get { return domain_; }
      set {
        domain_ = value;
      }
    }

    /// <summary>Field number for the "speed" field.</summary>
    public const int SpeedFieldNumber = 16;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed speed_;
    /// <summary>
    /// 弹幕速度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed Speed {
      get { return speed_; }
      set {
        speed_ = value;
      }
    }

    /// <summary>Field number for the "enableblocklist" field.</summary>
    public const int EnableblocklistFieldNumber = 17;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist enableblocklist_;
    /// <summary>
    /// 是否开启屏蔽列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist Enableblocklist {
      get { return enableblocklist_; }
      set {
        enableblocklist_ = value;
      }
    }

    /// <summary>Field number for the "inlinePlayerDanmakuSwitch" field.</summary>
    public const int InlinePlayerDanmakuSwitchFieldNumber = 18;
    private global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch inlinePlayerDanmakuSwitch_;
    /// <summary>
    /// 是否开启弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch InlinePlayerDanmakuSwitch {
      get { return inlinePlayerDanmakuSwitch_; }
      set {
        inlinePlayerDanmakuSwitch_ = value;
      }
    }

    /// <summary>Field number for the "senior_mode_switch" field.</summary>
    public const int SeniorModeSwitchFieldNumber = 19;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch seniorModeSwitch_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch SeniorModeSwitch {
      get { return seniorModeSwitch_; }
      set {
        seniorModeSwitch_ = value;
      }
    }

    /// <summary>Field number for the "ai_recommended_level_v2" field.</summary>
    public const int AiRecommendedLevelV2FieldNumber = 20;
    private global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2 aiRecommendedLevelV2_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2 AiRecommendedLevelV2 {
      get { return aiRecommendedLevelV2_; }
      set {
        aiRecommendedLevelV2_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmPlayerConfigReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Ts != other.Ts) return false;
      if (!object.Equals(Switch, other.Switch)) return false;
      if (!object.Equals(SwitchSave, other.SwitchSave)) return false;
      if (!object.Equals(UseDefaultConfig, other.UseDefaultConfig)) return false;
      if (!object.Equals(AiRecommendedSwitch, other.AiRecommendedSwitch)) return false;
      if (!object.Equals(AiRecommendedLevel, other.AiRecommendedLevel)) return false;
      if (!object.Equals(Blocktop, other.Blocktop)) return false;
      if (!object.Equals(Blockscroll, other.Blockscroll)) return false;
      if (!object.Equals(Blockbottom, other.Blockbottom)) return false;
      if (!object.Equals(Blockcolorful, other.Blockcolorful)) return false;
      if (!object.Equals(Blockrepeat, other.Blockrepeat)) return false;
      if (!object.Equals(Blockspecial, other.Blockspecial)) return false;
      if (!object.Equals(Opacity, other.Opacity)) return false;
      if (!object.Equals(Scalingfactor, other.Scalingfactor)) return false;
      if (!object.Equals(Domain, other.Domain)) return false;
      if (!object.Equals(Speed, other.Speed)) return false;
      if (!object.Equals(Enableblocklist, other.Enableblocklist)) return false;
      if (!object.Equals(InlinePlayerDanmakuSwitch, other.InlinePlayerDanmakuSwitch)) return false;
      if (!object.Equals(SeniorModeSwitch, other.SeniorModeSwitch)) return false;
      if (!object.Equals(AiRecommendedLevelV2, other.AiRecommendedLevelV2)) 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 (Ts != 0L) hash ^= Ts.GetHashCode();
      if (switch_ != null) hash ^= Switch.GetHashCode();
      if (switchSave_ != null) hash ^= SwitchSave.GetHashCode();
      if (useDefaultConfig_ != null) hash ^= UseDefaultConfig.GetHashCode();
      if (aiRecommendedSwitch_ != null) hash ^= AiRecommendedSwitch.GetHashCode();
      if (aiRecommendedLevel_ != null) hash ^= AiRecommendedLevel.GetHashCode();
      if (blocktop_ != null) hash ^= Blocktop.GetHashCode();
      if (blockscroll_ != null) hash ^= Blockscroll.GetHashCode();
      if (blockbottom_ != null) hash ^= Blockbottom.GetHashCode();
      if (blockcolorful_ != null) hash ^= Blockcolorful.GetHashCode();
      if (blockrepeat_ != null) hash ^= Blockrepeat.GetHashCode();
      if (blockspecial_ != null) hash ^= Blockspecial.GetHashCode();
      if (opacity_ != null) hash ^= Opacity.GetHashCode();
      if (scalingfactor_ != null) hash ^= Scalingfactor.GetHashCode();
      if (domain_ != null) hash ^= Domain.GetHashCode();
      if (speed_ != null) hash ^= Speed.GetHashCode();
      if (enableblocklist_ != null) hash ^= Enableblocklist.GetHashCode();
      if (inlinePlayerDanmakuSwitch_ != null) hash ^= InlinePlayerDanmakuSwitch.GetHashCode();
      if (seniorModeSwitch_ != null) hash ^= SeniorModeSwitch.GetHashCode();
      if (aiRecommendedLevelV2_ != null) hash ^= AiRecommendedLevelV2.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 (Ts != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Ts);
      }
      if (switch_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Switch);
      }
      if (switchSave_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SwitchSave);
      }
      if (useDefaultConfig_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(UseDefaultConfig);
      }
      if (aiRecommendedSwitch_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(AiRecommendedSwitch);
      }
      if (aiRecommendedLevel_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(AiRecommendedLevel);
      }
      if (blocktop_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Blocktop);
      }
      if (blockscroll_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Blockscroll);
      }
      if (blockbottom_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Blockbottom);
      }
      if (blockcolorful_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(Blockcolorful);
      }
      if (blockrepeat_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(Blockrepeat);
      }
      if (blockspecial_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(Blockspecial);
      }
      if (opacity_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(Opacity);
      }
      if (scalingfactor_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(Scalingfactor);
      }
      if (domain_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(Domain);
      }
      if (speed_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(Speed);
      }
      if (enableblocklist_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(Enableblocklist);
      }
      if (inlinePlayerDanmakuSwitch_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(InlinePlayerDanmakuSwitch);
      }
      if (seniorModeSwitch_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(SeniorModeSwitch);
      }
      if (aiRecommendedLevelV2_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(AiRecommendedLevelV2);
      }
      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 (Ts != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Ts);
      }
      if (switch_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Switch);
      }
      if (switchSave_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SwitchSave);
      }
      if (useDefaultConfig_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(UseDefaultConfig);
      }
      if (aiRecommendedSwitch_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(AiRecommendedSwitch);
      }
      if (aiRecommendedLevel_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(AiRecommendedLevel);
      }
      if (blocktop_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Blocktop);
      }
      if (blockscroll_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Blockscroll);
      }
      if (blockbottom_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Blockbottom);
      }
      if (blockcolorful_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(Blockcolorful);
      }
      if (blockrepeat_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(Blockrepeat);
      }
      if (blockspecial_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(Blockspecial);
      }
      if (opacity_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(Opacity);
      }
      if (scalingfactor_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(Scalingfactor);
      }
      if (domain_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(Domain);
      }
      if (speed_ != null) {
        output.WriteRawTag(130, 1);
        output.WriteMessage(Speed);
      }
      if (enableblocklist_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(Enableblocklist);
      }
      if (inlinePlayerDanmakuSwitch_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(InlinePlayerDanmakuSwitch);
      }
      if (seniorModeSwitch_ != null) {
        output.WriteRawTag(154, 1);
        output.WriteMessage(SeniorModeSwitch);
      }
      if (aiRecommendedLevelV2_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(AiRecommendedLevelV2);
      }
      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 (Ts != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Ts);
      }
      if (switch_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Switch);
      }
      if (switchSave_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SwitchSave);
      }
      if (useDefaultConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UseDefaultConfig);
      }
      if (aiRecommendedSwitch_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AiRecommendedSwitch);
      }
      if (aiRecommendedLevel_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AiRecommendedLevel);
      }
      if (blocktop_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blocktop);
      }
      if (blockscroll_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blockscroll);
      }
      if (blockbottom_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blockbottom);
      }
      if (blockcolorful_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blockcolorful);
      }
      if (blockrepeat_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blockrepeat);
      }
      if (blockspecial_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blockspecial);
      }
      if (opacity_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Opacity);
      }
      if (scalingfactor_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scalingfactor);
      }
      if (domain_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Domain);
      }
      if (speed_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(Speed);
      }
      if (enableblocklist_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(Enableblocklist);
      }
      if (inlinePlayerDanmakuSwitch_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(InlinePlayerDanmakuSwitch);
      }
      if (seniorModeSwitch_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SeniorModeSwitch);
      }
      if (aiRecommendedLevelV2_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(AiRecommendedLevelV2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmPlayerConfigReq other) {
      if (other == null) {
        return;
      }
      if (other.Ts != 0L) {
        Ts = other.Ts;
      }
      if (other.switch_ != null) {
        if (switch_ == null) {
          Switch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch();
        }
        Switch.MergeFrom(other.Switch);
      }
      if (other.switchSave_ != null) {
        if (switchSave_ == null) {
          SwitchSave = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave();
        }
        SwitchSave.MergeFrom(other.SwitchSave);
      }
      if (other.useDefaultConfig_ != null) {
        if (useDefaultConfig_ == null) {
          UseDefaultConfig = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig();
        }
        UseDefaultConfig.MergeFrom(other.UseDefaultConfig);
      }
      if (other.aiRecommendedSwitch_ != null) {
        if (aiRecommendedSwitch_ == null) {
          AiRecommendedSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch();
        }
        AiRecommendedSwitch.MergeFrom(other.AiRecommendedSwitch);
      }
      if (other.aiRecommendedLevel_ != null) {
        if (aiRecommendedLevel_ == null) {
          AiRecommendedLevel = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel();
        }
        AiRecommendedLevel.MergeFrom(other.AiRecommendedLevel);
      }
      if (other.blocktop_ != null) {
        if (blocktop_ == null) {
          Blocktop = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop();
        }
        Blocktop.MergeFrom(other.Blocktop);
      }
      if (other.blockscroll_ != null) {
        if (blockscroll_ == null) {
          Blockscroll = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll();
        }
        Blockscroll.MergeFrom(other.Blockscroll);
      }
      if (other.blockbottom_ != null) {
        if (blockbottom_ == null) {
          Blockbottom = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom();
        }
        Blockbottom.MergeFrom(other.Blockbottom);
      }
      if (other.blockcolorful_ != null) {
        if (blockcolorful_ == null) {
          Blockcolorful = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful();
        }
        Blockcolorful.MergeFrom(other.Blockcolorful);
      }
      if (other.blockrepeat_ != null) {
        if (blockrepeat_ == null) {
          Blockrepeat = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat();
        }
        Blockrepeat.MergeFrom(other.Blockrepeat);
      }
      if (other.blockspecial_ != null) {
        if (blockspecial_ == null) {
          Blockspecial = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial();
        }
        Blockspecial.MergeFrom(other.Blockspecial);
      }
      if (other.opacity_ != null) {
        if (opacity_ == null) {
          Opacity = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity();
        }
        Opacity.MergeFrom(other.Opacity);
      }
      if (other.scalingfactor_ != null) {
        if (scalingfactor_ == null) {
          Scalingfactor = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor();
        }
        Scalingfactor.MergeFrom(other.Scalingfactor);
      }
      if (other.domain_ != null) {
        if (domain_ == null) {
          Domain = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain();
        }
        Domain.MergeFrom(other.Domain);
      }
      if (other.speed_ != null) {
        if (speed_ == null) {
          Speed = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed();
        }
        Speed.MergeFrom(other.Speed);
      }
      if (other.enableblocklist_ != null) {
        if (enableblocklist_ == null) {
          Enableblocklist = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist();
        }
        Enableblocklist.MergeFrom(other.Enableblocklist);
      }
      if (other.inlinePlayerDanmakuSwitch_ != null) {
        if (inlinePlayerDanmakuSwitch_ == null) {
          InlinePlayerDanmakuSwitch = new global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch();
        }
        InlinePlayerDanmakuSwitch.MergeFrom(other.InlinePlayerDanmakuSwitch);
      }
      if (other.seniorModeSwitch_ != null) {
        if (seniorModeSwitch_ == null) {
          SeniorModeSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch();
        }
        SeniorModeSwitch.MergeFrom(other.SeniorModeSwitch);
      }
      if (other.aiRecommendedLevelV2_ != null) {
        if (aiRecommendedLevelV2_ == null) {
          AiRecommendedLevelV2 = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2();
        }
        AiRecommendedLevelV2.MergeFrom(other.AiRecommendedLevelV2);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Ts = input.ReadInt64();
            break;
          }
          case 18: {
            if (switch_ == null) {
              Switch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch();
            }
            input.ReadMessage(Switch);
            break;
          }
          case 26: {
            if (switchSave_ == null) {
              SwitchSave = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave();
            }
            input.ReadMessage(SwitchSave);
            break;
          }
          case 34: {
            if (useDefaultConfig_ == null) {
              UseDefaultConfig = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig();
            }
            input.ReadMessage(UseDefaultConfig);
            break;
          }
          case 42: {
            if (aiRecommendedSwitch_ == null) {
              AiRecommendedSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch();
            }
            input.ReadMessage(AiRecommendedSwitch);
            break;
          }
          case 50: {
            if (aiRecommendedLevel_ == null) {
              AiRecommendedLevel = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel();
            }
            input.ReadMessage(AiRecommendedLevel);
            break;
          }
          case 58: {
            if (blocktop_ == null) {
              Blocktop = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop();
            }
            input.ReadMessage(Blocktop);
            break;
          }
          case 66: {
            if (blockscroll_ == null) {
              Blockscroll = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll();
            }
            input.ReadMessage(Blockscroll);
            break;
          }
          case 74: {
            if (blockbottom_ == null) {
              Blockbottom = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom();
            }
            input.ReadMessage(Blockbottom);
            break;
          }
          case 82: {
            if (blockcolorful_ == null) {
              Blockcolorful = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful();
            }
            input.ReadMessage(Blockcolorful);
            break;
          }
          case 90: {
            if (blockrepeat_ == null) {
              Blockrepeat = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat();
            }
            input.ReadMessage(Blockrepeat);
            break;
          }
          case 98: {
            if (blockspecial_ == null) {
              Blockspecial = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial();
            }
            input.ReadMessage(Blockspecial);
            break;
          }
          case 106: {
            if (opacity_ == null) {
              Opacity = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity();
            }
            input.ReadMessage(Opacity);
            break;
          }
          case 114: {
            if (scalingfactor_ == null) {
              Scalingfactor = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor();
            }
            input.ReadMessage(Scalingfactor);
            break;
          }
          case 122: {
            if (domain_ == null) {
              Domain = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain();
            }
            input.ReadMessage(Domain);
            break;
          }
          case 130: {
            if (speed_ == null) {
              Speed = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed();
            }
            input.ReadMessage(Speed);
            break;
          }
          case 138: {
            if (enableblocklist_ == null) {
              Enableblocklist = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist();
            }
            input.ReadMessage(Enableblocklist);
            break;
          }
          case 146: {
            if (inlinePlayerDanmakuSwitch_ == null) {
              InlinePlayerDanmakuSwitch = new global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch();
            }
            input.ReadMessage(InlinePlayerDanmakuSwitch);
            break;
          }
          case 154: {
            if (seniorModeSwitch_ == null) {
              SeniorModeSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch();
            }
            input.ReadMessage(SeniorModeSwitch);
            break;
          }
          case 162: {
            if (aiRecommendedLevelV2_ == null) {
              AiRecommendedLevelV2 = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2();
            }
            input.ReadMessage(AiRecommendedLevelV2);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Ts = input.ReadInt64();
            break;
          }
          case 18: {
            if (switch_ == null) {
              Switch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitch();
            }
            input.ReadMessage(Switch);
            break;
          }
          case 26: {
            if (switchSave_ == null) {
              SwitchSave = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSwitchSave();
            }
            input.ReadMessage(SwitchSave);
            break;
          }
          case 34: {
            if (useDefaultConfig_ == null) {
              UseDefaultConfig = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuUseDefaultConfig();
            }
            input.ReadMessage(UseDefaultConfig);
            break;
          }
          case 42: {
            if (aiRecommendedSwitch_ == null) {
              AiRecommendedSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedSwitch();
            }
            input.ReadMessage(AiRecommendedSwitch);
            break;
          }
          case 50: {
            if (aiRecommendedLevel_ == null) {
              AiRecommendedLevel = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevel();
            }
            input.ReadMessage(AiRecommendedLevel);
            break;
          }
          case 58: {
            if (blocktop_ == null) {
              Blocktop = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlocktop();
            }
            input.ReadMessage(Blocktop);
            break;
          }
          case 66: {
            if (blockscroll_ == null) {
              Blockscroll = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockscroll();
            }
            input.ReadMessage(Blockscroll);
            break;
          }
          case 74: {
            if (blockbottom_ == null) {
              Blockbottom = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockbottom();
            }
            input.ReadMessage(Blockbottom);
            break;
          }
          case 82: {
            if (blockcolorful_ == null) {
              Blockcolorful = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockcolorful();
            }
            input.ReadMessage(Blockcolorful);
            break;
          }
          case 90: {
            if (blockrepeat_ == null) {
              Blockrepeat = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockrepeat();
            }
            input.ReadMessage(Blockrepeat);
            break;
          }
          case 98: {
            if (blockspecial_ == null) {
              Blockspecial = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuBlockspecial();
            }
            input.ReadMessage(Blockspecial);
            break;
          }
          case 106: {
            if (opacity_ == null) {
              Opacity = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuOpacity();
            }
            input.ReadMessage(Opacity);
            break;
          }
          case 114: {
            if (scalingfactor_ == null) {
              Scalingfactor = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuScalingfactor();
            }
            input.ReadMessage(Scalingfactor);
            break;
          }
          case 122: {
            if (domain_ == null) {
              Domain = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuDomain();
            }
            input.ReadMessage(Domain);
            break;
          }
          case 130: {
            if (speed_ == null) {
              Speed = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSpeed();
            }
            input.ReadMessage(Speed);
            break;
          }
          case 138: {
            if (enableblocklist_ == null) {
              Enableblocklist = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuEnableblocklist();
            }
            input.ReadMessage(Enableblocklist);
            break;
          }
          case 146: {
            if (inlinePlayerDanmakuSwitch_ == null) {
              InlinePlayerDanmakuSwitch = new global::Bilibili.Community.Service.Dm.V1.InlinePlayerDanmakuSwitch();
            }
            input.ReadMessage(InlinePlayerDanmakuSwitch);
            break;
          }
          case 154: {
            if (seniorModeSwitch_ == null) {
              SeniorModeSwitch = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuSeniorModeSwitch();
            }
            input.ReadMessage(SeniorModeSwitch);
            break;
          }
          case 162: {
            if (aiRecommendedLevelV2_ == null) {
              AiRecommendedLevelV2 = new global::Bilibili.Community.Service.Dm.V1.PlayerDanmakuAiRecommendedLevelV2();
            }
            input.ReadMessage(AiRecommendedLevelV2);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

    /// <summary>Field number for the "total" field.</summary>
    public const int TotalFieldNumber = 2;
    private long total_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PageSize != other.PageSize) return false;
      if (Total != other.Total) 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 (PageSize != 0L) hash ^= PageSize.GetHashCode();
      if (Total != 0L) hash ^= Total.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 (PageSize != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(PageSize);
      }
      if (Total != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Total);
      }
      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 (PageSize != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(PageSize);
      }
      if (Total != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Total);
      }
      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 (PageSize != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(PageSize);
      }
      if (Total != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Total);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegConfig other) {
      if (other == null) {
        return;
      }
      if (other.PageSize != 0L) {
        PageSize = other.PageSize;
      }
      if (other.Total != 0L) {
        Total = other.Total;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PageSize = input.ReadInt64();
            break;
          }
          case 16: {
            Total = input.ReadInt64();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PageSize = input.ReadInt64();
            break;
          }
          case 16: {
            Total = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegMobileReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DmSegMobileReply(DmSegMobileReply other) : this() {
      elems_ = other.elems_.Clone();
      state_ = other.state_;
      aiFlag_ = other.aiFlag_ != null ? other.aiFlag_.Clone() : null;
      colorfulSrc_ = other.colorfulSrc_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "elems" field.</summary>
    public const int ElemsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> _repeated_elems_codec
        = pb::FieldCodec.ForMessage(10, global::Bilibili.Community.Service.Dm.V1.DanmakuElem.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> elems_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem>();
    /// <summary>
    /// 弹幕列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> Elems {
      get { return elems_; }
    }

    /// <summary>Field number for the "state" field.</summary>
    public const int StateFieldNumber = 2;
    private int state_;
    /// <summary>
    /// 是否已关闭弹幕
    /// 0:未关闭 1:已关闭
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int State {
      get { return state_; }
      set {
        state_ = value;
      }
    }

    /// <summary>Field number for the "ai_flag" field.</summary>
    public const int AiFlagFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag aiFlag_;
    /// <summary>
    /// 弹幕云屏蔽ai评分值
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag AiFlag {
      get { return aiFlag_; }
      set {
        aiFlag_ = value;
      }
    }

    /// <summary>Field number for the "colorfulSrc" field.</summary>
    public const int ColorfulSrcFieldNumber = 5;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DmColorful> _repeated_colorfulSrc_codec
        = pb::FieldCodec.ForMessage(42, global::Bilibili.Community.Service.Dm.V1.DmColorful.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DmColorful> colorfulSrc_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DmColorful>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DmColorful> ColorfulSrc {
      get { return colorfulSrc_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegMobileReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!elems_.Equals(other.elems_)) return false;
      if (State != other.State) return false;
      if (!object.Equals(AiFlag, other.AiFlag)) return false;
      if(!colorfulSrc_.Equals(other.colorfulSrc_)) 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 ^= elems_.GetHashCode();
      if (State != 0) hash ^= State.GetHashCode();
      if (aiFlag_ != null) hash ^= AiFlag.GetHashCode();
      hash ^= colorfulSrc_.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
      elems_.WriteTo(output, _repeated_elems_codec);
      if (State != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(State);
      }
      if (aiFlag_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(AiFlag);
      }
      colorfulSrc_.WriteTo(output, _repeated_colorfulSrc_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) {
      elems_.WriteTo(ref output, _repeated_elems_codec);
      if (State != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(State);
      }
      if (aiFlag_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(AiFlag);
      }
      colorfulSrc_.WriteTo(ref output, _repeated_colorfulSrc_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 += elems_.CalculateSize(_repeated_elems_codec);
      if (State != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
      }
      if (aiFlag_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AiFlag);
      }
      size += colorfulSrc_.CalculateSize(_repeated_colorfulSrc_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegMobileReply other) {
      if (other == null) {
        return;
      }
      elems_.Add(other.elems_);
      if (other.State != 0) {
        State = other.State;
      }
      if (other.aiFlag_ != null) {
        if (aiFlag_ == null) {
          AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag();
        }
        AiFlag.MergeFrom(other.AiFlag);
      }
      colorfulSrc_.Add(other.colorfulSrc_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            elems_.AddEntriesFrom(input, _repeated_elems_codec);
            break;
          }
          case 16: {
            State = input.ReadInt32();
            break;
          }
          case 26: {
            if (aiFlag_ == null) {
              AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag();
            }
            input.ReadMessage(AiFlag);
            break;
          }
          case 42: {
            colorfulSrc_.AddEntriesFrom(input, _repeated_colorfulSrc_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            elems_.AddEntriesFrom(ref input, _repeated_elems_codec);
            break;
          }
          case 16: {
            State = input.ReadInt32();
            break;
          }
          case 26: {
            if (aiFlag_ == null) {
              AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuAIFlag();
            }
            input.ReadMessage(AiFlag);
            break;
          }
          case 42: {
            colorfulSrc_.AddEntriesFrom(ref input, _repeated_colorfulSrc_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegMobileReq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DmSegMobileReq(DmSegMobileReq other) : this() {
      pid_ = other.pid_;
      oid_ = other.oid_;
      type_ = other.type_;
      segmentIndex_ = other.segmentIndex_;
      teenagersMode_ = other.teenagersMode_;
      ps_ = other.ps_;
      pe_ = other.pe_;
      pullMode_ = other.pullMode_;
      fromScene_ = other.fromScene_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "pid" field.</summary>
    public const int PidFieldNumber = 1;
    private long pid_;
    /// <summary>
    /// 稿件avid/漫画epid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Pid {
      get { return pid_; }
      set {
        pid_ = value;
      }
    }

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// 视频cid/漫画cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    /// <summary>
    /// 弹幕类型
    /// 1:视频 2:漫画
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "segment_index" field.</summary>
    public const int SegmentIndexFieldNumber = 4;
    private long segmentIndex_;
    /// <summary>
    /// 分段(6min)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long SegmentIndex {
      get { return segmentIndex_; }
      set {
        segmentIndex_ = value;
      }
    }

    /// <summary>Field number for the "teenagers_mode" field.</summary>
    public const int TeenagersModeFieldNumber = 5;
    private int teenagersMode_;
    /// <summary>
    /// 是否青少年模式
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TeenagersMode {
      get { return teenagersMode_; }
      set {
        teenagersMode_ = value;
      }
    }

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

    /// <summary>Field number for the "pe" field.</summary>
    public const int PeFieldNumber = 7;
    private long pe_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Pe {
      get { return pe_; }
      set {
        pe_ = value;
      }
    }

    /// <summary>Field number for the "pull_mode" field.</summary>
    public const int PullModeFieldNumber = 8;
    private int pullMode_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PullMode {
      get { return pullMode_; }
      set {
        pullMode_ = value;
      }
    }

    /// <summary>Field number for the "from_scene" field.</summary>
    public const int FromSceneFieldNumber = 9;
    private int fromScene_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromScene {
      get { return fromScene_; }
      set {
        fromScene_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegMobileReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Pid != other.Pid) return false;
      if (Oid != other.Oid) return false;
      if (Type != other.Type) return false;
      if (SegmentIndex != other.SegmentIndex) return false;
      if (TeenagersMode != other.TeenagersMode) return false;
      if (Ps != other.Ps) return false;
      if (Pe != other.Pe) return false;
      if (PullMode != other.PullMode) return false;
      if (FromScene != other.FromScene) 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 (Pid != 0L) hash ^= Pid.GetHashCode();
      if (Oid != 0L) hash ^= Oid.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SegmentIndex != 0L) hash ^= SegmentIndex.GetHashCode();
      if (TeenagersMode != 0) hash ^= TeenagersMode.GetHashCode();
      if (Ps != 0L) hash ^= Ps.GetHashCode();
      if (Pe != 0L) hash ^= Pe.GetHashCode();
      if (PullMode != 0) hash ^= PullMode.GetHashCode();
      if (FromScene != 0) hash ^= FromScene.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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      if (TeenagersMode != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TeenagersMode);
      }
      if (Ps != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(Ps);
      }
      if (Pe != 0L) {
        output.WriteRawTag(56);
        output.WriteInt64(Pe);
      }
      if (PullMode != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PullMode);
      }
      if (FromScene != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromScene);
      }
      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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      if (TeenagersMode != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TeenagersMode);
      }
      if (Ps != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(Ps);
      }
      if (Pe != 0L) {
        output.WriteRawTag(56);
        output.WriteInt64(Pe);
      }
      if (PullMode != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PullMode);
      }
      if (FromScene != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromScene);
      }
      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 (Pid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Pid);
      }
      if (Oid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oid);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SegmentIndex != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SegmentIndex);
      }
      if (TeenagersMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeenagersMode);
      }
      if (Ps != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Ps);
      }
      if (Pe != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Pe);
      }
      if (PullMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PullMode);
      }
      if (FromScene != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromScene);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegMobileReq other) {
      if (other == null) {
        return;
      }
      if (other.Pid != 0L) {
        Pid = other.Pid;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SegmentIndex != 0L) {
        SegmentIndex = other.SegmentIndex;
      }
      if (other.TeenagersMode != 0) {
        TeenagersMode = other.TeenagersMode;
      }
      if (other.Ps != 0L) {
        Ps = other.Ps;
      }
      if (other.Pe != 0L) {
        Pe = other.Pe;
      }
      if (other.PullMode != 0) {
        PullMode = other.PullMode;
      }
      if (other.FromScene != 0) {
        FromScene = other.FromScene;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            break;
          }
          case 40: {
            TeenagersMode = input.ReadInt32();
            break;
          }
          case 48: {
            Ps = input.ReadInt64();
            break;
          }
          case 56: {
            Pe = input.ReadInt64();
            break;
          }
          case 64: {
            PullMode = input.ReadInt32();
            break;
          }
          case 72: {
            FromScene = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            break;
          }
          case 40: {
            TeenagersMode = input.ReadInt32();
            break;
          }
          case 48: {
            Ps = input.ReadInt64();
            break;
          }
          case 56: {
            Pe = input.ReadInt64();
            break;
          }
          case 64: {
            PullMode = input.ReadInt32();
            break;
          }
          case 72: {
            FromScene = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// ott弹幕列表-响应
  /// </summary>
  public sealed partial class DmSegOttReply : pb::IMessage<DmSegOttReply>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmSegOttReply> _parser = new pb::MessageParser<DmSegOttReply>(() => new DmSegOttReply());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmSegOttReply> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegOttReply() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "closed" field.</summary>
    public const int ClosedFieldNumber = 1;
    private bool closed_;
    /// <summary>
    /// 是否已关闭弹幕
    /// 0:未关闭 1:已关闭
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Closed {
      get { return closed_; }
      set {
        closed_ = value;
      }
    }

    /// <summary>Field number for the "elems" field.</summary>
    public const int ElemsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> _repeated_elems_codec
        = pb::FieldCodec.ForMessage(18, global::Bilibili.Community.Service.Dm.V1.DanmakuElem.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> elems_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem>();
    /// <summary>
    /// 弹幕列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> Elems {
      get { return elems_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegOttReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Closed != other.Closed) return false;
      if(!elems_.Equals(other.elems_)) 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 (Closed != false) hash ^= Closed.GetHashCode();
      hash ^= elems_.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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      elems_.WriteTo(output, _repeated_elems_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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      elems_.WriteTo(ref output, _repeated_elems_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 (Closed != false) {
        size += 1 + 1;
      }
      size += elems_.CalculateSize(_repeated_elems_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegOttReply other) {
      if (other == null) {
        return;
      }
      if (other.Closed != false) {
        Closed = other.Closed;
      }
      elems_.Add(other.elems_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            elems_.AddEntriesFrom(input, _repeated_elems_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            elems_.AddEntriesFrom(ref input, _repeated_elems_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// ott弹幕列表-请求
  /// </summary>
  public sealed partial class DmSegOttReq : pb::IMessage<DmSegOttReq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmSegOttReq> _parser = new pb::MessageParser<DmSegOttReq>(() => new DmSegOttReq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmSegOttReq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegOttReq() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "pid" field.</summary>
    public const int PidFieldNumber = 1;
    private long pid_;
    /// <summary>
    /// 稿件avid/漫画epid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Pid {
      get { return pid_; }
      set {
        pid_ = value;
      }
    }

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// 视频cid/漫画cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    /// <summary>
    /// 弹幕类型
    /// 1:视频 2:漫画
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "segment_index" field.</summary>
    public const int SegmentIndexFieldNumber = 4;
    private long segmentIndex_;
    /// <summary>
    /// 分段(6min)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long SegmentIndex {
      get { return segmentIndex_; }
      set {
        segmentIndex_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegOttReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Pid != other.Pid) return false;
      if (Oid != other.Oid) return false;
      if (Type != other.Type) return false;
      if (SegmentIndex != other.SegmentIndex) 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 (Pid != 0L) hash ^= Pid.GetHashCode();
      if (Oid != 0L) hash ^= Oid.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SegmentIndex != 0L) hash ^= SegmentIndex.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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      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 (Pid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Pid);
      }
      if (Oid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oid);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SegmentIndex != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SegmentIndex);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegOttReq other) {
      if (other == null) {
        return;
      }
      if (other.Pid != 0L) {
        Pid = other.Pid;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SegmentIndex != 0L) {
        SegmentIndex = other.SegmentIndex;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegSDKReply() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "closed" field.</summary>
    public const int ClosedFieldNumber = 1;
    private bool closed_;
    /// <summary>
    /// 是否已关闭弹幕
    /// 0:未关闭 1:已关闭
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Closed {
      get { return closed_; }
      set {
        closed_ = value;
      }
    }

    /// <summary>Field number for the "elems" field.</summary>
    public const int ElemsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> _repeated_elems_codec
        = pb::FieldCodec.ForMessage(18, global::Bilibili.Community.Service.Dm.V1.DanmakuElem.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> elems_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem>();
    /// <summary>
    /// 弹幕列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.DanmakuElem> Elems {
      get { return elems_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegSDKReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Closed != other.Closed) return false;
      if(!elems_.Equals(other.elems_)) 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 (Closed != false) hash ^= Closed.GetHashCode();
      hash ^= elems_.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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      elems_.WriteTo(output, _repeated_elems_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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      elems_.WriteTo(ref output, _repeated_elems_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 (Closed != false) {
        size += 1 + 1;
      }
      size += elems_.CalculateSize(_repeated_elems_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegSDKReply other) {
      if (other == null) {
        return;
      }
      if (other.Closed != false) {
        Closed = other.Closed;
      }
      elems_.Add(other.elems_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            elems_.AddEntriesFrom(input, _repeated_elems_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            elems_.AddEntriesFrom(ref input, _repeated_elems_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmSegSDKReq() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "pid" field.</summary>
    public const int PidFieldNumber = 1;
    private long pid_;
    /// <summary>
    /// 稿件avid/漫画epid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Pid {
      get { return pid_; }
      set {
        pid_ = value;
      }
    }

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// 视频cid/漫画cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    /// <summary>
    /// 弹幕类型
    /// 1:视频 2:漫画
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "segment_index" field.</summary>
    public const int SegmentIndexFieldNumber = 4;
    private long segmentIndex_;
    /// <summary>
    /// 分段(6min)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long SegmentIndex {
      get { return segmentIndex_; }
      set {
        segmentIndex_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmSegSDKReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Pid != other.Pid) return false;
      if (Oid != other.Oid) return false;
      if (Type != other.Type) return false;
      if (SegmentIndex != other.SegmentIndex) 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 (Pid != 0L) hash ^= Pid.GetHashCode();
      if (Oid != 0L) hash ^= Oid.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SegmentIndex != 0L) hash ^= SegmentIndex.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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (SegmentIndex != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(SegmentIndex);
      }
      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 (Pid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Pid);
      }
      if (Oid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oid);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SegmentIndex != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SegmentIndex);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmSegSDKReq other) {
      if (other == null) {
        return;
      }
      if (other.Pid != 0L) {
        Pid = other.Pid;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SegmentIndex != 0L) {
        SegmentIndex = other.SegmentIndex;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            SegmentIndex = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 客户端弹幕元数据-响应
  /// </summary>
  public sealed partial class DmViewReply : pb::IMessage<DmViewReply>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmViewReply> _parser = new pb::MessageParser<DmViewReply>(() => new DmViewReply());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmViewReply> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmViewReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DmViewReply(DmViewReply other) : this() {
      closed_ = other.closed_;
      mask_ = other.mask_ != null ? other.mask_.Clone() : null;
      subtitle_ = other.subtitle_ != null ? other.subtitle_.Clone() : null;
      specialDms_ = other.specialDms_.Clone();
      aiFlag_ = other.aiFlag_ != null ? other.aiFlag_.Clone() : null;
      playerConfig_ = other.playerConfig_ != null ? other.playerConfig_.Clone() : null;
      sendBoxStyle_ = other.sendBoxStyle_;
      allow_ = other.allow_;
      checkBox_ = other.checkBox_;
      checkBoxShowMsg_ = other.checkBoxShowMsg_;
      textPlaceholder_ = other.textPlaceholder_;
      inputPlaceholder_ = other.inputPlaceholder_;
      reportFilterContent_ = other.reportFilterContent_.Clone();
      expoReport_ = other.expoReport_ != null ? other.expoReport_.Clone() : null;
      buzzwordConfig_ = other.buzzwordConfig_ != null ? other.buzzwordConfig_.Clone() : null;
      expressions_ = other.expressions_.Clone();
      postPanel_ = other.postPanel_.Clone();
      activityMeta_ = other.activityMeta_.Clone();
      postPanel2_ = other.postPanel2_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "closed" field.</summary>
    public const int ClosedFieldNumber = 1;
    private bool closed_;
    /// <summary>
    /// 是否已关闭弹幕
    /// 0:未关闭 1:已关闭
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Closed {
      get { return closed_; }
      set {
        closed_ = value;
      }
    }

    /// <summary>Field number for the "mask" field.</summary>
    public const int MaskFieldNumber = 2;
    private global::Bilibili.Community.Service.Dm.V1.VideoMask mask_;
    /// <summary>
    /// 智能防挡弹幕蒙版信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.VideoMask Mask {
      get { return mask_; }
      set {
        mask_ = value;
      }
    }

    /// <summary>Field number for the "subtitle" field.</summary>
    public const int SubtitleFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.VideoSubtitle subtitle_;
    /// <summary>
    /// 视频字幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.VideoSubtitle Subtitle {
      get { return subtitle_; }
      set {
        subtitle_ = value;
      }
    }

    /// <summary>Field number for the "special_dms" field.</summary>
    public const int SpecialDmsFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_specialDms_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> specialDms_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// 高级弹幕专包url(bfs)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> SpecialDms {
      get { return specialDms_; }
    }

    /// <summary>Field number for the "ai_flag" field.</summary>
    public const int AiFlagFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig aiFlag_;
    /// <summary>
    /// 云屏蔽配置信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig AiFlag {
      get { return aiFlag_; }
      set {
        aiFlag_ = value;
      }
    }

    /// <summary>Field number for the "player_config" field.</summary>
    public const int PlayerConfigFieldNumber = 6;
    private global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig playerConfig_;
    /// <summary>
    /// 弹幕配置信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig PlayerConfig {
      get { return playerConfig_; }
      set {
        playerConfig_ = value;
      }
    }

    /// <summary>Field number for the "send_box_style" field.</summary>
    public const int SendBoxStyleFieldNumber = 7;
    private int sendBoxStyle_;
    /// <summary>
    /// 弹幕发送框样式
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SendBoxStyle {
      get { return sendBoxStyle_; }
      set {
        sendBoxStyle_ = value;
      }
    }

    /// <summary>Field number for the "allow" field.</summary>
    public const int AllowFieldNumber = 8;
    private bool allow_;
    /// <summary>
    /// 是否允许
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Allow {
      get { return allow_; }
      set {
        allow_ = value;
      }
    }

    /// <summary>Field number for the "check_box" field.</summary>
    public const int CheckBoxFieldNumber = 9;
    private string checkBox_ = "";
    /// <summary>
    /// check box 是否展示
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CheckBox {
      get { return checkBox_; }
      set {
        checkBox_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "check_box_show_msg" field.</summary>
    public const int CheckBoxShowMsgFieldNumber = 10;
    private string checkBoxShowMsg_ = "";
    /// <summary>
    /// check box 展示文本
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CheckBoxShowMsg {
      get { return checkBoxShowMsg_; }
      set {
        checkBoxShowMsg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "text_placeholder" field.</summary>
    public const int TextPlaceholderFieldNumber = 11;
    private string textPlaceholder_ = "";
    /// <summary>
    /// 展示文案
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TextPlaceholder {
      get { return textPlaceholder_; }
      set {
        textPlaceholder_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "input_placeholder" field.</summary>
    public const int InputPlaceholderFieldNumber = 12;
    private string inputPlaceholder_ = "";
    /// <summary>
    /// 弹幕输入框文案
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string InputPlaceholder {
      get { return inputPlaceholder_; }
      set {
        inputPlaceholder_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "report_filter_content" field.</summary>
    public const int ReportFilterContentFieldNumber = 13;
    private static readonly pb::FieldCodec<string> _repeated_reportFilterContent_codec
        = pb::FieldCodec.ForString(106);
    private readonly pbc::RepeatedField<string> reportFilterContent_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// 用户举报弹幕 cid维度屏蔽的正则规则
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ReportFilterContent {
      get { return reportFilterContent_; }
    }

    /// <summary>Field number for the "expo_report" field.</summary>
    public const int ExpoReportFieldNumber = 14;
    private global::Bilibili.Community.Service.Dm.V1.ExpoReport expoReport_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ExpoReport ExpoReport {
      get { return expoReport_; }
      set {
        expoReport_ = value;
      }
    }

    /// <summary>Field number for the "buzzword_config" field.</summary>
    public const int BuzzwordConfigFieldNumber = 15;
    private global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig buzzwordConfig_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig BuzzwordConfig {
      get { return buzzwordConfig_; }
      set {
        buzzwordConfig_ = value;
      }
    }

    /// <summary>Field number for the "expressions" field.</summary>
    public const int ExpressionsFieldNumber = 16;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Expressions> _repeated_expressions_codec
        = pb::FieldCodec.ForMessage(130, global::Bilibili.Community.Service.Dm.V1.Expressions.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions> expressions_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions> Expressions {
      get { return expressions_; }
    }

    /// <summary>Field number for the "post_panel" field.</summary>
    public const int PostPanelFieldNumber = 17;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.PostPanel> _repeated_postPanel_codec
        = pb::FieldCodec.ForMessage(138, global::Bilibili.Community.Service.Dm.V1.PostPanel.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel> postPanel_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel> PostPanel {
      get { return postPanel_; }
    }

    /// <summary>Field number for the "activity_meta" field.</summary>
    public const int ActivityMetaFieldNumber = 18;
    private static readonly pb::FieldCodec<string> _repeated_activityMeta_codec
        = pb::FieldCodec.ForString(146);
    private readonly pbc::RepeatedField<string> activityMeta_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ActivityMeta {
      get { return activityMeta_; }
    }

    /// <summary>Field number for the "post_panel2" field.</summary>
    public const int PostPanel2FieldNumber = 19;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.PostPanelV2> _repeated_postPanel2_codec
        = pb::FieldCodec.ForMessage(154, global::Bilibili.Community.Service.Dm.V1.PostPanelV2.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanelV2> postPanel2_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanelV2>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanelV2> PostPanel2 {
      get { return postPanel2_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmViewReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Closed != other.Closed) return false;
      if (!object.Equals(Mask, other.Mask)) return false;
      if (!object.Equals(Subtitle, other.Subtitle)) return false;
      if(!specialDms_.Equals(other.specialDms_)) return false;
      if (!object.Equals(AiFlag, other.AiFlag)) return false;
      if (!object.Equals(PlayerConfig, other.PlayerConfig)) return false;
      if (SendBoxStyle != other.SendBoxStyle) return false;
      if (Allow != other.Allow) return false;
      if (CheckBox != other.CheckBox) return false;
      if (CheckBoxShowMsg != other.CheckBoxShowMsg) return false;
      if (TextPlaceholder != other.TextPlaceholder) return false;
      if (InputPlaceholder != other.InputPlaceholder) return false;
      if(!reportFilterContent_.Equals(other.reportFilterContent_)) return false;
      if (!object.Equals(ExpoReport, other.ExpoReport)) return false;
      if (!object.Equals(BuzzwordConfig, other.BuzzwordConfig)) return false;
      if(!expressions_.Equals(other.expressions_)) return false;
      if(!postPanel_.Equals(other.postPanel_)) return false;
      if(!activityMeta_.Equals(other.activityMeta_)) return false;
      if(!postPanel2_.Equals(other.postPanel2_)) 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 (Closed != false) hash ^= Closed.GetHashCode();
      if (mask_ != null) hash ^= Mask.GetHashCode();
      if (subtitle_ != null) hash ^= Subtitle.GetHashCode();
      hash ^= specialDms_.GetHashCode();
      if (aiFlag_ != null) hash ^= AiFlag.GetHashCode();
      if (playerConfig_ != null) hash ^= PlayerConfig.GetHashCode();
      if (SendBoxStyle != 0) hash ^= SendBoxStyle.GetHashCode();
      if (Allow != false) hash ^= Allow.GetHashCode();
      if (CheckBox.Length != 0) hash ^= CheckBox.GetHashCode();
      if (CheckBoxShowMsg.Length != 0) hash ^= CheckBoxShowMsg.GetHashCode();
      if (TextPlaceholder.Length != 0) hash ^= TextPlaceholder.GetHashCode();
      if (InputPlaceholder.Length != 0) hash ^= InputPlaceholder.GetHashCode();
      hash ^= reportFilterContent_.GetHashCode();
      if (expoReport_ != null) hash ^= ExpoReport.GetHashCode();
      if (buzzwordConfig_ != null) hash ^= BuzzwordConfig.GetHashCode();
      hash ^= expressions_.GetHashCode();
      hash ^= postPanel_.GetHashCode();
      hash ^= activityMeta_.GetHashCode();
      hash ^= postPanel2_.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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      if (mask_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Mask);
      }
      if (subtitle_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Subtitle);
      }
      specialDms_.WriteTo(output, _repeated_specialDms_codec);
      if (aiFlag_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(AiFlag);
      }
      if (playerConfig_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(PlayerConfig);
      }
      if (SendBoxStyle != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SendBoxStyle);
      }
      if (Allow != false) {
        output.WriteRawTag(64);
        output.WriteBool(Allow);
      }
      if (CheckBox.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CheckBox);
      }
      if (CheckBoxShowMsg.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CheckBoxShowMsg);
      }
      if (TextPlaceholder.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TextPlaceholder);
      }
      if (InputPlaceholder.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(InputPlaceholder);
      }
      reportFilterContent_.WriteTo(output, _repeated_reportFilterContent_codec);
      if (expoReport_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(ExpoReport);
      }
      if (buzzwordConfig_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(BuzzwordConfig);
      }
      expressions_.WriteTo(output, _repeated_expressions_codec);
      postPanel_.WriteTo(output, _repeated_postPanel_codec);
      activityMeta_.WriteTo(output, _repeated_activityMeta_codec);
      postPanel2_.WriteTo(output, _repeated_postPanel2_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 (Closed != false) {
        output.WriteRawTag(8);
        output.WriteBool(Closed);
      }
      if (mask_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Mask);
      }
      if (subtitle_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Subtitle);
      }
      specialDms_.WriteTo(ref output, _repeated_specialDms_codec);
      if (aiFlag_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(AiFlag);
      }
      if (playerConfig_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(PlayerConfig);
      }
      if (SendBoxStyle != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SendBoxStyle);
      }
      if (Allow != false) {
        output.WriteRawTag(64);
        output.WriteBool(Allow);
      }
      if (CheckBox.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CheckBox);
      }
      if (CheckBoxShowMsg.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CheckBoxShowMsg);
      }
      if (TextPlaceholder.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TextPlaceholder);
      }
      if (InputPlaceholder.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(InputPlaceholder);
      }
      reportFilterContent_.WriteTo(ref output, _repeated_reportFilterContent_codec);
      if (expoReport_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(ExpoReport);
      }
      if (buzzwordConfig_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(BuzzwordConfig);
      }
      expressions_.WriteTo(ref output, _repeated_expressions_codec);
      postPanel_.WriteTo(ref output, _repeated_postPanel_codec);
      activityMeta_.WriteTo(ref output, _repeated_activityMeta_codec);
      postPanel2_.WriteTo(ref output, _repeated_postPanel2_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 (Closed != false) {
        size += 1 + 1;
      }
      if (mask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Mask);
      }
      if (subtitle_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Subtitle);
      }
      size += specialDms_.CalculateSize(_repeated_specialDms_codec);
      if (aiFlag_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AiFlag);
      }
      if (playerConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlayerConfig);
      }
      if (SendBoxStyle != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SendBoxStyle);
      }
      if (Allow != false) {
        size += 1 + 1;
      }
      if (CheckBox.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CheckBox);
      }
      if (CheckBoxShowMsg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CheckBoxShowMsg);
      }
      if (TextPlaceholder.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TextPlaceholder);
      }
      if (InputPlaceholder.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(InputPlaceholder);
      }
      size += reportFilterContent_.CalculateSize(_repeated_reportFilterContent_codec);
      if (expoReport_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExpoReport);
      }
      if (buzzwordConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BuzzwordConfig);
      }
      size += expressions_.CalculateSize(_repeated_expressions_codec);
      size += postPanel_.CalculateSize(_repeated_postPanel_codec);
      size += activityMeta_.CalculateSize(_repeated_activityMeta_codec);
      size += postPanel2_.CalculateSize(_repeated_postPanel2_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmViewReply other) {
      if (other == null) {
        return;
      }
      if (other.Closed != false) {
        Closed = other.Closed;
      }
      if (other.mask_ != null) {
        if (mask_ == null) {
          Mask = new global::Bilibili.Community.Service.Dm.V1.VideoMask();
        }
        Mask.MergeFrom(other.Mask);
      }
      if (other.subtitle_ != null) {
        if (subtitle_ == null) {
          Subtitle = new global::Bilibili.Community.Service.Dm.V1.VideoSubtitle();
        }
        Subtitle.MergeFrom(other.Subtitle);
      }
      specialDms_.Add(other.specialDms_);
      if (other.aiFlag_ != null) {
        if (aiFlag_ == null) {
          AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
        }
        AiFlag.MergeFrom(other.AiFlag);
      }
      if (other.playerConfig_ != null) {
        if (playerConfig_ == null) {
          PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig();
        }
        PlayerConfig.MergeFrom(other.PlayerConfig);
      }
      if (other.SendBoxStyle != 0) {
        SendBoxStyle = other.SendBoxStyle;
      }
      if (other.Allow != false) {
        Allow = other.Allow;
      }
      if (other.CheckBox.Length != 0) {
        CheckBox = other.CheckBox;
      }
      if (other.CheckBoxShowMsg.Length != 0) {
        CheckBoxShowMsg = other.CheckBoxShowMsg;
      }
      if (other.TextPlaceholder.Length != 0) {
        TextPlaceholder = other.TextPlaceholder;
      }
      if (other.InputPlaceholder.Length != 0) {
        InputPlaceholder = other.InputPlaceholder;
      }
      reportFilterContent_.Add(other.reportFilterContent_);
      if (other.expoReport_ != null) {
        if (expoReport_ == null) {
          ExpoReport = new global::Bilibili.Community.Service.Dm.V1.ExpoReport();
        }
        ExpoReport.MergeFrom(other.ExpoReport);
      }
      if (other.buzzwordConfig_ != null) {
        if (buzzwordConfig_ == null) {
          BuzzwordConfig = new global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig();
        }
        BuzzwordConfig.MergeFrom(other.BuzzwordConfig);
      }
      expressions_.Add(other.expressions_);
      postPanel_.Add(other.postPanel_);
      activityMeta_.Add(other.activityMeta_);
      postPanel2_.Add(other.postPanel2_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            if (mask_ == null) {
              Mask = new global::Bilibili.Community.Service.Dm.V1.VideoMask();
            }
            input.ReadMessage(Mask);
            break;
          }
          case 26: {
            if (subtitle_ == null) {
              Subtitle = new global::Bilibili.Community.Service.Dm.V1.VideoSubtitle();
            }
            input.ReadMessage(Subtitle);
            break;
          }
          case 34: {
            specialDms_.AddEntriesFrom(input, _repeated_specialDms_codec);
            break;
          }
          case 42: {
            if (aiFlag_ == null) {
              AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
            }
            input.ReadMessage(AiFlag);
            break;
          }
          case 50: {
            if (playerConfig_ == null) {
              PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig();
            }
            input.ReadMessage(PlayerConfig);
            break;
          }
          case 56: {
            SendBoxStyle = input.ReadInt32();
            break;
          }
          case 64: {
            Allow = input.ReadBool();
            break;
          }
          case 74: {
            CheckBox = input.ReadString();
            break;
          }
          case 82: {
            CheckBoxShowMsg = input.ReadString();
            break;
          }
          case 90: {
            TextPlaceholder = input.ReadString();
            break;
          }
          case 98: {
            InputPlaceholder = input.ReadString();
            break;
          }
          case 106: {
            reportFilterContent_.AddEntriesFrom(input, _repeated_reportFilterContent_codec);
            break;
          }
          case 114: {
            if (expoReport_ == null) {
              ExpoReport = new global::Bilibili.Community.Service.Dm.V1.ExpoReport();
            }
            input.ReadMessage(ExpoReport);
            break;
          }
          case 122: {
            if (buzzwordConfig_ == null) {
              BuzzwordConfig = new global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig();
            }
            input.ReadMessage(BuzzwordConfig);
            break;
          }
          case 130: {
            expressions_.AddEntriesFrom(input, _repeated_expressions_codec);
            break;
          }
          case 138: {
            postPanel_.AddEntriesFrom(input, _repeated_postPanel_codec);
            break;
          }
          case 146: {
            activityMeta_.AddEntriesFrom(input, _repeated_activityMeta_codec);
            break;
          }
          case 154: {
            postPanel2_.AddEntriesFrom(input, _repeated_postPanel2_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Closed = input.ReadBool();
            break;
          }
          case 18: {
            if (mask_ == null) {
              Mask = new global::Bilibili.Community.Service.Dm.V1.VideoMask();
            }
            input.ReadMessage(Mask);
            break;
          }
          case 26: {
            if (subtitle_ == null) {
              Subtitle = new global::Bilibili.Community.Service.Dm.V1.VideoSubtitle();
            }
            input.ReadMessage(Subtitle);
            break;
          }
          case 34: {
            specialDms_.AddEntriesFrom(ref input, _repeated_specialDms_codec);
            break;
          }
          case 42: {
            if (aiFlag_ == null) {
              AiFlag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
            }
            input.ReadMessage(AiFlag);
            break;
          }
          case 50: {
            if (playerConfig_ == null) {
              PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuPlayerViewConfig();
            }
            input.ReadMessage(PlayerConfig);
            break;
          }
          case 56: {
            SendBoxStyle = input.ReadInt32();
            break;
          }
          case 64: {
            Allow = input.ReadBool();
            break;
          }
          case 74: {
            CheckBox = input.ReadString();
            break;
          }
          case 82: {
            CheckBoxShowMsg = input.ReadString();
            break;
          }
          case 90: {
            TextPlaceholder = input.ReadString();
            break;
          }
          case 98: {
            InputPlaceholder = input.ReadString();
            break;
          }
          case 106: {
            reportFilterContent_.AddEntriesFrom(ref input, _repeated_reportFilterContent_codec);
            break;
          }
          case 114: {
            if (expoReport_ == null) {
              ExpoReport = new global::Bilibili.Community.Service.Dm.V1.ExpoReport();
            }
            input.ReadMessage(ExpoReport);
            break;
          }
          case 122: {
            if (buzzwordConfig_ == null) {
              BuzzwordConfig = new global::Bilibili.Community.Service.Dm.V1.BuzzwordConfig();
            }
            input.ReadMessage(BuzzwordConfig);
            break;
          }
          case 130: {
            expressions_.AddEntriesFrom(ref input, _repeated_expressions_codec);
            break;
          }
          case 138: {
            postPanel_.AddEntriesFrom(ref input, _repeated_postPanel_codec);
            break;
          }
          case 146: {
            activityMeta_.AddEntriesFrom(ref input, _repeated_activityMeta_codec);
            break;
          }
          case 154: {
            postPanel2_.AddEntriesFrom(ref input, _repeated_postPanel2_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 客户端弹幕元数据-请求
  /// </summary>
  public sealed partial class DmViewReq : pb::IMessage<DmViewReq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmViewReq> _parser = new pb::MessageParser<DmViewReq>(() => new DmViewReq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmViewReq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmViewReq() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "pid" field.</summary>
    public const int PidFieldNumber = 1;
    private long pid_;
    /// <summary>
    /// 稿件avid/漫画epid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Pid {
      get { return pid_; }
      set {
        pid_ = value;
      }
    }

    /// <summary>Field number for the "oid" field.</summary>
    public const int OidFieldNumber = 2;
    private long oid_;
    /// <summary>
    /// 视频cid/漫画cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Oid {
      get { return oid_; }
      set {
        oid_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    /// <summary>
    /// 弹幕类型
    /// 1:视频 2:漫画
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "spmid" field.</summary>
    public const int SpmidFieldNumber = 4;
    private string spmid_ = "";
    /// <summary>
    /// 页面spm
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Spmid {
      get { return spmid_; }
      set {
        spmid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "is_hard_boot" field.</summary>
    public const int IsHardBootFieldNumber = 5;
    private int isHardBoot_;
    /// <summary>
    /// 是否冷启
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IsHardBoot {
      get { return isHardBoot_; }
      set {
        isHardBoot_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmViewReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Pid != other.Pid) return false;
      if (Oid != other.Oid) return false;
      if (Type != other.Type) return false;
      if (Spmid != other.Spmid) return false;
      if (IsHardBoot != other.IsHardBoot) 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 (Pid != 0L) hash ^= Pid.GetHashCode();
      if (Oid != 0L) hash ^= Oid.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Spmid.Length != 0) hash ^= Spmid.GetHashCode();
      if (IsHardBoot != 0) hash ^= IsHardBoot.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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Spmid.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Spmid);
      }
      if (IsHardBoot != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(IsHardBoot);
      }
      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 (Pid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Pid);
      }
      if (Oid != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(Oid);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Spmid.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Spmid);
      }
      if (IsHardBoot != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(IsHardBoot);
      }
      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 (Pid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Pid);
      }
      if (Oid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oid);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Spmid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Spmid);
      }
      if (IsHardBoot != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsHardBoot);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmViewReq other) {
      if (other == null) {
        return;
      }
      if (other.Pid != 0L) {
        Pid = other.Pid;
      }
      if (other.Oid != 0L) {
        Oid = other.Oid;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Spmid.Length != 0) {
        Spmid = other.Spmid;
      }
      if (other.IsHardBoot != 0) {
        IsHardBoot = other.IsHardBoot;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Spmid = input.ReadString();
            break;
          }
          case 40: {
            IsHardBoot = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Pid = input.ReadInt64();
            break;
          }
          case 16: {
            Oid = input.ReadInt64();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Spmid = input.ReadString();
            break;
          }
          case 40: {
            IsHardBoot = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// web端弹幕元数据-响应
  /// https://api.bilibili.com/x/v2/dm/web/view
  /// </summary>
  public sealed partial class DmWebViewReply : pb::IMessage<DmWebViewReply>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DmWebViewReply> _parser = new pb::MessageParser<DmWebViewReply>(() => new DmWebViewReply());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DmWebViewReply> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 DmWebViewReply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DmWebViewReply(DmWebViewReply other) : this() {
      state_ = other.state_;
      text_ = other.text_;
      textSide_ = other.textSide_;
      dmSge_ = other.dmSge_ != null ? other.dmSge_.Clone() : null;
      flag_ = other.flag_ != null ? other.flag_.Clone() : null;
      specialDms_ = other.specialDms_.Clone();
      checkBox_ = other.checkBox_;
      count_ = other.count_;
      commandDms_ = other.commandDms_.Clone();
      playerConfig_ = other.playerConfig_ != null ? other.playerConfig_.Clone() : null;
      reportFilterContent_ = other.reportFilterContent_.Clone();
      expressions_ = other.expressions_.Clone();
      postPanel_ = other.postPanel_.Clone();
      activityMeta_ = other.activityMeta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "state" field.</summary>
    public const int StateFieldNumber = 1;
    private int state_;
    /// <summary>
    /// 是否已关闭弹幕
    /// 0:未关闭 1:已关闭
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int State {
      get { return state_; }
      set {
        state_ = value;
      }
    }

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

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

    /// <summary>Field number for the "dm_sge" field.</summary>
    public const int DmSgeFieldNumber = 4;
    private global::Bilibili.Community.Service.Dm.V1.DmSegConfig dmSge_;
    /// <summary>
    /// 分段弹幕配置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DmSegConfig DmSge {
      get { return dmSge_; }
      set {
        dmSge_ = value;
      }
    }

    /// <summary>Field number for the "flag" field.</summary>
    public const int FlagFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig flag_;
    /// <summary>
    /// 云屏蔽配置信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig Flag {
      get { return flag_; }
      set {
        flag_ = value;
      }
    }

    /// <summary>Field number for the "special_dms" field.</summary>
    public const int SpecialDmsFieldNumber = 6;
    private static readonly pb::FieldCodec<string> _repeated_specialDms_codec
        = pb::FieldCodec.ForString(50);
    private readonly pbc::RepeatedField<string> specialDms_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// 高级弹幕专包url(bfs)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> SpecialDms {
      get { return specialDms_; }
    }

    /// <summary>Field number for the "check_box" field.</summary>
    public const int CheckBoxFieldNumber = 7;
    private bool checkBox_;
    /// <summary>
    /// check box 是否展示
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool CheckBox {
      get { return checkBox_; }
      set {
        checkBox_ = value;
      }
    }

    /// <summary>Field number for the "count" field.</summary>
    public const int CountFieldNumber = 8;
    private long count_;
    /// <summary>
    /// 弹幕数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Count {
      get { return count_; }
      set {
        count_ = value;
      }
    }

    /// <summary>Field number for the "commandDms" field.</summary>
    public const int CommandDmsFieldNumber = 9;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.CommandDm> _repeated_commandDms_codec
        = pb::FieldCodec.ForMessage(74, global::Bilibili.Community.Service.Dm.V1.CommandDm.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.CommandDm> commandDms_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.CommandDm>();
    /// <summary>
    /// 互动弹幕
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.CommandDm> CommandDms {
      get { return commandDms_; }
    }

    /// <summary>Field number for the "player_config" field.</summary>
    public const int PlayerConfigFieldNumber = 10;
    private global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig playerConfig_;
    /// <summary>
    /// 用户弹幕配置
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig PlayerConfig {
      get { return playerConfig_; }
      set {
        playerConfig_ = value;
      }
    }

    /// <summary>Field number for the "report_filter_content" field.</summary>
    public const int ReportFilterContentFieldNumber = 11;
    private static readonly pb::FieldCodec<string> _repeated_reportFilterContent_codec
        = pb::FieldCodec.ForString(90);
    private readonly pbc::RepeatedField<string> reportFilterContent_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// 用户举报弹幕 cid维度屏蔽
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ReportFilterContent {
      get { return reportFilterContent_; }
    }

    /// <summary>Field number for the "expressions" field.</summary>
    public const int ExpressionsFieldNumber = 12;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Expressions> _repeated_expressions_codec
        = pb::FieldCodec.ForMessage(98, global::Bilibili.Community.Service.Dm.V1.Expressions.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions> expressions_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expressions> Expressions {
      get { return expressions_; }
    }

    /// <summary>Field number for the "post_panel" field.</summary>
    public const int PostPanelFieldNumber = 13;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.PostPanel> _repeated_postPanel_codec
        = pb::FieldCodec.ForMessage(106, global::Bilibili.Community.Service.Dm.V1.PostPanel.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel> postPanel_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.PostPanel> PostPanel {
      get { return postPanel_; }
    }

    /// <summary>Field number for the "activity_meta" field.</summary>
    public const int ActivityMetaFieldNumber = 14;
    private static readonly pb::FieldCodec<string> _repeated_activityMeta_codec
        = pb::FieldCodec.ForString(114);
    private readonly pbc::RepeatedField<string> activityMeta_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ActivityMeta {
      get { return activityMeta_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DmWebViewReply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (State != other.State) return false;
      if (Text != other.Text) return false;
      if (TextSide != other.TextSide) return false;
      if (!object.Equals(DmSge, other.DmSge)) return false;
      if (!object.Equals(Flag, other.Flag)) return false;
      if(!specialDms_.Equals(other.specialDms_)) return false;
      if (CheckBox != other.CheckBox) return false;
      if (Count != other.Count) return false;
      if(!commandDms_.Equals(other.commandDms_)) return false;
      if (!object.Equals(PlayerConfig, other.PlayerConfig)) return false;
      if(!reportFilterContent_.Equals(other.reportFilterContent_)) return false;
      if(!expressions_.Equals(other.expressions_)) return false;
      if(!postPanel_.Equals(other.postPanel_)) return false;
      if(!activityMeta_.Equals(other.activityMeta_)) 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 (State != 0) hash ^= State.GetHashCode();
      if (Text.Length != 0) hash ^= Text.GetHashCode();
      if (TextSide.Length != 0) hash ^= TextSide.GetHashCode();
      if (dmSge_ != null) hash ^= DmSge.GetHashCode();
      if (flag_ != null) hash ^= Flag.GetHashCode();
      hash ^= specialDms_.GetHashCode();
      if (CheckBox != false) hash ^= CheckBox.GetHashCode();
      if (Count != 0L) hash ^= Count.GetHashCode();
      hash ^= commandDms_.GetHashCode();
      if (playerConfig_ != null) hash ^= PlayerConfig.GetHashCode();
      hash ^= reportFilterContent_.GetHashCode();
      hash ^= expressions_.GetHashCode();
      hash ^= postPanel_.GetHashCode();
      hash ^= activityMeta_.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 (State != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(State);
      }
      if (Text.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Text);
      }
      if (TextSide.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TextSide);
      }
      if (dmSge_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DmSge);
      }
      if (flag_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Flag);
      }
      specialDms_.WriteTo(output, _repeated_specialDms_codec);
      if (CheckBox != false) {
        output.WriteRawTag(56);
        output.WriteBool(CheckBox);
      }
      if (Count != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(Count);
      }
      commandDms_.WriteTo(output, _repeated_commandDms_codec);
      if (playerConfig_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(PlayerConfig);
      }
      reportFilterContent_.WriteTo(output, _repeated_reportFilterContent_codec);
      expressions_.WriteTo(output, _repeated_expressions_codec);
      postPanel_.WriteTo(output, _repeated_postPanel_codec);
      activityMeta_.WriteTo(output, _repeated_activityMeta_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 (State != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(State);
      }
      if (Text.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Text);
      }
      if (TextSide.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TextSide);
      }
      if (dmSge_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DmSge);
      }
      if (flag_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Flag);
      }
      specialDms_.WriteTo(ref output, _repeated_specialDms_codec);
      if (CheckBox != false) {
        output.WriteRawTag(56);
        output.WriteBool(CheckBox);
      }
      if (Count != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(Count);
      }
      commandDms_.WriteTo(ref output, _repeated_commandDms_codec);
      if (playerConfig_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(PlayerConfig);
      }
      reportFilterContent_.WriteTo(ref output, _repeated_reportFilterContent_codec);
      expressions_.WriteTo(ref output, _repeated_expressions_codec);
      postPanel_.WriteTo(ref output, _repeated_postPanel_codec);
      activityMeta_.WriteTo(ref output, _repeated_activityMeta_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 (State != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
      }
      if (Text.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
      }
      if (TextSide.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TextSide);
      }
      if (dmSge_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DmSge);
      }
      if (flag_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Flag);
      }
      size += specialDms_.CalculateSize(_repeated_specialDms_codec);
      if (CheckBox != false) {
        size += 1 + 1;
      }
      if (Count != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Count);
      }
      size += commandDms_.CalculateSize(_repeated_commandDms_codec);
      if (playerConfig_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlayerConfig);
      }
      size += reportFilterContent_.CalculateSize(_repeated_reportFilterContent_codec);
      size += expressions_.CalculateSize(_repeated_expressions_codec);
      size += postPanel_.CalculateSize(_repeated_postPanel_codec);
      size += activityMeta_.CalculateSize(_repeated_activityMeta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DmWebViewReply other) {
      if (other == null) {
        return;
      }
      if (other.State != 0) {
        State = other.State;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.TextSide.Length != 0) {
        TextSide = other.TextSide;
      }
      if (other.dmSge_ != null) {
        if (dmSge_ == null) {
          DmSge = new global::Bilibili.Community.Service.Dm.V1.DmSegConfig();
        }
        DmSge.MergeFrom(other.DmSge);
      }
      if (other.flag_ != null) {
        if (flag_ == null) {
          Flag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
        }
        Flag.MergeFrom(other.Flag);
      }
      specialDms_.Add(other.specialDms_);
      if (other.CheckBox != false) {
        CheckBox = other.CheckBox;
      }
      if (other.Count != 0L) {
        Count = other.Count;
      }
      commandDms_.Add(other.commandDms_);
      if (other.playerConfig_ != null) {
        if (playerConfig_ == null) {
          PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig();
        }
        PlayerConfig.MergeFrom(other.PlayerConfig);
      }
      reportFilterContent_.Add(other.reportFilterContent_);
      expressions_.Add(other.expressions_);
      postPanel_.Add(other.postPanel_);
      activityMeta_.Add(other.activityMeta_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            State = input.ReadInt32();
            break;
          }
          case 18: {
            Text = input.ReadString();
            break;
          }
          case 26: {
            TextSide = input.ReadString();
            break;
          }
          case 34: {
            if (dmSge_ == null) {
              DmSge = new global::Bilibili.Community.Service.Dm.V1.DmSegConfig();
            }
            input.ReadMessage(DmSge);
            break;
          }
          case 42: {
            if (flag_ == null) {
              Flag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
            }
            input.ReadMessage(Flag);
            break;
          }
          case 50: {
            specialDms_.AddEntriesFrom(input, _repeated_specialDms_codec);
            break;
          }
          case 56: {
            CheckBox = input.ReadBool();
            break;
          }
          case 64: {
            Count = input.ReadInt64();
            break;
          }
          case 74: {
            commandDms_.AddEntriesFrom(input, _repeated_commandDms_codec);
            break;
          }
          case 82: {
            if (playerConfig_ == null) {
              PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig();
            }
            input.ReadMessage(PlayerConfig);
            break;
          }
          case 90: {
            reportFilterContent_.AddEntriesFrom(input, _repeated_reportFilterContent_codec);
            break;
          }
          case 98: {
            expressions_.AddEntriesFrom(input, _repeated_expressions_codec);
            break;
          }
          case 106: {
            postPanel_.AddEntriesFrom(input, _repeated_postPanel_codec);
            break;
          }
          case 114: {
            activityMeta_.AddEntriesFrom(input, _repeated_activityMeta_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            State = input.ReadInt32();
            break;
          }
          case 18: {
            Text = input.ReadString();
            break;
          }
          case 26: {
            TextSide = input.ReadString();
            break;
          }
          case 34: {
            if (dmSge_ == null) {
              DmSge = new global::Bilibili.Community.Service.Dm.V1.DmSegConfig();
            }
            input.ReadMessage(DmSge);
            break;
          }
          case 42: {
            if (flag_ == null) {
              Flag = new global::Bilibili.Community.Service.Dm.V1.DanmakuFlagConfig();
            }
            input.ReadMessage(Flag);
            break;
          }
          case 50: {
            specialDms_.AddEntriesFrom(ref input, _repeated_specialDms_codec);
            break;
          }
          case 56: {
            CheckBox = input.ReadBool();
            break;
          }
          case 64: {
            Count = input.ReadInt64();
            break;
          }
          case 74: {
            commandDms_.AddEntriesFrom(ref input, _repeated_commandDms_codec);
            break;
          }
          case 82: {
            if (playerConfig_ == null) {
              PlayerConfig = new global::Bilibili.Community.Service.Dm.V1.DanmuWebPlayerConfig();
            }
            input.ReadMessage(PlayerConfig);
            break;
          }
          case 90: {
            reportFilterContent_.AddEntriesFrom(ref input, _repeated_reportFilterContent_codec);
            break;
          }
          case 98: {
            expressions_.AddEntriesFrom(ref input, _repeated_expressions_codec);
            break;
          }
          case 106: {
            postPanel_.AddEntriesFrom(ref input, _repeated_postPanel_codec);
            break;
          }
          case 114: {
            activityMeta_.AddEntriesFrom(ref input, _repeated_activityMeta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 ExpoReport() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ExpoReport other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ShouldReportAtEnd != other.ShouldReportAtEnd) 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 (ShouldReportAtEnd != false) hash ^= ShouldReportAtEnd.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 (ShouldReportAtEnd != false) {
        output.WriteRawTag(8);
        output.WriteBool(ShouldReportAtEnd);
      }
      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 (ShouldReportAtEnd != false) {
        output.WriteRawTag(8);
        output.WriteBool(ShouldReportAtEnd);
      }
      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 (ShouldReportAtEnd != 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(ExpoReport other) {
      if (other == null) {
        return;
      }
      if (other.ShouldReportAtEnd != false) {
        ShouldReportAtEnd = other.ShouldReportAtEnd;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            ShouldReportAtEnd = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            ShouldReportAtEnd = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Expression() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "keyword" field.</summary>
    public const int KeywordFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_keyword_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> keyword_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Keyword {
      get { return keyword_; }
    }

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

    /// <summary>Field number for the "period" field.</summary>
    public const int PeriodFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Period> _repeated_period_codec
        = pb::FieldCodec.ForMessage(26, global::Bilibili.Community.Service.Dm.V1.Period.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Period> period_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Period>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Period> Period {
      get { return period_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Expression other) {
      if (other == null) {
        return;
      }
      keyword_.Add(other.keyword_);
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      period_.Add(other.period_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            keyword_.AddEntriesFrom(input, _repeated_keyword_codec);
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 26: {
            period_.AddEntriesFrom(input, _repeated_period_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            keyword_.AddEntriesFrom(ref input, _repeated_keyword_codec);
            break;
          }
          case 18: {
            Url = input.ReadString();
            break;
          }
          case 26: {
            period_.AddEntriesFrom(ref input, _repeated_period_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Expressions() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "data" field.</summary>
    public const int DataFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Expression> _repeated_data_codec
        = pb::FieldCodec.ForMessage(10, global::Bilibili.Community.Service.Dm.V1.Expression.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expression> data_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expression>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Expression> Data {
      get { return data_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Expressions other) {
      if (other == null) {
        return;
      }
      data_.Add(other.data_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            data_.AddEntriesFrom(input, _repeated_data_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            data_.AddEntriesFrom(ref input, _repeated_data_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 InlinePlayerDanmakuSwitch() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 InlinePlayerDanmakuSwitch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InlinePlayerDanmakuSwitch 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(InlinePlayerDanmakuSwitch other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Label() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Label other) {
      if (other == null) {
        return;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      content_.Add(other.content_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 18: {
            content_.AddEntriesFrom(input, _repeated_content_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 18: {
            content_.AddEntriesFrom(ref input, _repeated_content_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 LabelV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LabelV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Title != other.Title) return false;
      if(!content_.Equals(other.content_)) return false;
      if (ExposureOnce != other.ExposureOnce) return false;
      if (ExposureType != other.ExposureType) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      hash ^= content_.GetHashCode();
      if (ExposureOnce != false) hash ^= ExposureOnce.GetHashCode();
      if (ExposureType != 0) hash ^= ExposureType.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 (Title.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Title);
      }
      content_.WriteTo(output, _repeated_content_codec);
      if (ExposureOnce != false) {
        output.WriteRawTag(24);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ExposureType);
      }
      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 (Title.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Title);
      }
      content_.WriteTo(ref output, _repeated_content_codec);
      if (ExposureOnce != false) {
        output.WriteRawTag(24);
        output.WriteBool(ExposureOnce);
      }
      if (ExposureType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ExposureType);
      }
      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 (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      size += content_.CalculateSize(_repeated_content_codec);
      if (ExposureOnce != false) {
        size += 1 + 1;
      }
      if (ExposureType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExposureType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LabelV2 other) {
      if (other == null) {
        return;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      content_.Add(other.content_);
      if (other.ExposureOnce != false) {
        ExposureOnce = other.ExposureOnce;
      }
      if (other.ExposureType != 0) {
        ExposureType = other.ExposureType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 18: {
            content_.AddEntriesFrom(input, _repeated_content_codec);
            break;
          }
          case 24: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 32: {
            ExposureType = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 18: {
            content_.AddEntriesFrom(ref input, _repeated_content_codec);
            break;
          }
          case 24: {
            ExposureOnce = input.ReadBool();
            break;
          }
          case 32: {
            ExposureType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Period() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 1;
    private long start_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }

    /// <summary>Field number for the "end" field.</summary>
    public const int EndFieldNumber = 2;
    private long end_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long End {
      get { return end_; }
      set {
        end_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Period other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Start != other.Start) return false;
      if (End != other.End) 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 (Start != 0L) hash ^= Start.GetHashCode();
      if (End != 0L) hash ^= End.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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      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 (Start != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Start);
      }
      if (End != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(End);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Period other) {
      if (other == null) {
        return;
      }
      if (other.Start != 0L) {
        Start = other.Start;
      }
      if (other.End != 0L) {
        End = other.End;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuAiRecommendedLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuAiRecommendedLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuAiRecommendedLevel 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuAiRecommendedLevel other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuAiRecommendedLevelV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int 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 PlayerDanmakuAiRecommendedLevelV2);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuAiRecommendedLevelV2 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 != 0) 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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuAiRecommendedLevelV2 other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuAiRecommendedSwitch() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuAiRecommendedSwitch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuAiRecommendedSwitch 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuAiRecommendedSwitch other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlockbottom() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlockbottom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlockbottom 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlockbottom other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlockcolorful() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlockcolorful);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlockcolorful 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlockcolorful other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlockrepeat() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlockrepeat);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlockrepeat 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlockrepeat other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlockscroll() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlockscroll);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlockscroll 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlockscroll other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlockspecial() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlockspecial);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlockspecial 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlockspecial other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuBlocktop() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuBlocktop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuBlocktop 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuBlocktop other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuDomain() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private float value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float 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 PlayerDanmakuDomain);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuDomain other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(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 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
      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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuDomain other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0F) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            Value = input.ReadFloat();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            Value = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuEnableblocklist() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuEnableblocklist);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuEnableblocklist 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuEnableblocklist other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuOpacity() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private float value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float 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 PlayerDanmakuOpacity);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuOpacity other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(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 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
      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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuOpacity other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0F) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            Value = input.ReadFloat();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            Value = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuScalingfactor() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private float value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float 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 PlayerDanmakuScalingfactor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuScalingfactor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(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 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
      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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(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 != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuScalingfactor other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0F) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            Value = input.ReadFloat();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            Value = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuSeniorModeSwitch() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int 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 PlayerDanmakuSeniorModeSwitch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuSeniorModeSwitch 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 != 0) 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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuSeniorModeSwitch other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuSpeed() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int 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 PlayerDanmakuSpeed);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuSpeed 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 != 0) 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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(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 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerDanmakuSpeed other) {
      if (other == null) {
        return;
      }
      if (other.Value != 0) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuSwitch() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuSwitch other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Value != other.Value) return false;
      if (CanIgnore != other.CanIgnore) 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 != false) hash ^= Value.GetHashCode();
      if (CanIgnore != false) hash ^= CanIgnore.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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(Value);
      }
      if (CanIgnore != false) {
        output.WriteRawTag(16);
        output.WriteBool(CanIgnore);
      }
      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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(Value);
      }
      if (CanIgnore != false) {
        output.WriteRawTag(16);
        output.WriteBool(CanIgnore);
      }
      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 != false) {
        size += 1 + 1;
      }
      if (CanIgnore != 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(PlayerDanmakuSwitch other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        Value = other.Value;
      }
      if (other.CanIgnore != false) {
        CanIgnore = other.CanIgnore;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
          case 16: {
            CanIgnore = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
          case 16: {
            CanIgnore = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuSwitchSave() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuSwitchSave);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuSwitchSave 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuSwitchSave other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PlayerDanmakuUseDefaultConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "value" field.</summary>
    public const int ValueFieldNumber = 1;
    private bool value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool 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 PlayerDanmakuUseDefaultConfig);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerDanmakuUseDefaultConfig 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 != false) 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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != false) {
        output.WriteRawTag(8);
        output.WriteBool(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 != 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(PlayerDanmakuUseDefaultConfig other) {
      if (other == null) {
        return;
      }
      if (other.Value != false) {
        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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Value = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Value = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PostPanel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PostPanel(PostPanel other) : this() {
      start_ = other.start_;
      end_ = other.end_;
      priority_ = other.priority_;
      bizId_ = other.bizId_;
      bizType_ = other.bizType_;
      clickButton_ = other.clickButton_ != null ? other.clickButton_.Clone() : null;
      textInput_ = other.textInput_ != null ? other.textInput_.Clone() : null;
      checkBox_ = other.checkBox_ != null ? other.checkBox_.Clone() : null;
      toast_ = other.toast_ != null ? other.toast_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 1;
    private long start_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }

    /// <summary>Field number for the "end" field.</summary>
    public const int EndFieldNumber = 2;
    private long end_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long End {
      get { return end_; }
      set {
        end_ = value;
      }
    }

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

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

    /// <summary>Field number for the "biz_type" field.</summary>
    public const int BizTypeFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.PostPanelBizType bizType_ = global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PostPanelBizType BizType {
      get { return bizType_; }
      set {
        bizType_ = value;
      }
    }

    /// <summary>Field number for the "click_button" field.</summary>
    public const int ClickButtonFieldNumber = 6;
    private global::Bilibili.Community.Service.Dm.V1.ClickButton clickButton_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ClickButton ClickButton {
      get { return clickButton_; }
      set {
        clickButton_ = value;
      }
    }

    /// <summary>Field number for the "text_input" field.</summary>
    public const int TextInputFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.TextInput textInput_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.TextInput TextInput {
      get { return textInput_; }
      set {
        textInput_ = value;
      }
    }

    /// <summary>Field number for the "check_box" field.</summary>
    public const int CheckBoxFieldNumber = 8;
    private global::Bilibili.Community.Service.Dm.V1.CheckBox checkBox_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.CheckBox CheckBox {
      get { return checkBox_; }
      set {
        checkBox_ = value;
      }
    }

    /// <summary>Field number for the "toast" field.</summary>
    public const int ToastFieldNumber = 9;
    private global::Bilibili.Community.Service.Dm.V1.Toast toast_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.Toast Toast {
      get { return toast_; }
      set {
        toast_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PostPanel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Start != other.Start) return false;
      if (End != other.End) return false;
      if (Priority != other.Priority) return false;
      if (BizId != other.BizId) return false;
      if (BizType != other.BizType) return false;
      if (!object.Equals(ClickButton, other.ClickButton)) return false;
      if (!object.Equals(TextInput, other.TextInput)) return false;
      if (!object.Equals(CheckBox, other.CheckBox)) return false;
      if (!object.Equals(Toast, other.Toast)) 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 (Start != 0L) hash ^= Start.GetHashCode();
      if (End != 0L) hash ^= End.GetHashCode();
      if (Priority != 0L) hash ^= Priority.GetHashCode();
      if (BizId != 0L) hash ^= BizId.GetHashCode();
      if (BizType != global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None) hash ^= BizType.GetHashCode();
      if (clickButton_ != null) hash ^= ClickButton.GetHashCode();
      if (textInput_ != null) hash ^= TextInput.GetHashCode();
      if (checkBox_ != null) hash ^= CheckBox.GetHashCode();
      if (toast_ != null) hash ^= Toast.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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      if (Priority != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Priority);
      }
      if (BizId != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(BizId);
      }
      if (BizType != global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) BizType);
      }
      if (clickButton_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(ClickButton);
      }
      if (textInput_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(TextInput);
      }
      if (checkBox_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(CheckBox);
      }
      if (toast_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Toast);
      }
      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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      if (Priority != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Priority);
      }
      if (BizId != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(BizId);
      }
      if (BizType != global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None) {
        output.WriteRawTag(40);
        output.WriteEnum((int) BizType);
      }
      if (clickButton_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(ClickButton);
      }
      if (textInput_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(TextInput);
      }
      if (checkBox_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(CheckBox);
      }
      if (toast_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Toast);
      }
      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 (Start != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Start);
      }
      if (End != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(End);
      }
      if (Priority != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Priority);
      }
      if (BizId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(BizId);
      }
      if (BizType != global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) BizType);
      }
      if (clickButton_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClickButton);
      }
      if (textInput_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TextInput);
      }
      if (checkBox_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckBox);
      }
      if (toast_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Toast);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PostPanel other) {
      if (other == null) {
        return;
      }
      if (other.Start != 0L) {
        Start = other.Start;
      }
      if (other.End != 0L) {
        End = other.End;
      }
      if (other.Priority != 0L) {
        Priority = other.Priority;
      }
      if (other.BizId != 0L) {
        BizId = other.BizId;
      }
      if (other.BizType != global::Bilibili.Community.Service.Dm.V1.PostPanelBizType.None) {
        BizType = other.BizType;
      }
      if (other.clickButton_ != null) {
        if (clickButton_ == null) {
          ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButton();
        }
        ClickButton.MergeFrom(other.ClickButton);
      }
      if (other.textInput_ != null) {
        if (textInput_ == null) {
          TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInput();
        }
        TextInput.MergeFrom(other.TextInput);
      }
      if (other.checkBox_ != null) {
        if (checkBox_ == null) {
          CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBox();
        }
        CheckBox.MergeFrom(other.CheckBox);
      }
      if (other.toast_ != null) {
        if (toast_ == null) {
          Toast = new global::Bilibili.Community.Service.Dm.V1.Toast();
        }
        Toast.MergeFrom(other.Toast);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            break;
          }
          case 24: {
            Priority = input.ReadInt64();
            break;
          }
          case 32: {
            BizId = input.ReadInt64();
            break;
          }
          case 40: {
            BizType = (global::Bilibili.Community.Service.Dm.V1.PostPanelBizType) input.ReadEnum();
            break;
          }
          case 50: {
            if (clickButton_ == null) {
              ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButton();
            }
            input.ReadMessage(ClickButton);
            break;
          }
          case 58: {
            if (textInput_ == null) {
              TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInput();
            }
            input.ReadMessage(TextInput);
            break;
          }
          case 66: {
            if (checkBox_ == null) {
              CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBox();
            }
            input.ReadMessage(CheckBox);
            break;
          }
          case 74: {
            if (toast_ == null) {
              Toast = new global::Bilibili.Community.Service.Dm.V1.Toast();
            }
            input.ReadMessage(Toast);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            break;
          }
          case 24: {
            Priority = input.ReadInt64();
            break;
          }
          case 32: {
            BizId = input.ReadInt64();
            break;
          }
          case 40: {
            BizType = (global::Bilibili.Community.Service.Dm.V1.PostPanelBizType) input.ReadEnum();
            break;
          }
          case 50: {
            if (clickButton_ == null) {
              ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButton();
            }
            input.ReadMessage(ClickButton);
            break;
          }
          case 58: {
            if (textInput_ == null) {
              TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInput();
            }
            input.ReadMessage(TextInput);
            break;
          }
          case 66: {
            if (checkBox_ == null) {
              CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBox();
            }
            input.ReadMessage(CheckBox);
            break;
          }
          case 74: {
            if (toast_ == null) {
              Toast = new global::Bilibili.Community.Service.Dm.V1.Toast();
            }
            input.ReadMessage(Toast);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 PostPanelV2() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PostPanelV2(PostPanelV2 other) : this() {
      start_ = other.start_;
      end_ = other.end_;
      bizType_ = other.bizType_;
      clickButton_ = other.clickButton_ != null ? other.clickButton_.Clone() : null;
      textInput_ = other.textInput_ != null ? other.textInput_.Clone() : null;
      checkBox_ = other.checkBox_ != null ? other.checkBox_.Clone() : null;
      toast_ = other.toast_ != null ? other.toast_.Clone() : null;
      bubble_ = other.bubble_ != null ? other.bubble_.Clone() : null;
      label_ = other.label_ != null ? other.label_.Clone() : null;
      postStatus_ = other.postStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 1;
    private long start_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }

    /// <summary>Field number for the "end" field.</summary>
    public const int EndFieldNumber = 2;
    private long end_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long End {
      get { return end_; }
      set {
        end_ = value;
      }
    }

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

    /// <summary>Field number for the "click_button" field.</summary>
    public const int ClickButtonFieldNumber = 4;
    private global::Bilibili.Community.Service.Dm.V1.ClickButtonV2 clickButton_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ClickButtonV2 ClickButton {
      get { return clickButton_; }
      set {
        clickButton_ = value;
      }
    }

    /// <summary>Field number for the "text_input" field.</summary>
    public const int TextInputFieldNumber = 5;
    private global::Bilibili.Community.Service.Dm.V1.TextInputV2 textInput_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.TextInputV2 TextInput {
      get { return textInput_; }
      set {
        textInput_ = value;
      }
    }

    /// <summary>Field number for the "check_box" field.</summary>
    public const int CheckBoxFieldNumber = 6;
    private global::Bilibili.Community.Service.Dm.V1.CheckBoxV2 checkBox_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.CheckBoxV2 CheckBox {
      get { return checkBox_; }
      set {
        checkBox_ = value;
      }
    }

    /// <summary>Field number for the "toast" field.</summary>
    public const int ToastFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.ToastV2 toast_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ToastV2 Toast {
      get { return toast_; }
      set {
        toast_ = value;
      }
    }

    /// <summary>Field number for the "bubble" field.</summary>
    public const int BubbleFieldNumber = 8;
    private global::Bilibili.Community.Service.Dm.V1.BubbleV2 bubble_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.BubbleV2 Bubble {
      get { return bubble_; }
      set {
        bubble_ = value;
      }
    }

    /// <summary>Field number for the "label" field.</summary>
    public const int LabelFieldNumber = 9;
    private global::Bilibili.Community.Service.Dm.V1.LabelV2 label_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.LabelV2 Label {
      get { return label_; }
      set {
        label_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PostPanelV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Start != other.Start) return false;
      if (End != other.End) return false;
      if (BizType != other.BizType) return false;
      if (!object.Equals(ClickButton, other.ClickButton)) return false;
      if (!object.Equals(TextInput, other.TextInput)) return false;
      if (!object.Equals(CheckBox, other.CheckBox)) return false;
      if (!object.Equals(Toast, other.Toast)) return false;
      if (!object.Equals(Bubble, other.Bubble)) return false;
      if (!object.Equals(Label, other.Label)) return false;
      if (PostStatus != other.PostStatus) 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 (Start != 0L) hash ^= Start.GetHashCode();
      if (End != 0L) hash ^= End.GetHashCode();
      if (BizType != 0) hash ^= BizType.GetHashCode();
      if (clickButton_ != null) hash ^= ClickButton.GetHashCode();
      if (textInput_ != null) hash ^= TextInput.GetHashCode();
      if (checkBox_ != null) hash ^= CheckBox.GetHashCode();
      if (toast_ != null) hash ^= Toast.GetHashCode();
      if (bubble_ != null) hash ^= Bubble.GetHashCode();
      if (label_ != null) hash ^= Label.GetHashCode();
      if (PostStatus != 0) hash ^= PostStatus.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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      if (BizType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(BizType);
      }
      if (clickButton_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ClickButton);
      }
      if (textInput_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(TextInput);
      }
      if (checkBox_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(CheckBox);
      }
      if (toast_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Toast);
      }
      if (bubble_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Bubble);
      }
      if (label_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Label);
      }
      if (PostStatus != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PostStatus);
      }
      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 (Start != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Start);
      }
      if (End != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(End);
      }
      if (BizType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(BizType);
      }
      if (clickButton_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ClickButton);
      }
      if (textInput_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(TextInput);
      }
      if (checkBox_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(CheckBox);
      }
      if (toast_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(Toast);
      }
      if (bubble_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Bubble);
      }
      if (label_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(Label);
      }
      if (PostStatus != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PostStatus);
      }
      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 (Start != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Start);
      }
      if (End != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(End);
      }
      if (BizType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BizType);
      }
      if (clickButton_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClickButton);
      }
      if (textInput_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TextInput);
      }
      if (checkBox_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckBox);
      }
      if (toast_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Toast);
      }
      if (bubble_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bubble);
      }
      if (label_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Label);
      }
      if (PostStatus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PostStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PostPanelV2 other) {
      if (other == null) {
        return;
      }
      if (other.Start != 0L) {
        Start = other.Start;
      }
      if (other.End != 0L) {
        End = other.End;
      }
      if (other.BizType != 0) {
        BizType = other.BizType;
      }
      if (other.clickButton_ != null) {
        if (clickButton_ == null) {
          ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButtonV2();
        }
        ClickButton.MergeFrom(other.ClickButton);
      }
      if (other.textInput_ != null) {
        if (textInput_ == null) {
          TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInputV2();
        }
        TextInput.MergeFrom(other.TextInput);
      }
      if (other.checkBox_ != null) {
        if (checkBox_ == null) {
          CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBoxV2();
        }
        CheckBox.MergeFrom(other.CheckBox);
      }
      if (other.toast_ != null) {
        if (toast_ == null) {
          Toast = new global::Bilibili.Community.Service.Dm.V1.ToastV2();
        }
        Toast.MergeFrom(other.Toast);
      }
      if (other.bubble_ != null) {
        if (bubble_ == null) {
          Bubble = new global::Bilibili.Community.Service.Dm.V1.BubbleV2();
        }
        Bubble.MergeFrom(other.Bubble);
      }
      if (other.label_ != null) {
        if (label_ == null) {
          Label = new global::Bilibili.Community.Service.Dm.V1.LabelV2();
        }
        Label.MergeFrom(other.Label);
      }
      if (other.PostStatus != 0) {
        PostStatus = other.PostStatus;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            break;
          }
          case 24: {
            BizType = input.ReadInt32();
            break;
          }
          case 34: {
            if (clickButton_ == null) {
              ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButtonV2();
            }
            input.ReadMessage(ClickButton);
            break;
          }
          case 42: {
            if (textInput_ == null) {
              TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInputV2();
            }
            input.ReadMessage(TextInput);
            break;
          }
          case 50: {
            if (checkBox_ == null) {
              CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBoxV2();
            }
            input.ReadMessage(CheckBox);
            break;
          }
          case 58: {
            if (toast_ == null) {
              Toast = new global::Bilibili.Community.Service.Dm.V1.ToastV2();
            }
            input.ReadMessage(Toast);
            break;
          }
          case 66: {
            if (bubble_ == null) {
              Bubble = new global::Bilibili.Community.Service.Dm.V1.BubbleV2();
            }
            input.ReadMessage(Bubble);
            break;
          }
          case 74: {
            if (label_ == null) {
              Label = new global::Bilibili.Community.Service.Dm.V1.LabelV2();
            }
            input.ReadMessage(Label);
            break;
          }
          case 80: {
            PostStatus = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Start = input.ReadInt64();
            break;
          }
          case 16: {
            End = input.ReadInt64();
            break;
          }
          case 24: {
            BizType = input.ReadInt32();
            break;
          }
          case 34: {
            if (clickButton_ == null) {
              ClickButton = new global::Bilibili.Community.Service.Dm.V1.ClickButtonV2();
            }
            input.ReadMessage(ClickButton);
            break;
          }
          case 42: {
            if (textInput_ == null) {
              TextInput = new global::Bilibili.Community.Service.Dm.V1.TextInputV2();
            }
            input.ReadMessage(TextInput);
            break;
          }
          case 50: {
            if (checkBox_ == null) {
              CheckBox = new global::Bilibili.Community.Service.Dm.V1.CheckBoxV2();
            }
            input.ReadMessage(CheckBox);
            break;
          }
          case 58: {
            if (toast_ == null) {
              Toast = new global::Bilibili.Community.Service.Dm.V1.ToastV2();
            }
            input.ReadMessage(Toast);
            break;
          }
          case 66: {
            if (bubble_ == null) {
              Bubble = new global::Bilibili.Community.Service.Dm.V1.BubbleV2();
            }
            input.ReadMessage(Bubble);
            break;
          }
          case 74: {
            if (label_ == null) {
              Label = new global::Bilibili.Community.Service.Dm.V1.LabelV2();
            }
            input.ReadMessage(Label);
            break;
          }
          case 80: {
            PostStatus = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 修改弹幕配置-响应
  /// </summary>
  public sealed partial class Response : pb::IMessage<Response>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Response> _parser = new pb::MessageParser<Response>(() => new Response());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Response> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Response() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Response other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Code != other.Code) 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 (Code != 0) hash ^= Code.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 (Code != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Code);
      }
      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 (Code != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Code);
      }
      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 (Code != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Code);
      }
      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(Response other) {
      if (other == null) {
        return;
      }
      if (other.Code != 0) {
        Code = other.Code;
      }
      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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Code = input.ReadInt32();
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Code = input.ReadInt32();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 SubtitleItem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtitleItem(SubtitleItem other) : this() {
      id_ = other.id_;
      idStr_ = other.idStr_;
      lan_ = other.lan_;
      lanDoc_ = other.lanDoc_;
      subtitleUrl_ = other.subtitleUrl_;
      author_ = other.author_ != null ? other.author_.Clone() : null;
      type_ = other.type_;
      lanDocBrief_ = other.lanDocBrief_;
      aiType_ = other.aiType_;
      aiStatus_ = other.aiStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "id_str" field.</summary>
    public const int IdStrFieldNumber = 2;
    private string idStr_ = "";
    /// <summary>
    /// 字幕id str
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IdStr {
      get { return idStr_; }
      set {
        idStr_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lan" field.</summary>
    public const int LanFieldNumber = 3;
    private string lan_ = "";
    /// <summary>
    /// 字幕语言代码
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Lan {
      get { return lan_; }
      set {
        lan_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lan_doc" field.</summary>
    public const int LanDocFieldNumber = 4;
    private string lanDoc_ = "";
    /// <summary>
    /// 字幕语言
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanDoc {
      get { return lanDoc_; }
      set {
        lanDoc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "subtitle_url" field.</summary>
    public const int SubtitleUrlFieldNumber = 5;
    private string subtitleUrl_ = "";
    /// <summary>
    /// 字幕文件url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SubtitleUrl {
      get { return subtitleUrl_; }
      set {
        subtitleUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "author" field.</summary>
    public const int AuthorFieldNumber = 6;
    private global::Bilibili.Community.Service.Dm.V1.UserInfo author_;
    /// <summary>
    /// 字幕作者信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.UserInfo Author {
      get { return author_; }
      set {
        author_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.SubtitleType type_ = global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc;
    /// <summary>
    /// 字幕类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.SubtitleType Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

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

    /// <summary>Field number for the "ai_type" field.</summary>
    public const int AiTypeFieldNumber = 9;
    private global::Bilibili.Community.Service.Dm.V1.SubtitleAiType aiType_ = global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.SubtitleAiType AiType {
      get { return aiType_; }
      set {
        aiType_ = value;
      }
    }

    /// <summary>Field number for the "ai_status" field.</summary>
    public const int AiStatusFieldNumber = 10;
    private global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus aiStatus_ = global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus AiStatus {
      get { return aiStatus_; }
      set {
        aiStatus_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SubtitleItem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (IdStr != other.IdStr) return false;
      if (Lan != other.Lan) return false;
      if (LanDoc != other.LanDoc) return false;
      if (SubtitleUrl != other.SubtitleUrl) return false;
      if (!object.Equals(Author, other.Author)) return false;
      if (Type != other.Type) return false;
      if (LanDocBrief != other.LanDocBrief) return false;
      if (AiType != other.AiType) return false;
      if (AiStatus != other.AiStatus) 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 != 0L) hash ^= Id.GetHashCode();
      if (IdStr.Length != 0) hash ^= IdStr.GetHashCode();
      if (Lan.Length != 0) hash ^= Lan.GetHashCode();
      if (LanDoc.Length != 0) hash ^= LanDoc.GetHashCode();
      if (SubtitleUrl.Length != 0) hash ^= SubtitleUrl.GetHashCode();
      if (author_ != null) hash ^= Author.GetHashCode();
      if (Type != global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc) hash ^= Type.GetHashCode();
      if (LanDocBrief.Length != 0) hash ^= LanDocBrief.GetHashCode();
      if (AiType != global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal) hash ^= AiType.GetHashCode();
      if (AiStatus != global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None) hash ^= AiStatus.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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(IdStr);
      }
      if (Lan.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Lan);
      }
      if (LanDoc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LanDoc);
      }
      if (SubtitleUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SubtitleUrl);
      }
      if (author_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Author);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc) {
        output.WriteRawTag(56);
        output.WriteEnum((int) Type);
      }
      if (LanDocBrief.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(LanDocBrief);
      }
      if (AiType != global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal) {
        output.WriteRawTag(72);
        output.WriteEnum((int) AiType);
      }
      if (AiStatus != global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None) {
        output.WriteRawTag(80);
        output.WriteEnum((int) AiStatus);
      }
      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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (IdStr.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(IdStr);
      }
      if (Lan.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Lan);
      }
      if (LanDoc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LanDoc);
      }
      if (SubtitleUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SubtitleUrl);
      }
      if (author_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(Author);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc) {
        output.WriteRawTag(56);
        output.WriteEnum((int) Type);
      }
      if (LanDocBrief.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(LanDocBrief);
      }
      if (AiType != global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal) {
        output.WriteRawTag(72);
        output.WriteEnum((int) AiType);
      }
      if (AiStatus != global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None) {
        output.WriteRawTag(80);
        output.WriteEnum((int) AiStatus);
      }
      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 != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (IdStr.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IdStr);
      }
      if (Lan.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Lan);
      }
      if (LanDoc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanDoc);
      }
      if (SubtitleUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SubtitleUrl);
      }
      if (author_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Author);
      }
      if (Type != global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
      }
      if (LanDocBrief.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanDocBrief);
      }
      if (AiType != global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AiType);
      }
      if (AiStatus != global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AiStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SubtitleItem other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.IdStr.Length != 0) {
        IdStr = other.IdStr;
      }
      if (other.Lan.Length != 0) {
        Lan = other.Lan;
      }
      if (other.LanDoc.Length != 0) {
        LanDoc = other.LanDoc;
      }
      if (other.SubtitleUrl.Length != 0) {
        SubtitleUrl = other.SubtitleUrl;
      }
      if (other.author_ != null) {
        if (author_ == null) {
          Author = new global::Bilibili.Community.Service.Dm.V1.UserInfo();
        }
        Author.MergeFrom(other.Author);
      }
      if (other.Type != global::Bilibili.Community.Service.Dm.V1.SubtitleType.Cc) {
        Type = other.Type;
      }
      if (other.LanDocBrief.Length != 0) {
        LanDocBrief = other.LanDocBrief;
      }
      if (other.AiType != global::Bilibili.Community.Service.Dm.V1.SubtitleAiType.Normal) {
        AiType = other.AiType;
      }
      if (other.AiStatus != global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus.None) {
        AiStatus = other.AiStatus;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            IdStr = input.ReadString();
            break;
          }
          case 26: {
            Lan = input.ReadString();
            break;
          }
          case 34: {
            LanDoc = input.ReadString();
            break;
          }
          case 42: {
            SubtitleUrl = input.ReadString();
            break;
          }
          case 50: {
            if (author_ == null) {
              Author = new global::Bilibili.Community.Service.Dm.V1.UserInfo();
            }
            input.ReadMessage(Author);
            break;
          }
          case 56: {
            Type = (global::Bilibili.Community.Service.Dm.V1.SubtitleType) input.ReadEnum();
            break;
          }
          case 66: {
            LanDocBrief = input.ReadString();
            break;
          }
          case 72: {
            AiType = (global::Bilibili.Community.Service.Dm.V1.SubtitleAiType) input.ReadEnum();
            break;
          }
          case 80: {
            AiStatus = (global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus) 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            IdStr = input.ReadString();
            break;
          }
          case 26: {
            Lan = input.ReadString();
            break;
          }
          case 34: {
            LanDoc = input.ReadString();
            break;
          }
          case 42: {
            SubtitleUrl = input.ReadString();
            break;
          }
          case 50: {
            if (author_ == null) {
              Author = new global::Bilibili.Community.Service.Dm.V1.UserInfo();
            }
            input.ReadMessage(Author);
            break;
          }
          case 56: {
            Type = (global::Bilibili.Community.Service.Dm.V1.SubtitleType) input.ReadEnum();
            break;
          }
          case 66: {
            LanDocBrief = input.ReadString();
            break;
          }
          case 72: {
            AiType = (global::Bilibili.Community.Service.Dm.V1.SubtitleAiType) input.ReadEnum();
            break;
          }
          case 80: {
            AiStatus = (global::Bilibili.Community.Service.Dm.V1.SubtitleAiStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 TextInput() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TextInput(TextInput other) : this() {
      portraitPlaceholder_ = other.portraitPlaceholder_.Clone();
      landscapePlaceholder_ = other.landscapePlaceholder_.Clone();
      renderType_ = other.renderType_;
      placeholderPost_ = other.placeholderPost_;
      show_ = other.show_;
      avatar_ = other.avatar_.Clone();
      postStatus_ = other.postStatus_;
      label_ = other.label_ != null ? other.label_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "portrait_placeholder" field.</summary>
    public const int PortraitPlaceholderFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_portraitPlaceholder_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> portraitPlaceholder_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitPlaceholder {
      get { return portraitPlaceholder_; }
    }

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

    /// <summary>Field number for the "render_type" field.</summary>
    public const int RenderTypeFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.RenderType renderType_ = global::Bilibili.Community.Service.Dm.V1.RenderType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.RenderType RenderType {
      get { return renderType_; }
      set {
        renderType_ = value;
      }
    }

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

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

    /// <summary>Field number for the "avatar" field.</summary>
    public const int AvatarFieldNumber = 6;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Avatar> _repeated_avatar_codec
        = pb::FieldCodec.ForMessage(50, global::Bilibili.Community.Service.Dm.V1.Avatar.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar> avatar_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar> Avatar {
      get { return avatar_; }
    }

    /// <summary>Field number for the "post_status" field.</summary>
    public const int PostStatusFieldNumber = 7;
    private global::Bilibili.Community.Service.Dm.V1.PostStatus postStatus_ = global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.PostStatus PostStatus {
      get { return postStatus_; }
      set {
        postStatus_ = value;
      }
    }

    /// <summary>Field number for the "label" field.</summary>
    public const int LabelFieldNumber = 8;
    private global::Bilibili.Community.Service.Dm.V1.Label label_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.Label Label {
      get { return label_; }
      set {
        label_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TextInput other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!portraitPlaceholder_.Equals(other.portraitPlaceholder_)) return false;
      if(!landscapePlaceholder_.Equals(other.landscapePlaceholder_)) return false;
      if (RenderType != other.RenderType) return false;
      if (PlaceholderPost != other.PlaceholderPost) return false;
      if (Show != other.Show) return false;
      if(!avatar_.Equals(other.avatar_)) return false;
      if (PostStatus != other.PostStatus) return false;
      if (!object.Equals(Label, other.Label)) 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 ^= portraitPlaceholder_.GetHashCode();
      hash ^= landscapePlaceholder_.GetHashCode();
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) hash ^= RenderType.GetHashCode();
      if (PlaceholderPost != false) hash ^= PlaceholderPost.GetHashCode();
      if (Show != false) hash ^= Show.GetHashCode();
      hash ^= avatar_.GetHashCode();
      if (PostStatus != global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal) hash ^= PostStatus.GetHashCode();
      if (label_ != null) hash ^= Label.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
      portraitPlaceholder_.WriteTo(output, _repeated_portraitPlaceholder_codec);
      landscapePlaceholder_.WriteTo(output, _repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) RenderType);
      }
      if (PlaceholderPost != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlaceholderPost);
      }
      if (Show != false) {
        output.WriteRawTag(40);
        output.WriteBool(Show);
      }
      avatar_.WriteTo(output, _repeated_avatar_codec);
      if (PostStatus != global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal) {
        output.WriteRawTag(56);
        output.WriteEnum((int) PostStatus);
      }
      if (label_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Label);
      }
      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) {
      portraitPlaceholder_.WriteTo(ref output, _repeated_portraitPlaceholder_codec);
      landscapePlaceholder_.WriteTo(ref output, _repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) RenderType);
      }
      if (PlaceholderPost != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlaceholderPost);
      }
      if (Show != false) {
        output.WriteRawTag(40);
        output.WriteBool(Show);
      }
      avatar_.WriteTo(ref output, _repeated_avatar_codec);
      if (PostStatus != global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal) {
        output.WriteRawTag(56);
        output.WriteEnum((int) PostStatus);
      }
      if (label_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(Label);
      }
      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 += portraitPlaceholder_.CalculateSize(_repeated_portraitPlaceholder_codec);
      size += landscapePlaceholder_.CalculateSize(_repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RenderType);
      }
      if (PlaceholderPost != false) {
        size += 1 + 1;
      }
      if (Show != false) {
        size += 1 + 1;
      }
      size += avatar_.CalculateSize(_repeated_avatar_codec);
      if (PostStatus != global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PostStatus);
      }
      if (label_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Label);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TextInput other) {
      if (other == null) {
        return;
      }
      portraitPlaceholder_.Add(other.portraitPlaceholder_);
      landscapePlaceholder_.Add(other.landscapePlaceholder_);
      if (other.RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        RenderType = other.RenderType;
      }
      if (other.PlaceholderPost != false) {
        PlaceholderPost = other.PlaceholderPost;
      }
      if (other.Show != false) {
        Show = other.Show;
      }
      avatar_.Add(other.avatar_);
      if (other.PostStatus != global::Bilibili.Community.Service.Dm.V1.PostStatus.Normal) {
        PostStatus = other.PostStatus;
      }
      if (other.label_ != null) {
        if (label_ == null) {
          Label = new global::Bilibili.Community.Service.Dm.V1.Label();
        }
        Label.MergeFrom(other.Label);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            portraitPlaceholder_.AddEntriesFrom(input, _repeated_portraitPlaceholder_codec);
            break;
          }
          case 18: {
            landscapePlaceholder_.AddEntriesFrom(input, _repeated_landscapePlaceholder_codec);
            break;
          }
          case 24: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 32: {
            PlaceholderPost = input.ReadBool();
            break;
          }
          case 40: {
            Show = input.ReadBool();
            break;
          }
          case 50: {
            avatar_.AddEntriesFrom(input, _repeated_avatar_codec);
            break;
          }
          case 56: {
            PostStatus = (global::Bilibili.Community.Service.Dm.V1.PostStatus) input.ReadEnum();
            break;
          }
          case 66: {
            if (label_ == null) {
              Label = new global::Bilibili.Community.Service.Dm.V1.Label();
            }
            input.ReadMessage(Label);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            portraitPlaceholder_.AddEntriesFrom(ref input, _repeated_portraitPlaceholder_codec);
            break;
          }
          case 18: {
            landscapePlaceholder_.AddEntriesFrom(ref input, _repeated_landscapePlaceholder_codec);
            break;
          }
          case 24: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 32: {
            PlaceholderPost = input.ReadBool();
            break;
          }
          case 40: {
            Show = input.ReadBool();
            break;
          }
          case 50: {
            avatar_.AddEntriesFrom(ref input, _repeated_avatar_codec);
            break;
          }
          case 56: {
            PostStatus = (global::Bilibili.Community.Service.Dm.V1.PostStatus) input.ReadEnum();
            break;
          }
          case 66: {
            if (label_ == null) {
              Label = new global::Bilibili.Community.Service.Dm.V1.Label();
            }
            input.ReadMessage(Label);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 TextInputV2() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TextInputV2(TextInputV2 other) : this() {
      portraitPlaceholder_ = other.portraitPlaceholder_.Clone();
      landscapePlaceholder_ = other.landscapePlaceholder_.Clone();
      renderType_ = other.renderType_;
      placeholderPost_ = other.placeholderPost_;
      avatar_ = other.avatar_.Clone();
      textInputLimit_ = other.textInputLimit_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "portrait_placeholder" field.</summary>
    public const int PortraitPlaceholderFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_portraitPlaceholder_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> portraitPlaceholder_ = new pbc::RepeatedField<string>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PortraitPlaceholder {
      get { return portraitPlaceholder_; }
    }

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

    /// <summary>Field number for the "render_type" field.</summary>
    public const int RenderTypeFieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.RenderType renderType_ = global::Bilibili.Community.Service.Dm.V1.RenderType.None;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.RenderType RenderType {
      get { return renderType_; }
      set {
        renderType_ = value;
      }
    }

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

    /// <summary>Field number for the "avatar" field.</summary>
    public const int AvatarFieldNumber = 5;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.Avatar> _repeated_avatar_codec
        = pb::FieldCodec.ForMessage(42, global::Bilibili.Community.Service.Dm.V1.Avatar.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar> avatar_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar>();
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.Avatar> Avatar {
      get { return avatar_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TextInputV2 other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!portraitPlaceholder_.Equals(other.portraitPlaceholder_)) return false;
      if(!landscapePlaceholder_.Equals(other.landscapePlaceholder_)) return false;
      if (RenderType != other.RenderType) return false;
      if (PlaceholderPost != other.PlaceholderPost) return false;
      if(!avatar_.Equals(other.avatar_)) return false;
      if (TextInputLimit != other.TextInputLimit) 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 ^= portraitPlaceholder_.GetHashCode();
      hash ^= landscapePlaceholder_.GetHashCode();
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) hash ^= RenderType.GetHashCode();
      if (PlaceholderPost != false) hash ^= PlaceholderPost.GetHashCode();
      hash ^= avatar_.GetHashCode();
      if (TextInputLimit != 0) hash ^= TextInputLimit.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
      portraitPlaceholder_.WriteTo(output, _repeated_portraitPlaceholder_codec);
      landscapePlaceholder_.WriteTo(output, _repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) RenderType);
      }
      if (PlaceholderPost != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlaceholderPost);
      }
      avatar_.WriteTo(output, _repeated_avatar_codec);
      if (TextInputLimit != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TextInputLimit);
      }
      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) {
      portraitPlaceholder_.WriteTo(ref output, _repeated_portraitPlaceholder_codec);
      landscapePlaceholder_.WriteTo(ref output, _repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        output.WriteRawTag(24);
        output.WriteEnum((int) RenderType);
      }
      if (PlaceholderPost != false) {
        output.WriteRawTag(32);
        output.WriteBool(PlaceholderPost);
      }
      avatar_.WriteTo(ref output, _repeated_avatar_codec);
      if (TextInputLimit != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TextInputLimit);
      }
      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 += portraitPlaceholder_.CalculateSize(_repeated_portraitPlaceholder_codec);
      size += landscapePlaceholder_.CalculateSize(_repeated_landscapePlaceholder_codec);
      if (RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RenderType);
      }
      if (PlaceholderPost != false) {
        size += 1 + 1;
      }
      size += avatar_.CalculateSize(_repeated_avatar_codec);
      if (TextInputLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TextInputLimit);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TextInputV2 other) {
      if (other == null) {
        return;
      }
      portraitPlaceholder_.Add(other.portraitPlaceholder_);
      landscapePlaceholder_.Add(other.landscapePlaceholder_);
      if (other.RenderType != global::Bilibili.Community.Service.Dm.V1.RenderType.None) {
        RenderType = other.RenderType;
      }
      if (other.PlaceholderPost != false) {
        PlaceholderPost = other.PlaceholderPost;
      }
      avatar_.Add(other.avatar_);
      if (other.TextInputLimit != 0) {
        TextInputLimit = other.TextInputLimit;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            portraitPlaceholder_.AddEntriesFrom(input, _repeated_portraitPlaceholder_codec);
            break;
          }
          case 18: {
            landscapePlaceholder_.AddEntriesFrom(input, _repeated_landscapePlaceholder_codec);
            break;
          }
          case 24: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 32: {
            PlaceholderPost = input.ReadBool();
            break;
          }
          case 42: {
            avatar_.AddEntriesFrom(input, _repeated_avatar_codec);
            break;
          }
          case 48: {
            TextInputLimit = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            portraitPlaceholder_.AddEntriesFrom(ref input, _repeated_portraitPlaceholder_codec);
            break;
          }
          case 18: {
            landscapePlaceholder_.AddEntriesFrom(ref input, _repeated_landscapePlaceholder_codec);
            break;
          }
          case 24: {
            RenderType = (global::Bilibili.Community.Service.Dm.V1.RenderType) input.ReadEnum();
            break;
          }
          case 32: {
            PlaceholderPost = input.ReadBool();
            break;
          }
          case 42: {
            avatar_.AddEntriesFrom(ref input, _repeated_avatar_codec);
            break;
          }
          case 48: {
            TextInputLimit = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 Toast() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Toast(Toast other) : this() {
      text_ = other.text_;
      duration_ = other.duration_;
      show_ = other.show_;
      button_ = other.button_ != null ? other.button_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

    /// <summary>Field number for the "button" field.</summary>
    public const int ButtonFieldNumber = 4;
    private global::Bilibili.Community.Service.Dm.V1.Button button_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.Button Button {
      get { return button_; }
      set {
        button_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Toast other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Duration != 0) {
        Duration = other.Duration;
      }
      if (other.Show != false) {
        Show = other.Show;
      }
      if (other.button_ != null) {
        if (button_ == null) {
          Button = new global::Bilibili.Community.Service.Dm.V1.Button();
        }
        Button.MergeFrom(other.Button);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Duration = input.ReadInt32();
            break;
          }
          case 24: {
            Show = input.ReadBool();
            break;
          }
          case 34: {
            if (button_ == null) {
              Button = new global::Bilibili.Community.Service.Dm.V1.Button();
            }
            input.ReadMessage(Button);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Duration = input.ReadInt32();
            break;
          }
          case 24: {
            Show = input.ReadBool();
            break;
          }
          case 34: {
            if (button_ == null) {
              Button = new global::Bilibili.Community.Service.Dm.V1.Button();
            }
            input.ReadMessage(Button);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 ToastButtonV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ToastButtonV2 other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Action != 0) {
        Action = other.Action;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Action = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Action = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 ToastV2() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    /// <summary>Field number for the "toast_button_v2" field.</summary>
    public const int ToastButtonV2FieldNumber = 3;
    private global::Bilibili.Community.Service.Dm.V1.ToastButtonV2 toastButtonV2_;
    /// <summary>
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Bilibili.Community.Service.Dm.V1.ToastButtonV2 ToastButtonV2 {
      get { return toastButtonV2_; }
      set {
        toastButtonV2_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ToastV2 other) {
      if (other == null) {
        return;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      if (other.Duration != 0) {
        Duration = other.Duration;
      }
      if (other.toastButtonV2_ != null) {
        if (toastButtonV2_ == null) {
          ToastButtonV2 = new global::Bilibili.Community.Service.Dm.V1.ToastButtonV2();
        }
        ToastButtonV2.MergeFrom(other.ToastButtonV2);
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Duration = input.ReadInt32();
            break;
          }
          case 26: {
            if (toastButtonV2_ == null) {
              ToastButtonV2 = new global::Bilibili.Community.Service.Dm.V1.ToastButtonV2();
            }
            input.ReadMessage(ToastButtonV2);
            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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Text = input.ReadString();
            break;
          }
          case 16: {
            Duration = input.ReadInt32();
            break;
          }
          case 26: {
            if (toastButtonV2_ == null) {
              ToastButtonV2 = new global::Bilibili.Community.Service.Dm.V1.ToastButtonV2();
            }
            input.ReadMessage(ToastButtonV2);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 UserInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UserInfo(UserInfo other) : this() {
      mid_ = other.mid_;
      name_ = other.name_;
      sex_ = other.sex_;
      face_ = other.face_;
      sign_ = other.sign_;
      rank_ = other.rank_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// <summary>Field number for the "mid" field.</summary>
    public const int MidFieldNumber = 1;
    private long mid_;
    /// <summary>
    /// 用户mid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Mid {
      get { return mid_; }
      set {
        mid_ = value;
      }
    }

    /// <summary>Field number for the "name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    /// <summary>
    /// 用户昵称
    /// </summary>
    [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 "sex" field.</summary>
    public const int SexFieldNumber = 3;
    private string sex_ = "";
    /// <summary>
    /// 用户性别
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Sex {
      get { return sex_; }
      set {
        sex_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "face" field.</summary>
    public const int FaceFieldNumber = 4;
    private string face_ = "";
    /// <summary>
    /// 用户头像url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Face {
      get { return face_; }
      set {
        face_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "sign" field.</summary>
    public const int SignFieldNumber = 5;
    private string sign_ = "";
    /// <summary>
    /// 用户签名
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Sign {
      get { return sign_; }
      set {
        sign_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "rank" field.</summary>
    public const int RankFieldNumber = 6;
    private int rank_;
    /// <summary>
    /// 用户等级
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rank {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UserInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Mid != other.Mid) return false;
      if (Name != other.Name) return false;
      if (Sex != other.Sex) return false;
      if (Face != other.Face) return false;
      if (Sign != other.Sign) return false;
      if (Rank != other.Rank) 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 (Mid != 0L) hash ^= Mid.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Sex.Length != 0) hash ^= Sex.GetHashCode();
      if (Face.Length != 0) hash ^= Face.GetHashCode();
      if (Sign.Length != 0) hash ^= Sign.GetHashCode();
      if (Rank != 0) hash ^= Rank.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 (Mid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Mid);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sex.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Sex);
      }
      if (Face.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Face);
      }
      if (Sign.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Sign);
      }
      if (Rank != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Rank);
      }
      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 (Mid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Mid);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sex.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Sex);
      }
      if (Face.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Face);
      }
      if (Sign.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Sign);
      }
      if (Rank != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Rank);
      }
      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 (Mid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Mid);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Sex.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Sex);
      }
      if (Face.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Face);
      }
      if (Sign.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Sign);
      }
      if (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UserInfo other) {
      if (other == null) {
        return;
      }
      if (other.Mid != 0L) {
        Mid = other.Mid;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Sex.Length != 0) {
        Sex = other.Sex;
      }
      if (other.Face.Length != 0) {
        Face = other.Face;
      }
      if (other.Sign.Length != 0) {
        Sign = other.Sign;
      }
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Mid = input.ReadInt64();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Sex = input.ReadString();
            break;
          }
          case 34: {
            Face = input.ReadString();
            break;
          }
          case 42: {
            Sign = input.ReadString();
            break;
          }
          case 48: {
            Rank = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Mid = input.ReadInt64();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Sex = input.ReadString();
            break;
          }
          case 34: {
            Face = input.ReadString();
            break;
          }
          case 42: {
            Sign = input.ReadString();
            break;
          }
          case 48: {
            Rank = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// 智能防挡弹幕蒙版信息
  /// </summary>
  public sealed partial class VideoMask : pb::IMessage<VideoMask>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VideoMask> _parser = new pb::MessageParser<VideoMask>(() => new VideoMask());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VideoMask> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 VideoMask() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "cid" field.</summary>
    public const int CidFieldNumber = 1;
    private long cid_;
    /// <summary>
    /// 视频cid
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Cid {
      get { return cid_; }
      set {
        cid_ = value;
      }
    }

    /// <summary>Field number for the "plat" field.</summary>
    public const int PlatFieldNumber = 2;
    private int plat_;
    /// <summary>
    /// 平台
    /// 0:web端 1:客户端
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Plat {
      get { return plat_; }
      set {
        plat_ = value;
      }
    }

    /// <summary>Field number for the "fps" field.</summary>
    public const int FpsFieldNumber = 3;
    private int fps_;
    /// <summary>
    /// 帧率
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Fps {
      get { return fps_; }
      set {
        fps_ = value;
      }
    }

    /// <summary>Field number for the "time" field.</summary>
    public const int TimeFieldNumber = 4;
    private long time_;
    /// <summary>
    /// 间隔时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Time {
      get { return time_; }
      set {
        time_ = value;
      }
    }

    /// <summary>Field number for the "mask_url" field.</summary>
    public const int MaskUrlFieldNumber = 5;
    private string maskUrl_ = "";
    /// <summary>
    /// 蒙版url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MaskUrl {
      get { return maskUrl_; }
      set {
        maskUrl_ = 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 VideoMask);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VideoMask other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Cid != other.Cid) return false;
      if (Plat != other.Plat) return false;
      if (Fps != other.Fps) return false;
      if (Time != other.Time) return false;
      if (MaskUrl != other.MaskUrl) 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 (Cid != 0L) hash ^= Cid.GetHashCode();
      if (Plat != 0) hash ^= Plat.GetHashCode();
      if (Fps != 0) hash ^= Fps.GetHashCode();
      if (Time != 0L) hash ^= Time.GetHashCode();
      if (MaskUrl.Length != 0) hash ^= MaskUrl.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 (Cid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Cid);
      }
      if (Plat != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Plat);
      }
      if (Fps != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Fps);
      }
      if (Time != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(Time);
      }
      if (MaskUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MaskUrl);
      }
      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 (Cid != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Cid);
      }
      if (Plat != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Plat);
      }
      if (Fps != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Fps);
      }
      if (Time != 0L) {
        output.WriteRawTag(32);
        output.WriteInt64(Time);
      }
      if (MaskUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MaskUrl);
      }
      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 (Cid != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Cid);
      }
      if (Plat != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Plat);
      }
      if (Fps != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Fps);
      }
      if (Time != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Time);
      }
      if (MaskUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MaskUrl);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VideoMask other) {
      if (other == null) {
        return;
      }
      if (other.Cid != 0L) {
        Cid = other.Cid;
      }
      if (other.Plat != 0) {
        Plat = other.Plat;
      }
      if (other.Fps != 0) {
        Fps = other.Fps;
      }
      if (other.Time != 0L) {
        Time = other.Time;
      }
      if (other.MaskUrl.Length != 0) {
        MaskUrl = other.MaskUrl;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Cid = input.ReadInt64();
            break;
          }
          case 16: {
            Plat = input.ReadInt32();
            break;
          }
          case 24: {
            Fps = input.ReadInt32();
            break;
          }
          case 32: {
            Time = input.ReadInt64();
            break;
          }
          case 42: {
            MaskUrl = 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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Cid = input.ReadInt64();
            break;
          }
          case 16: {
            Plat = input.ReadInt32();
            break;
          }
          case 24: {
            Fps = input.ReadInt32();
            break;
          }
          case 32: {
            Time = input.ReadInt64();
            break;
          }
          case 42: {
            MaskUrl = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Bilibili.Community.Service.Dm.V1.MyReflection.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 VideoSubtitle() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "lan" field.</summary>
    public const int LanFieldNumber = 1;
    private string lan_ = "";
    /// <summary>
    /// 视频原语言代码
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Lan {
      get { return lan_; }
      set {
        lan_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lanDoc" field.</summary>
    public const int LanDocFieldNumber = 2;
    private string lanDoc_ = "";
    /// <summary>
    /// 视频原语言
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanDoc {
      get { return lanDoc_; }
      set {
        lanDoc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "subtitles" field.</summary>
    public const int SubtitlesFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Bilibili.Community.Service.Dm.V1.SubtitleItem> _repeated_subtitles_codec
        = pb::FieldCodec.ForMessage(26, global::Bilibili.Community.Service.Dm.V1.SubtitleItem.Parser);
    private readonly pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.SubtitleItem> subtitles_ = new pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.SubtitleItem>();
    /// <summary>
    /// 视频字幕列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Bilibili.Community.Service.Dm.V1.SubtitleItem> Subtitles {
      get { return subtitles_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VideoSubtitle other) {
      if (other == null) {
        return;
      }
      if (other.Lan.Length != 0) {
        Lan = other.Lan;
      }
      if (other.LanDoc.Length != 0) {
        LanDoc = other.LanDoc;
      }
      subtitles_.Add(other.subtitles_);
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Lan = input.ReadString();
            break;
          }
          case 18: {
            LanDoc = input.ReadString();
            break;
          }
          case 26: {
            subtitles_.AddEntriesFrom(input, _repeated_subtitles_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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Lan = input.ReadString();
            break;
          }
          case 18: {
            LanDoc = input.ReadString();
            break;
          }
          case 26: {
            subtitles_.AddEntriesFrom(ref input, _repeated_subtitles_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
