// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: dota_gcmessages_server.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.GC.Dota.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPoorNetworkConditions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EPoorNetworkConditionsType.k_EPoorNetworkConditions_None)]
        public EPoorNetworkConditionsType detection_type
        {
            get => __pbn__detection_type ?? EPoorNetworkConditionsType.k_EPoorNetworkConditions_None;
            set => __pbn__detection_type = value;
        }
        public bool ShouldSerializedetection_type() => __pbn__detection_type != null;
        public void Resetdetection_type() => __pbn__detection_type = null;
        private EPoorNetworkConditionsType? __pbn__detection_type;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
            public ENetworkDisconnectionReason disconnect_reason
            {
                get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
                set => __pbn__disconnect_reason = value;
            }
            public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
            public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
            private ENetworkDisconnectionReason? __pbn__disconnect_reason;

            [global::ProtoBuf.ProtoMember(3)]
            public uint num_bad_intervals
            {
                get => __pbn__num_bad_intervals.GetValueOrDefault();
                set => __pbn__num_bad_intervals = value;
            }
            public bool ShouldSerializenum_bad_intervals() => __pbn__num_bad_intervals != null;
            public void Resetnum_bad_intervals() => __pbn__num_bad_intervals = null;
            private uint? __pbn__num_bad_intervals;

            [global::ProtoBuf.ProtoMember(4)]
            public uint peak_loss_pct
            {
                get => __pbn__peak_loss_pct.GetValueOrDefault();
                set => __pbn__peak_loss_pct = value;
            }
            public bool ShouldSerializepeak_loss_pct() => __pbn__peak_loss_pct != null;
            public void Resetpeak_loss_pct() => __pbn__peak_loss_pct = null;
            private uint? __pbn__peak_loss_pct;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameserverCrash : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong lobby_id
        {
            get => __pbn__lobby_id.GetValueOrDefault();
            set => __pbn__lobby_id = value;
        }
        public bool ShouldSerializelobby_id() => __pbn__lobby_id != null;
        public void Resetlobby_id() => __pbn__lobby_id = null;
        private ulong? __pbn__lobby_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameState.DOTA_GAMERULES_STATE_INIT)]
        public DOTA_GameState game_state
        {
            get => __pbn__game_state ?? DOTA_GameState.DOTA_GAMERULES_STATE_INIT;
            set => __pbn__game_state = value;
        }
        public bool ShouldSerializegame_state() => __pbn__game_state != null;
        public void Resetgame_state() => __pbn__game_state = null;
        private DOTA_GameState? __pbn__game_state;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint sentinel_save_time
        {
            get => __pbn__sentinel_save_time.GetValueOrDefault();
            set => __pbn__sentinel_save_time = value;
        }
        public bool ShouldSerializesentinel_save_time() => __pbn__sentinel_save_time != null;
        public void Resetsentinel_save_time() => __pbn__sentinel_save_time = null;
        private uint? __pbn__sentinel_save_time;

        [global::ProtoBuf.ProtoMember(11, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong custom_game_id
        {
            get => __pbn__custom_game_id.GetValueOrDefault();
            set => __pbn__custom_game_id = value;
        }
        public bool ShouldSerializecustom_game_id() => __pbn__custom_game_id != null;
        public void Resetcustom_game_id() => __pbn__custom_game_id = null;
        private ulong? __pbn__custom_game_id;

        [global::ProtoBuf.ProtoMember(12)]
        public uint tournament_id
        {
            get => __pbn__tournament_id.GetValueOrDefault();
            set => __pbn__tournament_id = value;
        }
        public bool ShouldSerializetournament_id() => __pbn__tournament_id != null;
        public void Resettournament_id() => __pbn__tournament_id = null;
        private uint? __pbn__tournament_id;

        [global::ProtoBuf.ProtoMember(5, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong server_steam_id
        {
            get => __pbn__server_steam_id.GetValueOrDefault();
            set => __pbn__server_steam_id = value;
        }
        public bool ShouldSerializeserver_steam_id() => __pbn__server_steam_id != null;
        public void Resetserver_steam_id() => __pbn__server_steam_id = null;
        private ulong? __pbn__server_steam_id;

        [global::ProtoBuf.ProtoMember(6, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_public_ip_addr
        {
            get => __pbn__server_public_ip_addr.GetValueOrDefault();
            set => __pbn__server_public_ip_addr = value;
        }
        public bool ShouldSerializeserver_public_ip_addr() => __pbn__server_public_ip_addr != null;
        public void Resetserver_public_ip_addr() => __pbn__server_public_ip_addr = null;
        private uint? __pbn__server_public_ip_addr;

        [global::ProtoBuf.ProtoMember(7)]
        public uint server_port
        {
            get => __pbn__server_port.GetValueOrDefault();
            set => __pbn__server_port = value;
        }
        public bool ShouldSerializeserver_port() => __pbn__server_port != null;
        public void Resetserver_port() => __pbn__server_port = null;
        private uint? __pbn__server_port;

        [global::ProtoBuf.ProtoMember(8)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(9)]
        public uint pid
        {
            get => __pbn__pid.GetValueOrDefault();
            set => __pbn__pid = value;
        }
        public bool ShouldSerializepid() => __pbn__pid != null;
        public void Resetpid() => __pbn__pid = null;
        private uint? __pbn__pid;

        [global::ProtoBuf.ProtoMember(10)]
        public uint engine
        {
            get => __pbn__engine.GetValueOrDefault();
            set => __pbn__engine = value;
        }
        public bool ShouldSerializeengine() => __pbn__engine != null;
        public void Resetengine() => __pbn__engine = null;
        private uint? __pbn__engine;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgConnectedPlayers : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> connected_players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<Player> disconnected_players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameState.DOTA_GAMERULES_STATE_INIT)]
        public DOTA_GameState game_state
        {
            get => __pbn__game_state ?? DOTA_GameState.DOTA_GAMERULES_STATE_INIT;
            set => __pbn__game_state = value;
        }
        public bool ShouldSerializegame_state() => __pbn__game_state != null;
        public void Resetgame_state() => __pbn__game_state = null;
        private DOTA_GameState? __pbn__game_state;

        [global::ProtoBuf.ProtoMember(6)]
        public bool first_blood_happened
        {
            get => __pbn__first_blood_happened.GetValueOrDefault();
            set => __pbn__first_blood_happened = value;
        }
        public bool ShouldSerializefirst_blood_happened() => __pbn__first_blood_happened != null;
        public void Resetfirst_blood_happened() => __pbn__first_blood_happened = null;
        private bool? __pbn__first_blood_happened;

        [global::ProtoBuf.ProtoMember(10)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(SendReason.INVALID)]
        public SendReason send_reason
        {
            get => __pbn__send_reason ?? SendReason.INVALID;
            set => __pbn__send_reason = value;
        }
        public bool ShouldSerializesend_reason() => __pbn__send_reason != null;
        public void Resetsend_reason() => __pbn__send_reason = null;
        private SendReason? __pbn__send_reason;

        [global::ProtoBuf.ProtoMember(11)]
        public uint radiant_kills
        {
            get => __pbn__radiant_kills.GetValueOrDefault();
            set => __pbn__radiant_kills = value;
        }
        public bool ShouldSerializeradiant_kills() => __pbn__radiant_kills != null;
        public void Resetradiant_kills() => __pbn__radiant_kills = null;
        private uint? __pbn__radiant_kills;

        [global::ProtoBuf.ProtoMember(12)]
        public uint dire_kills
        {
            get => __pbn__dire_kills.GetValueOrDefault();
            set => __pbn__dire_kills = value;
        }
        public bool ShouldSerializedire_kills() => __pbn__dire_kills != null;
        public void Resetdire_kills() => __pbn__dire_kills = null;
        private uint? __pbn__dire_kills;

        [global::ProtoBuf.ProtoMember(14)]
        public int radiant_lead
        {
            get => __pbn__radiant_lead.GetValueOrDefault();
            set => __pbn__radiant_lead = value;
        }
        public bool ShouldSerializeradiant_lead() => __pbn__radiant_lead != null;
        public void Resetradiant_lead() => __pbn__radiant_lead = null;
        private int? __pbn__radiant_lead;

        [global::ProtoBuf.ProtoMember(15)]
        public uint building_state
        {
            get => __pbn__building_state.GetValueOrDefault();
            set => __pbn__building_state = value;
        }
        public bool ShouldSerializebuilding_state() => __pbn__building_state != null;
        public void Resetbuilding_state() => __pbn__building_state = null;
        private uint? __pbn__building_state;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steam_id
            {
                get => __pbn__steam_id.GetValueOrDefault();
                set => __pbn__steam_id = value;
            }
            public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
            public void Resetsteam_id() => __pbn__steam_id = null;
            private ulong? __pbn__steam_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public CMsgLeaverState leaver_state { get; set; }

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
            public ENetworkDisconnectionReason disconnect_reason
            {
                get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
                set => __pbn__disconnect_reason = value;
            }
            public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
            public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
            private ENetworkDisconnectionReason? __pbn__disconnect_reason;

        }

        [global::ProtoBuf.ProtoContract()]
        public enum SendReason
        {
            INVALID = 0,
            HEARTBEAT = 1,
            GAME_STATE = 2,
            FIRST_BLOOD = 3,
            PLAYER_CONNECTED = 4,
            PLAYER_HERO = 5,
            PLAYER_DISCONNECTED_CONSEQUENCES = 6,
            PLAYER_DISCONNECTED_NOCONSEQUENCES = 7,
            GAMESTATE_TIMEOUT = 10,
            MASS_DISCONNECT = 11,
            KILLS = 13,
            BUILDING_STATE = 14,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_public_ip_addr
        {
            get => __pbn__server_public_ip_addr.GetValueOrDefault();
            set => __pbn__server_public_ip_addr = value;
        }
        public bool ShouldSerializeserver_public_ip_addr() => __pbn__server_public_ip_addr != null;
        public void Resetserver_public_ip_addr() => __pbn__server_public_ip_addr = null;
        private uint? __pbn__server_public_ip_addr;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_private_ip_addr
        {
            get => __pbn__server_private_ip_addr.GetValueOrDefault();
            set => __pbn__server_private_ip_addr = value;
        }
        public bool ShouldSerializeserver_private_ip_addr() => __pbn__server_private_ip_addr != null;
        public void Resetserver_private_ip_addr() => __pbn__server_private_ip_addr = null;
        private uint? __pbn__server_private_ip_addr;

        [global::ProtoBuf.ProtoMember(3)]
        public uint server_port
        {
            get => __pbn__server_port.GetValueOrDefault();
            set => __pbn__server_port = value;
        }
        public bool ShouldSerializeserver_port() => __pbn__server_port != null;
        public void Resetserver_port() => __pbn__server_port = null;
        private uint? __pbn__server_port;

        [global::ProtoBuf.ProtoMember(4)]
        public uint server_tv_port
        {
            get => __pbn__server_tv_port.GetValueOrDefault();
            set => __pbn__server_tv_port = value;
        }
        public bool ShouldSerializeserver_tv_port() => __pbn__server_tv_port != null;
        public void Resetserver_tv_port() => __pbn__server_tv_port = null;
        private uint? __pbn__server_tv_port;

        [global::ProtoBuf.ProtoMember(22)]
        public uint assigned_server_tv_port
        {
            get => __pbn__assigned_server_tv_port.GetValueOrDefault();
            set => __pbn__assigned_server_tv_port = value;
        }
        public bool ShouldSerializeassigned_server_tv_port() => __pbn__assigned_server_tv_port != null;
        public void Resetassigned_server_tv_port() => __pbn__assigned_server_tv_port = null;
        private uint? __pbn__assigned_server_tv_port;

        [global::ProtoBuf.ProtoMember(27)]
        public byte[] legacy_server_steamdatagram_address
        {
            get => __pbn__legacy_server_steamdatagram_address;
            set => __pbn__legacy_server_steamdatagram_address = value;
        }
        public bool ShouldSerializelegacy_server_steamdatagram_address() => __pbn__legacy_server_steamdatagram_address != null;
        public void Resetlegacy_server_steamdatagram_address() => __pbn__legacy_server_steamdatagram_address = null;
        private byte[] __pbn__legacy_server_steamdatagram_address;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string server_key
        {
            get => __pbn__server_key ?? "";
            set => __pbn__server_key = value;
        }
        public bool ShouldSerializeserver_key() => __pbn__server_key != null;
        public void Resetserver_key() => __pbn__server_key = null;
        private string __pbn__server_key;

        [global::ProtoBuf.ProtoMember(6)]
        public bool server_hibernation
        {
            get => __pbn__server_hibernation.GetValueOrDefault();
            set => __pbn__server_hibernation = value;
        }
        public bool ShouldSerializeserver_hibernation() => __pbn__server_hibernation != null;
        public void Resetserver_hibernation() => __pbn__server_hibernation = null;
        private bool? __pbn__server_hibernation;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(ServerType.UNSPECIFIED)]
        public ServerType server_type
        {
            get => __pbn__server_type ?? ServerType.UNSPECIFIED;
            set => __pbn__server_type = value;
        }
        public bool ShouldSerializeserver_type() => __pbn__server_type != null;
        public void Resetserver_type() => __pbn__server_type = null;
        private ServerType? __pbn__server_type;

        [global::ProtoBuf.ProtoMember(8)]
        public uint server_region
        {
            get => __pbn__server_region.GetValueOrDefault();
            set => __pbn__server_region = value;
        }
        public bool ShouldSerializeserver_region() => __pbn__server_region != null;
        public void Resetserver_region() => __pbn__server_region = null;
        private uint? __pbn__server_region;

        [global::ProtoBuf.ProtoMember(9)]
        public float server_loadavg
        {
            get => __pbn__server_loadavg.GetValueOrDefault();
            set => __pbn__server_loadavg = value;
        }
        public bool ShouldSerializeserver_loadavg() => __pbn__server_loadavg != null;
        public void Resetserver_loadavg() => __pbn__server_loadavg = null;
        private float? __pbn__server_loadavg;

        [global::ProtoBuf.ProtoMember(10)]
        public float server_tv_broadcast_time
        {
            get => __pbn__server_tv_broadcast_time.GetValueOrDefault();
            set => __pbn__server_tv_broadcast_time = value;
        }
        public bool ShouldSerializeserver_tv_broadcast_time() => __pbn__server_tv_broadcast_time != null;
        public void Resetserver_tv_broadcast_time() => __pbn__server_tv_broadcast_time = null;
        private float? __pbn__server_tv_broadcast_time;

        [global::ProtoBuf.ProtoMember(11)]
        public float server_game_time
        {
            get => __pbn__server_game_time.GetValueOrDefault();
            set => __pbn__server_game_time = value;
        }
        public bool ShouldSerializeserver_game_time() => __pbn__server_game_time != null;
        public void Resetserver_game_time() => __pbn__server_game_time = null;
        private float? __pbn__server_game_time;

        [global::ProtoBuf.ProtoMember(12, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong server_relay_connected_steam_id
        {
            get => __pbn__server_relay_connected_steam_id.GetValueOrDefault();
            set => __pbn__server_relay_connected_steam_id = value;
        }
        public bool ShouldSerializeserver_relay_connected_steam_id() => __pbn__server_relay_connected_steam_id != null;
        public void Resetserver_relay_connected_steam_id() => __pbn__server_relay_connected_steam_id = null;
        private ulong? __pbn__server_relay_connected_steam_id;

        [global::ProtoBuf.ProtoMember(13)]
        public uint relay_slots_max
        {
            get => __pbn__relay_slots_max.GetValueOrDefault();
            set => __pbn__relay_slots_max = value;
        }
        public bool ShouldSerializerelay_slots_max() => __pbn__relay_slots_max != null;
        public void Resetrelay_slots_max() => __pbn__relay_slots_max = null;
        private uint? __pbn__relay_slots_max;

        [global::ProtoBuf.ProtoMember(14)]
        public int relays_connected
        {
            get => __pbn__relays_connected.GetValueOrDefault();
            set => __pbn__relays_connected = value;
        }
        public bool ShouldSerializerelays_connected() => __pbn__relays_connected != null;
        public void Resetrelays_connected() => __pbn__relays_connected = null;
        private int? __pbn__relays_connected;

        [global::ProtoBuf.ProtoMember(15)]
        public int relay_clients_connected
        {
            get => __pbn__relay_clients_connected.GetValueOrDefault();
            set => __pbn__relay_clients_connected = value;
        }
        public bool ShouldSerializerelay_clients_connected() => __pbn__relay_clients_connected != null;
        public void Resetrelay_clients_connected() => __pbn__relay_clients_connected = null;
        private int? __pbn__relay_clients_connected;

        [global::ProtoBuf.ProtoMember(16, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong relayed_game_server_steam_id
        {
            get => __pbn__relayed_game_server_steam_id.GetValueOrDefault();
            set => __pbn__relayed_game_server_steam_id = value;
        }
        public bool ShouldSerializerelayed_game_server_steam_id() => __pbn__relayed_game_server_steam_id != null;
        public void Resetrelayed_game_server_steam_id() => __pbn__relayed_game_server_steam_id = null;
        private ulong? __pbn__relayed_game_server_steam_id;

        [global::ProtoBuf.ProtoMember(17)]
        public uint parent_relay_count
        {
            get => __pbn__parent_relay_count.GetValueOrDefault();
            set => __pbn__parent_relay_count = value;
        }
        public bool ShouldSerializeparent_relay_count() => __pbn__parent_relay_count != null;
        public void Resetparent_relay_count() => __pbn__parent_relay_count = null;
        private uint? __pbn__parent_relay_count;

        [global::ProtoBuf.ProtoMember(18, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong tv_secret_code
        {
            get => __pbn__tv_secret_code.GetValueOrDefault();
            set => __pbn__tv_secret_code = value;
        }
        public bool ShouldSerializetv_secret_code() => __pbn__tv_secret_code != null;
        public void Resettv_secret_code() => __pbn__tv_secret_code = null;
        private ulong? __pbn__tv_secret_code;

        [global::ProtoBuf.ProtoMember(19)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(20)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(23)]
        [global::System.ComponentModel.DefaultValue(CustomGames.BOTH)]
        public CustomGames allow_custom_games
        {
            get => __pbn__allow_custom_games ?? CustomGames.BOTH;
            set => __pbn__allow_custom_games = value;
        }
        public bool ShouldSerializeallow_custom_games() => __pbn__allow_custom_games != null;
        public void Resetallow_custom_games() => __pbn__allow_custom_games = null;
        private CustomGames? __pbn__allow_custom_games;

        [global::ProtoBuf.ProtoMember(24)]
        public uint build_version
        {
            get => __pbn__build_version.GetValueOrDefault();
            set => __pbn__build_version = value;
        }
        public bool ShouldSerializebuild_version() => __pbn__build_version != null;
        public void Resetbuild_version() => __pbn__build_version = null;
        private uint? __pbn__build_version;

        [global::ProtoBuf.ProtoMember(25)]
        public uint tf_server_count
        {
            get => __pbn__tf_server_count.GetValueOrDefault();
            set => __pbn__tf_server_count = value;
        }
        public bool ShouldSerializetf_server_count() => __pbn__tf_server_count != null;
        public void Resettf_server_count() => __pbn__tf_server_count = null;
        private uint? __pbn__tf_server_count;

        [global::ProtoBuf.ProtoMember(26)]
        public uint srcds_instance
        {
            get => __pbn__srcds_instance.GetValueOrDefault();
            set => __pbn__srcds_instance = value;
        }
        public bool ShouldSerializesrcds_instance() => __pbn__srcds_instance != null;
        public void Resetsrcds_instance() => __pbn__srcds_instance = null;
        private uint? __pbn__srcds_instance;

        [global::ProtoBuf.ProtoMember(28)]
        public bool dev_force_server_type
        {
            get => __pbn__dev_force_server_type.GetValueOrDefault();
            set => __pbn__dev_force_server_type = value;
        }
        public bool ShouldSerializedev_force_server_type() => __pbn__dev_force_server_type != null;
        public void Resetdev_force_server_type() => __pbn__dev_force_server_type = null;
        private bool? __pbn__dev_force_server_type;

        [global::ProtoBuf.ProtoMember(29)]
        public bool is_recording_match_training_data
        {
            get => __pbn__is_recording_match_training_data.GetValueOrDefault();
            set => __pbn__is_recording_match_training_data = value;
        }
        public bool ShouldSerializeis_recording_match_training_data() => __pbn__is_recording_match_training_data != null;
        public void Resetis_recording_match_training_data() => __pbn__is_recording_match_training_data = null;
        private bool? __pbn__is_recording_match_training_data;

        [global::ProtoBuf.ProtoContract()]
        public enum ServerType
        {
            UNSPECIFIED = 0,
            GAME = 1,
            PROXY = 2,
            TENSORFLOW = 3,
            DOTA_ONLY = 4,
            CUSTOM_GAME_ONLY = 5,
            EVENT_GAME_ONLY = 6,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum CustomGames
        {
            BOTH = 0,
            NONE = 1,
            ONLY = 2,
            EVENT = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeaverDetected : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steam_id
        {
            get => __pbn__steam_id.GetValueOrDefault();
            set => __pbn__steam_id = value;
        }
        public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
        public void Resetsteam_id() => __pbn__steam_id = null;
        private ulong? __pbn__steam_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTALeaverStatus_t.DOTA_LEAVER_NONE)]
        public DOTALeaverStatus_t leaver_status
        {
            get => __pbn__leaver_status ?? DOTALeaverStatus_t.DOTA_LEAVER_NONE;
            set => __pbn__leaver_status = value;
        }
        public bool ShouldSerializeleaver_status() => __pbn__leaver_status != null;
        public void Resetleaver_status() => __pbn__leaver_status = null;
        private DOTALeaverStatus_t? __pbn__leaver_status;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgLeaverState leaver_state { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
        public ENetworkDisconnectionReason disconnect_reason
        {
            get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
            set => __pbn__disconnect_reason = value;
        }
        public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
        public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
        private ENetworkDisconnectionReason? __pbn__disconnect_reason;

        [global::ProtoBuf.ProtoMember(7)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeaverDetectedResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private uint? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyFinalPlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyLivePlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyMatch : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint series_id
        {
            get => __pbn__series_id.GetValueOrDefault();
            set => __pbn__series_id = value;
        }
        public bool ShouldSerializeseries_id() => __pbn__series_id != null;
        public void Resetseries_id() => __pbn__series_id = null;
        private uint? __pbn__series_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint start_time
        {
            get => __pbn__start_time.GetValueOrDefault();
            set => __pbn__start_time = value;
        }
        public bool ShouldSerializestart_time() => __pbn__start_time != null;
        public void Resetstart_time() => __pbn__start_time = null;
        private uint? __pbn__start_time;

        [global::ProtoBuf.ProtoMember(5)]
        public uint series_type
        {
            get => __pbn__series_type.GetValueOrDefault();
            set => __pbn__series_type = value;
        }
        public bool ShouldSerializeseries_type() => __pbn__series_type != null;
        public void Resetseries_type() => __pbn__series_type = null;
        private uint? __pbn__series_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint team_1
        {
            get => __pbn__team_1.GetValueOrDefault();
            set => __pbn__team_1 = value;
        }
        public bool ShouldSerializeteam_1() => __pbn__team_1 != null;
        public void Resetteam_1() => __pbn__team_1 = null;
        private uint? __pbn__team_1;

        [global::ProtoBuf.ProtoMember(7)]
        public uint team_2
        {
            get => __pbn__team_2.GetValueOrDefault();
            set => __pbn__team_2 = value;
        }
        public bool ShouldSerializeteam_2() => __pbn__team_2 != null;
        public void Resetteam_2() => __pbn__team_2 = null;
        private uint? __pbn__team_2;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAUpdateClippy : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> good_team_hero_ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<uint> bad_team_hero_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRealtimeStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgDOTARealtimeGameStatsTerse delayed { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerRealtimeStatsStartStop : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool delayed
        {
            get => __pbn__delayed.GetValueOrDefault();
            set => __pbn__delayed = value;
        }
        public bool ShouldSerializedelayed() => __pbn__delayed != null;
        public void Resetdelayed() => __pbn__delayed = null;
        private bool? __pbn__delayed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerUpdateSteamBroadcasting : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool active
        {
            get => __pbn__active.GetValueOrDefault();
            set => __pbn__active = value;
        }
        public bool ShouldSerializeactive() => __pbn__active != null;
        public void Resetactive() => __pbn__active = null;
        private bool? __pbn__active;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGameplayStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CTeam> teams { get; } = new global::System.Collections.Generic.List<CTeam>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CPlayer : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steam_id
            {
                get => __pbn__steam_id.GetValueOrDefault();
                set => __pbn__steam_id = value;
            }
            public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
            public void Resetsteam_id() => __pbn__steam_id = null;
            private ulong? __pbn__steam_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMatchPlayerTimedStats> timed_player_stats { get; } = new global::System.Collections.Generic.List<CMatchPlayerTimedStats>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CTeam : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public bool is_winning_team
            {
                get => __pbn__is_winning_team.GetValueOrDefault();
                set => __pbn__is_winning_team = value;
            }
            public bool ShouldSerializeis_winning_team() => __pbn__is_winning_team != null;
            public void Resetis_winning_team() => __pbn__is_winning_team = null;
            private bool? __pbn__is_winning_team;

            [global::ProtoBuf.ProtoMember(2)]
            public bool is_radiant_team
            {
                get => __pbn__is_radiant_team.GetValueOrDefault();
                set => __pbn__is_radiant_team = value;
            }
            public bool ShouldSerializeis_radiant_team() => __pbn__is_radiant_team != null;
            public void Resetis_radiant_team() => __pbn__is_radiant_team = null;
            private bool? __pbn__is_radiant_team;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<CMatchTeamTimedStats> timed_team_stats { get; } = new global::System.Collections.Generic.List<CMatchTeamTimedStats>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgSignOutGameplayStats.CPlayer> players { get; } = new global::System.Collections.Generic.List<CMsgSignOutGameplayStats.CPlayer>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOut : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private uint? __pbn__duration;

        [global::ProtoBuf.ProtoMember(3)]
        public bool good_guys_win
        {
            get => __pbn__good_guys_win.GetValueOrDefault();
            set => __pbn__good_guys_win = value;
        }
        public bool ShouldSerializegood_guys_win() => __pbn__good_guys_win != null;
        public void Resetgood_guys_win() => __pbn__good_guys_win = null;
        private bool? __pbn__good_guys_win;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint date
        {
            get => __pbn__date.GetValueOrDefault();
            set => __pbn__date = value;
        }
        public bool ShouldSerializedate() => __pbn__date != null;
        public void Resetdate() => __pbn__date = null;
        private uint? __pbn__date;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<uint> num_players { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<CTeam> teams { get; } = new global::System.Collections.Generic.List<CTeam>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<uint> tower_status { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<uint> barracks_status { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(10)]
        public uint cluster
        {
            get => __pbn__cluster.GetValueOrDefault();
            set => __pbn__cluster = value;
        }
        public bool ShouldSerializecluster() => __pbn__cluster != null;
        public void Resetcluster() => __pbn__cluster = null;
        private uint? __pbn__cluster;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string server_addr
        {
            get => __pbn__server_addr ?? "";
            set => __pbn__server_addr = value;
        }
        public bool ShouldSerializeserver_addr() => __pbn__server_addr != null;
        public void Resetserver_addr() => __pbn__server_addr = null;
        private string __pbn__server_addr;

        [global::ProtoBuf.ProtoMember(12)]
        public uint first_blood_time
        {
            get => __pbn__first_blood_time.GetValueOrDefault();
            set => __pbn__first_blood_time = value;
        }
        public bool ShouldSerializefirst_blood_time() => __pbn__first_blood_time != null;
        public void Resetfirst_blood_time() => __pbn__first_blood_time = null;
        private uint? __pbn__first_blood_time;

        [global::ProtoBuf.ProtoMember(14)]
        public uint event_score
        {
            get => __pbn__event_score.GetValueOrDefault();
            set => __pbn__event_score = value;
        }
        public bool ShouldSerializeevent_score() => __pbn__event_score != null;
        public void Resetevent_score() => __pbn__event_score = null;
        private uint? __pbn__event_score;

        [global::ProtoBuf.ProtoMember(15)]
        public global::System.Collections.Generic.List<CMatchHeroSelectEvent> picks_bans { get; } = new global::System.Collections.Generic.List<CMatchHeroSelectEvent>();

        [global::ProtoBuf.ProtoMember(41)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> fantasy_stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

        [global::ProtoBuf.ProtoMember(17)]
        public global::System.Collections.Generic.List<CMsgEconPlayerStrangeCountAdjustment> player_strange_count_adjustments { get; } = new global::System.Collections.Generic.List<CMsgEconPlayerStrangeCountAdjustment>();

        [global::ProtoBuf.ProtoMember(18)]
        public bool automatic_surrender
        {
            get => __pbn__automatic_surrender.GetValueOrDefault();
            set => __pbn__automatic_surrender = value;
        }
        public bool ShouldSerializeautomatic_surrender() => __pbn__automatic_surrender != null;
        public void Resetautomatic_surrender() => __pbn__automatic_surrender = null;
        private bool? __pbn__automatic_surrender;

        [global::ProtoBuf.ProtoMember(19)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(35)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

        [global::ProtoBuf.ProtoMember(20)]
        public global::System.Collections.Generic.List<CAdditionalSignoutMsg> additional_msgs { get; } = new global::System.Collections.Generic.List<CAdditionalSignoutMsg>();

        [global::ProtoBuf.ProtoMember(36)]
        public global::System.Collections.Generic.List<CSocialFeedMatchEvent> social_feed_events { get; } = new global::System.Collections.Generic.List<CSocialFeedMatchEvent>();

        [global::ProtoBuf.ProtoMember(22, DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
        public int average_networth_delta
        {
            get => __pbn__average_networth_delta.GetValueOrDefault();
            set => __pbn__average_networth_delta = value;
        }
        public bool ShouldSerializeaverage_networth_delta() => __pbn__average_networth_delta != null;
        public void Resetaverage_networth_delta() => __pbn__average_networth_delta = null;
        private int? __pbn__average_networth_delta;

        [global::ProtoBuf.ProtoMember(37)]
        public CCustomGameData custom_game_data { get; set; }

        [global::ProtoBuf.ProtoMember(38)]
        public uint match_flags
        {
            get => __pbn__match_flags.GetValueOrDefault();
            set => __pbn__match_flags = value;
        }
        public bool ShouldSerializematch_flags() => __pbn__match_flags != null;
        public void Resetmatch_flags() => __pbn__match_flags = null;
        private uint? __pbn__match_flags;

        [global::ProtoBuf.ProtoMember(39)]
        public global::System.Collections.Generic.List<uint> team_scores { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(40)]
        public uint pre_game_duration
        {
            get => __pbn__pre_game_duration.GetValueOrDefault();
            set => __pbn__pre_game_duration = value;
        }
        public bool ShouldSerializepre_game_duration() => __pbn__pre_game_duration != null;
        public void Resetpre_game_duration() => __pbn__pre_game_duration = null;
        private uint? __pbn__pre_game_duration;

        [global::ProtoBuf.ProtoMember(42)]
        public global::System.Collections.Generic.List<EventGameLeaderboardEntry> event_game_leaderboard_entries { get; } = new global::System.Collections.Generic.List<EventGameLeaderboardEntry>();

        [global::ProtoBuf.ProtoMember(43)]
        public global::System.Collections.Generic.List<WardPlacement> ward_placements { get; } = new global::System.Collections.Generic.List<WardPlacement>();

        [global::ProtoBuf.ProtoMember(44)]
        public CMsgSignOutGameplayStats gameplay_stats { get; set; }

        [global::ProtoBuf.ProtoMember(54)]
        public global::System.Collections.Generic.List<CExtraMsgBlock> extra_messages { get; } = new global::System.Collections.Generic.List<CExtraMsgBlock>();

        [global::ProtoBuf.ProtoMember(55)]
        public bool training_data_recorded
        {
            get => __pbn__training_data_recorded.GetValueOrDefault();
            set => __pbn__training_data_recorded = value;
        }
        public bool ShouldSerializetraining_data_recorded() => __pbn__training_data_recorded != null;
        public void Resettraining_data_recorded() => __pbn__training_data_recorded = null;
        private bool? __pbn__training_data_recorded;

        [global::ProtoBuf.ProtoContract()]
        public partial class CTeam : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<CPlayer> players { get; } = new global::System.Collections.Generic.List<CPlayer>();

            [global::ProtoBuf.ProtoContract()]
            public partial class CPlayer : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
                public ulong steam_id
                {
                    get => __pbn__steam_id.GetValueOrDefault();
                    set => __pbn__steam_id = value;
                }
                public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
                public void Resetsteam_id() => __pbn__steam_id = null;
                private ulong? __pbn__steam_id;

                [global::ProtoBuf.ProtoMember(3)]
                public uint hero_id
                {
                    get => __pbn__hero_id.GetValueOrDefault();
                    set => __pbn__hero_id = value;
                }
                public bool ShouldSerializehero_id() => __pbn__hero_id != null;
                public void Resethero_id() => __pbn__hero_id = null;
                private uint? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(4)]
                public global::System.Collections.Generic.List<uint> items { get; } = new global::System.Collections.Generic.List<uint>();

                [global::ProtoBuf.ProtoMember(5)]
                public uint gold
                {
                    get => __pbn__gold.GetValueOrDefault();
                    set => __pbn__gold = value;
                }
                public bool ShouldSerializegold() => __pbn__gold != null;
                public void Resetgold() => __pbn__gold = null;
                private uint? __pbn__gold;

                [global::ProtoBuf.ProtoMember(6)]
                public uint kills
                {
                    get => __pbn__kills.GetValueOrDefault();
                    set => __pbn__kills = value;
                }
                public bool ShouldSerializekills() => __pbn__kills != null;
                public void Resetkills() => __pbn__kills = null;
                private uint? __pbn__kills;

                [global::ProtoBuf.ProtoMember(7)]
                public uint deaths
                {
                    get => __pbn__deaths.GetValueOrDefault();
                    set => __pbn__deaths = value;
                }
                public bool ShouldSerializedeaths() => __pbn__deaths != null;
                public void Resetdeaths() => __pbn__deaths = null;
                private uint? __pbn__deaths;

                [global::ProtoBuf.ProtoMember(8)]
                public uint assists
                {
                    get => __pbn__assists.GetValueOrDefault();
                    set => __pbn__assists = value;
                }
                public bool ShouldSerializeassists() => __pbn__assists != null;
                public void Resetassists() => __pbn__assists = null;
                private uint? __pbn__assists;

                [global::ProtoBuf.ProtoMember(9)]
                public uint leaver_status
                {
                    get => __pbn__leaver_status.GetValueOrDefault();
                    set => __pbn__leaver_status = value;
                }
                public bool ShouldSerializeleaver_status() => __pbn__leaver_status != null;
                public void Resetleaver_status() => __pbn__leaver_status = null;
                private uint? __pbn__leaver_status;

                [global::ProtoBuf.ProtoMember(10)]
                public uint last_hits
                {
                    get => __pbn__last_hits.GetValueOrDefault();
                    set => __pbn__last_hits = value;
                }
                public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
                public void Resetlast_hits() => __pbn__last_hits = null;
                private uint? __pbn__last_hits;

                [global::ProtoBuf.ProtoMember(11)]
                public uint denies
                {
                    get => __pbn__denies.GetValueOrDefault();
                    set => __pbn__denies = value;
                }
                public bool ShouldSerializedenies() => __pbn__denies != null;
                public void Resetdenies() => __pbn__denies = null;
                private uint? __pbn__denies;

                [global::ProtoBuf.ProtoMember(12)]
                public uint gold_per_min
                {
                    get => __pbn__gold_per_min.GetValueOrDefault();
                    set => __pbn__gold_per_min = value;
                }
                public bool ShouldSerializegold_per_min() => __pbn__gold_per_min != null;
                public void Resetgold_per_min() => __pbn__gold_per_min = null;
                private uint? __pbn__gold_per_min;

                [global::ProtoBuf.ProtoMember(13)]
                public uint xp_per_minute
                {
                    get => __pbn__xp_per_minute.GetValueOrDefault();
                    set => __pbn__xp_per_minute = value;
                }
                public bool ShouldSerializexp_per_minute() => __pbn__xp_per_minute != null;
                public void Resetxp_per_minute() => __pbn__xp_per_minute = null;
                private uint? __pbn__xp_per_minute;

                [global::ProtoBuf.ProtoMember(14)]
                public uint gold_spent
                {
                    get => __pbn__gold_spent.GetValueOrDefault();
                    set => __pbn__gold_spent = value;
                }
                public bool ShouldSerializegold_spent() => __pbn__gold_spent != null;
                public void Resetgold_spent() => __pbn__gold_spent = null;
                private uint? __pbn__gold_spent;

                [global::ProtoBuf.ProtoMember(15)]
                public uint level
                {
                    get => __pbn__level.GetValueOrDefault();
                    set => __pbn__level = value;
                }
                public bool ShouldSerializelevel() => __pbn__level != null;
                public void Resetlevel() => __pbn__level = null;
                private uint? __pbn__level;

                [global::ProtoBuf.ProtoMember(16)]
                public uint scaled_hero_damage
                {
                    get => __pbn__scaled_hero_damage.GetValueOrDefault();
                    set => __pbn__scaled_hero_damage = value;
                }
                public bool ShouldSerializescaled_hero_damage() => __pbn__scaled_hero_damage != null;
                public void Resetscaled_hero_damage() => __pbn__scaled_hero_damage = null;
                private uint? __pbn__scaled_hero_damage;

                [global::ProtoBuf.ProtoMember(17)]
                public uint scaled_tower_damage
                {
                    get => __pbn__scaled_tower_damage.GetValueOrDefault();
                    set => __pbn__scaled_tower_damage = value;
                }
                public bool ShouldSerializescaled_tower_damage() => __pbn__scaled_tower_damage != null;
                public void Resetscaled_tower_damage() => __pbn__scaled_tower_damage = null;
                private uint? __pbn__scaled_tower_damage;

                [global::ProtoBuf.ProtoMember(18)]
                public uint scaled_hero_healing
                {
                    get => __pbn__scaled_hero_healing.GetValueOrDefault();
                    set => __pbn__scaled_hero_healing = value;
                }
                public bool ShouldSerializescaled_hero_healing() => __pbn__scaled_hero_healing != null;
                public void Resetscaled_hero_healing() => __pbn__scaled_hero_healing = null;
                private uint? __pbn__scaled_hero_healing;

                [global::ProtoBuf.ProtoMember(19)]
                public uint time_last_seen
                {
                    get => __pbn__time_last_seen.GetValueOrDefault();
                    set => __pbn__time_last_seen = value;
                }
                public bool ShouldSerializetime_last_seen() => __pbn__time_last_seen != null;
                public void Resettime_last_seen() => __pbn__time_last_seen = null;
                private uint? __pbn__time_last_seen;

                [global::ProtoBuf.ProtoMember(20)]
                public uint support_ability_value
                {
                    get => __pbn__support_ability_value.GetValueOrDefault();
                    set => __pbn__support_ability_value = value;
                }
                public bool ShouldSerializesupport_ability_value() => __pbn__support_ability_value != null;
                public void Resetsupport_ability_value() => __pbn__support_ability_value = null;
                private uint? __pbn__support_ability_value;

                [global::ProtoBuf.ProtoMember(21)]
                public ulong party_id
                {
                    get => __pbn__party_id.GetValueOrDefault();
                    set => __pbn__party_id = value;
                }
                public bool ShouldSerializeparty_id() => __pbn__party_id != null;
                public void Resetparty_id() => __pbn__party_id = null;
                private ulong? __pbn__party_id;

                [global::ProtoBuf.ProtoMember(27)]
                public uint claimed_farm_gold
                {
                    get => __pbn__claimed_farm_gold.GetValueOrDefault();
                    set => __pbn__claimed_farm_gold = value;
                }
                public bool ShouldSerializeclaimed_farm_gold() => __pbn__claimed_farm_gold != null;
                public void Resetclaimed_farm_gold() => __pbn__claimed_farm_gold = null;
                private uint? __pbn__claimed_farm_gold;

                [global::ProtoBuf.ProtoMember(28)]
                public uint support_gold
                {
                    get => __pbn__support_gold.GetValueOrDefault();
                    set => __pbn__support_gold = value;
                }
                public bool ShouldSerializesupport_gold() => __pbn__support_gold != null;
                public void Resetsupport_gold() => __pbn__support_gold = null;
                private uint? __pbn__support_gold;

                [global::ProtoBuf.ProtoMember(29)]
                public uint claimed_denies
                {
                    get => __pbn__claimed_denies.GetValueOrDefault();
                    set => __pbn__claimed_denies = value;
                }
                public bool ShouldSerializeclaimed_denies() => __pbn__claimed_denies != null;
                public void Resetclaimed_denies() => __pbn__claimed_denies = null;
                private uint? __pbn__claimed_denies;

                [global::ProtoBuf.ProtoMember(30)]
                public uint claimed_misses
                {
                    get => __pbn__claimed_misses.GetValueOrDefault();
                    set => __pbn__claimed_misses = value;
                }
                public bool ShouldSerializeclaimed_misses() => __pbn__claimed_misses != null;
                public void Resetclaimed_misses() => __pbn__claimed_misses = null;
                private uint? __pbn__claimed_misses;

                [global::ProtoBuf.ProtoMember(31)]
                public uint misses
                {
                    get => __pbn__misses.GetValueOrDefault();
                    set => __pbn__misses = value;
                }
                public bool ShouldSerializemisses() => __pbn__misses != null;
                public void Resetmisses() => __pbn__misses = null;
                private uint? __pbn__misses;

                [global::ProtoBuf.ProtoMember(34)]
                public uint net_worth
                {
                    get => __pbn__net_worth.GetValueOrDefault();
                    set => __pbn__net_worth = value;
                }
                public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
                public void Resetnet_worth() => __pbn__net_worth = null;
                private uint? __pbn__net_worth;

                [global::ProtoBuf.ProtoMember(37)]
                public uint hero_damage
                {
                    get => __pbn__hero_damage.GetValueOrDefault();
                    set => __pbn__hero_damage = value;
                }
                public bool ShouldSerializehero_damage() => __pbn__hero_damage != null;
                public void Resethero_damage() => __pbn__hero_damage = null;
                private uint? __pbn__hero_damage;

                [global::ProtoBuf.ProtoMember(38)]
                public uint tower_damage
                {
                    get => __pbn__tower_damage.GetValueOrDefault();
                    set => __pbn__tower_damage = value;
                }
                public bool ShouldSerializetower_damage() => __pbn__tower_damage != null;
                public void Resettower_damage() => __pbn__tower_damage = null;
                private uint? __pbn__tower_damage;

                [global::ProtoBuf.ProtoMember(39)]
                public uint hero_healing
                {
                    get => __pbn__hero_healing.GetValueOrDefault();
                    set => __pbn__hero_healing = value;
                }
                public bool ShouldSerializehero_healing() => __pbn__hero_healing != null;
                public void Resethero_healing() => __pbn__hero_healing = null;
                private uint? __pbn__hero_healing;

                [global::ProtoBuf.ProtoMember(32)]
                public global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade> ability_upgrades { get; } = new global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade>();

                [global::ProtoBuf.ProtoMember(33)]
                public global::System.Collections.Generic.List<CMatchAdditionalUnitInventory> additional_units_inventory { get; } = new global::System.Collections.Generic.List<CMatchAdditionalUnitInventory>();

                [global::ProtoBuf.ProtoMember(40)]
                public global::System.Collections.Generic.List<CMatchPlayerPermanentBuff> permanent_buffs { get; } = new global::System.Collections.Generic.List<CMatchPlayerPermanentBuff>();

                [global::ProtoBuf.ProtoMember(35)]
                public CCustomGameData custom_game_data { get; set; }

                [global::ProtoBuf.ProtoMember(36)]
                public uint match_player_flags
                {
                    get => __pbn__match_player_flags.GetValueOrDefault();
                    set => __pbn__match_player_flags = value;
                }
                public bool ShouldSerializematch_player_flags() => __pbn__match_player_flags != null;
                public void Resetmatch_player_flags() => __pbn__match_player_flags = null;
                private uint? __pbn__match_player_flags;

                [global::ProtoBuf.ProtoMember(41)]
                public global::System.Collections.Generic.List<uint> talent_ability_ids { get; } = new global::System.Collections.Generic.List<uint>();

                [global::ProtoBuf.ProtoMember(42)]
                public uint hero_pick_order
                {
                    get => __pbn__hero_pick_order.GetValueOrDefault();
                    set => __pbn__hero_pick_order = value;
                }
                public bool ShouldSerializehero_pick_order() => __pbn__hero_pick_order != null;
                public void Resethero_pick_order() => __pbn__hero_pick_order = null;
                private uint? __pbn__hero_pick_order;

                [global::ProtoBuf.ProtoMember(43)]
                public bool hero_was_randomed
                {
                    get => __pbn__hero_was_randomed.GetValueOrDefault();
                    set => __pbn__hero_was_randomed = value;
                }
                public bool ShouldSerializehero_was_randomed() => __pbn__hero_was_randomed != null;
                public void Resethero_was_randomed() => __pbn__hero_was_randomed = null;
                private bool? __pbn__hero_was_randomed;

                [global::ProtoBuf.ProtoMember(50)]
                public bool hero_was_dota_plus_suggestion
                {
                    get => __pbn__hero_was_dota_plus_suggestion.GetValueOrDefault();
                    set => __pbn__hero_was_dota_plus_suggestion = value;
                }
                public bool ShouldSerializehero_was_dota_plus_suggestion() => __pbn__hero_was_dota_plus_suggestion != null;
                public void Resethero_was_dota_plus_suggestion() => __pbn__hero_was_dota_plus_suggestion = null;
                private bool? __pbn__hero_was_dota_plus_suggestion;

                [global::ProtoBuf.ProtoMember(45)]
                public uint lane
                {
                    get => __pbn__lane.GetValueOrDefault();
                    set => __pbn__lane = value;
                }
                public bool ShouldSerializelane() => __pbn__lane != null;
                public void Resetlane() => __pbn__lane = null;
                private uint? __pbn__lane;

                [global::ProtoBuf.ProtoMember(47)]
                public bool is_using_plus_guide
                {
                    get => __pbn__is_using_plus_guide.GetValueOrDefault();
                    set => __pbn__is_using_plus_guide = value;
                }
                public bool ShouldSerializeis_using_plus_guide() => __pbn__is_using_plus_guide != null;
                public void Resetis_using_plus_guide() => __pbn__is_using_plus_guide = null;
                private bool? __pbn__is_using_plus_guide;

                [global::ProtoBuf.ProtoMember(48)]
                public global::System.Collections.Generic.List<HeroDamageReceived> hero_damage_received { get; } = new global::System.Collections.Generic.List<HeroDamageReceived>();

                [global::ProtoBuf.ProtoMember(51)]
                public uint seconds_dead
                {
                    get => __pbn__seconds_dead.GetValueOrDefault();
                    set => __pbn__seconds_dead = value;
                }
                public bool ShouldSerializeseconds_dead() => __pbn__seconds_dead != null;
                public void Resetseconds_dead() => __pbn__seconds_dead = null;
                private uint? __pbn__seconds_dead;

                [global::ProtoBuf.ProtoMember(52)]
                public uint gold_lost_to_death
                {
                    get => __pbn__gold_lost_to_death.GetValueOrDefault();
                    set => __pbn__gold_lost_to_death = value;
                }
                public bool ShouldSerializegold_lost_to_death() => __pbn__gold_lost_to_death != null;
                public void Resetgold_lost_to_death() => __pbn__gold_lost_to_death = null;
                private uint? __pbn__gold_lost_to_death;

                [global::ProtoBuf.ProtoMember(53)]
                public uint command_count
                {
                    get => __pbn__command_count.GetValueOrDefault();
                    set => __pbn__command_count = value;
                }
                public bool ShouldSerializecommand_count() => __pbn__command_count != null;
                public void Resetcommand_count() => __pbn__command_count = null;
                private uint? __pbn__command_count;

                [global::ProtoBuf.ProtoMember(54)]
                public uint mouse_click_cast_command_count
                {
                    get => __pbn__mouse_click_cast_command_count.GetValueOrDefault();
                    set => __pbn__mouse_click_cast_command_count = value;
                }
                public bool ShouldSerializemouse_click_cast_command_count() => __pbn__mouse_click_cast_command_count != null;
                public void Resetmouse_click_cast_command_count() => __pbn__mouse_click_cast_command_count = null;
                private uint? __pbn__mouse_click_cast_command_count;

                [global::ProtoBuf.ProtoMember(55)]
                public uint teleports_used
                {
                    get => __pbn__teleports_used.GetValueOrDefault();
                    set => __pbn__teleports_used = value;
                }
                public bool ShouldSerializeteleports_used() => __pbn__teleports_used != null;
                public void Resetteleports_used() => __pbn__teleports_used = null;
                private uint? __pbn__teleports_used;

                [global::ProtoBuf.ProtoMember(56)]
                public uint cavern_crawl_map_variant
                {
                    get => __pbn__cavern_crawl_map_variant.GetValueOrDefault();
                    set => __pbn__cavern_crawl_map_variant = value;
                }
                public bool ShouldSerializecavern_crawl_map_variant() => __pbn__cavern_crawl_map_variant != null;
                public void Resetcavern_crawl_map_variant() => __pbn__cavern_crawl_map_variant = null;
                private uint? __pbn__cavern_crawl_map_variant;

                [global::ProtoBuf.ProtoMember(57)]
                public uint bounty_runes
                {
                    get => __pbn__bounty_runes.GetValueOrDefault();
                    set => __pbn__bounty_runes = value;
                }
                public bool ShouldSerializebounty_runes() => __pbn__bounty_runes != null;
                public void Resetbounty_runes() => __pbn__bounty_runes = null;
                private uint? __pbn__bounty_runes;

                [global::ProtoBuf.ProtoMember(58)]
                public uint outposts_captured
                {
                    get => __pbn__outposts_captured.GetValueOrDefault();
                    set => __pbn__outposts_captured = value;
                }
                public bool ShouldSerializeoutposts_captured() => __pbn__outposts_captured != null;
                public void Resetoutposts_captured() => __pbn__outposts_captured = null;
                private uint? __pbn__outposts_captured;

                [global::ProtoBuf.ProtoMember(59)]
                public uint dewards
                {
                    get => __pbn__dewards.GetValueOrDefault();
                    set => __pbn__dewards = value;
                }
                public bool ShouldSerializedewards() => __pbn__dewards != null;
                public void Resetdewards() => __pbn__dewards = null;
                private uint? __pbn__dewards;

                [global::ProtoBuf.ProtoMember(60)]
                public uint wards_placed
                {
                    get => __pbn__wards_placed.GetValueOrDefault();
                    set => __pbn__wards_placed = value;
                }
                public bool ShouldSerializewards_placed() => __pbn__wards_placed != null;
                public void Resetwards_placed() => __pbn__wards_placed = null;
                private uint? __pbn__wards_placed;

                [global::ProtoBuf.ProtoMember(61)]
                public uint camps_stacked
                {
                    get => __pbn__camps_stacked.GetValueOrDefault();
                    set => __pbn__camps_stacked = value;
                }
                public bool ShouldSerializecamps_stacked() => __pbn__camps_stacked != null;
                public void Resetcamps_stacked() => __pbn__camps_stacked = null;
                private uint? __pbn__camps_stacked;

                [global::ProtoBuf.ProtoContract()]
                public partial class CCustomGameData : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    public uint dota_team
                    {
                        get => __pbn__dota_team.GetValueOrDefault();
                        set => __pbn__dota_team = value;
                    }
                    public bool ShouldSerializedota_team() => __pbn__dota_team != null;
                    public void Resetdota_team() => __pbn__dota_team = null;
                    private uint? __pbn__dota_team;

                    [global::ProtoBuf.ProtoMember(2)]
                    public bool winner
                    {
                        get => __pbn__winner.GetValueOrDefault();
                        set => __pbn__winner = value;
                    }
                    public bool ShouldSerializewinner() => __pbn__winner != null;
                    public void Resetwinner() => __pbn__winner = null;
                    private bool? __pbn__winner;

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class HeroDamageReceived : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    public uint pre_reduction
                    {
                        get => __pbn__pre_reduction.GetValueOrDefault();
                        set => __pbn__pre_reduction = value;
                    }
                    public bool ShouldSerializepre_reduction() => __pbn__pre_reduction != null;
                    public void Resetpre_reduction() => __pbn__pre_reduction = null;
                    private uint? __pbn__pre_reduction;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint post_reduction
                    {
                        get => __pbn__post_reduction.GetValueOrDefault();
                        set => __pbn__post_reduction = value;
                    }
                    public bool ShouldSerializepost_reduction() => __pbn__post_reduction != null;
                    public void Resetpost_reduction() => __pbn__post_reduction = null;
                    private uint? __pbn__post_reduction;

                    [global::ProtoBuf.ProtoMember(3)]
                    [global::System.ComponentModel.DefaultValue(CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType.HERO_DAMAGE_PHYSICAL)]
                    public CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType damage_type
                    {
                        get => __pbn__damage_type ?? CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType.HERO_DAMAGE_PHYSICAL;
                        set => __pbn__damage_type = value;
                    }
                    public bool ShouldSerializedamage_type() => __pbn__damage_type != null;
                    public void Resetdamage_type() => __pbn__damage_type = null;
                    private CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType? __pbn__damage_type;

                }

                [global::ProtoBuf.ProtoContract()]
                public enum HeroDamageType
                {
                    HERO_DAMAGE_PHYSICAL = 0,
                    HERO_DAMAGE_MAGICAL = 1,
                    HERO_DAMAGE_PURE = 2,
                }

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CAdditionalSignoutMsg : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint id
            {
                get => __pbn__id.GetValueOrDefault();
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private uint? __pbn__id;

            [global::ProtoBuf.ProtoMember(2)]
            public byte[] contents
            {
                get => __pbn__contents;
                set => __pbn__contents = value;
            }
            public bool ShouldSerializecontents() => __pbn__contents != null;
            public void Resetcontents() => __pbn__contents = null;
            private byte[] __pbn__contents;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CSocialFeedMatchEvent : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint timestamp
            {
                get => __pbn__timestamp.GetValueOrDefault();
                set => __pbn__timestamp = value;
            }
            public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
            public void Resettimestamp() => __pbn__timestamp = null;
            private uint? __pbn__timestamp;

            [global::ProtoBuf.ProtoMember(3)]
            public uint event_type
            {
                get => __pbn__event_type.GetValueOrDefault();
                set => __pbn__event_type = value;
            }
            public bool ShouldSerializeevent_type() => __pbn__event_type != null;
            public void Resetevent_type() => __pbn__event_type = null;
            private uint? __pbn__event_type;

            [global::ProtoBuf.ProtoMember(4)]
            public int game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private int? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(5)]
            public uint replay_time
            {
                get => __pbn__replay_time.GetValueOrDefault();
                set => __pbn__replay_time = value;
            }
            public bool ShouldSerializereplay_time() => __pbn__replay_time != null;
            public void Resetreplay_time() => __pbn__replay_time = null;
            private uint? __pbn__replay_time;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CCustomGameData : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint publish_timestamp
            {
                get => __pbn__publish_timestamp.GetValueOrDefault();
                set => __pbn__publish_timestamp = value;
            }
            public bool ShouldSerializepublish_timestamp() => __pbn__publish_timestamp != null;
            public void Resetpublish_timestamp() => __pbn__publish_timestamp = null;
            private uint? __pbn__publish_timestamp;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class EventGameLeaderboardEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_suffix
            {
                get => __pbn__name_suffix ?? "";
                set => __pbn__name_suffix = value;
            }
            public bool ShouldSerializename_suffix() => __pbn__name_suffix != null;
            public void Resetname_suffix() => __pbn__name_suffix = null;
            private string __pbn__name_suffix;

            [global::ProtoBuf.ProtoMember(2)]
            public int score
            {
                get => __pbn__score.GetValueOrDefault();
                set => __pbn__score = value;
            }
            public bool ShouldSerializescore() => __pbn__score != null;
            public void Resetscore() => __pbn__score = null;
            private int? __pbn__score;

            [global::ProtoBuf.ProtoMember(3)]
            public uint extra_data_1
            {
                get => __pbn__extra_data_1.GetValueOrDefault();
                set => __pbn__extra_data_1 = value;
            }
            public bool ShouldSerializeextra_data_1() => __pbn__extra_data_1 != null;
            public void Resetextra_data_1() => __pbn__extra_data_1 = null;
            private uint? __pbn__extra_data_1;

            [global::ProtoBuf.ProtoMember(4)]
            public uint extra_data_2
            {
                get => __pbn__extra_data_2.GetValueOrDefault();
                set => __pbn__extra_data_2 = value;
            }
            public bool ShouldSerializeextra_data_2() => __pbn__extra_data_2 != null;
            public void Resetextra_data_2() => __pbn__extra_data_2 = null;
            private uint? __pbn__extra_data_2;

            [global::ProtoBuf.ProtoMember(5)]
            public uint extra_data_3
            {
                get => __pbn__extra_data_3.GetValueOrDefault();
                set => __pbn__extra_data_3 = value;
            }
            public bool ShouldSerializeextra_data_3() => __pbn__extra_data_3 != null;
            public void Resetextra_data_3() => __pbn__extra_data_3 = null;
            private uint? __pbn__extra_data_3;

            [global::ProtoBuf.ProtoMember(6)]
            public uint extra_data_4
            {
                get => __pbn__extra_data_4.GetValueOrDefault();
                set => __pbn__extra_data_4 = value;
            }
            public bool ShouldSerializeextra_data_4() => __pbn__extra_data_4 != null;
            public void Resetextra_data_4() => __pbn__extra_data_4 = null;
            private uint? __pbn__extra_data_4;

            [global::ProtoBuf.ProtoMember(7)]
            public uint extra_data_5
            {
                get => __pbn__extra_data_5.GetValueOrDefault();
                set => __pbn__extra_data_5 = value;
            }
            public bool ShouldSerializeextra_data_5() => __pbn__extra_data_5 != null;
            public void Resetextra_data_5() => __pbn__extra_data_5 = null;
            private uint? __pbn__extra_data_5;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class WardPlacement : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint player_id
            {
                get => __pbn__player_id.GetValueOrDefault();
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private uint? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint team_id
            {
                get => __pbn__team_id.GetValueOrDefault();
                set => __pbn__team_id = value;
            }
            public bool ShouldSerializeteam_id() => __pbn__team_id != null;
            public void Resetteam_id() => __pbn__team_id = null;
            private uint? __pbn__team_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint placed_time
            {
                get => __pbn__placed_time.GetValueOrDefault();
                set => __pbn__placed_time = value;
            }
            public bool ShouldSerializeplaced_time() => __pbn__placed_time != null;
            public void Resetplaced_time() => __pbn__placed_time = null;
            private uint? __pbn__placed_time;

            [global::ProtoBuf.ProtoMember(4)]
            public uint building_state
            {
                get => __pbn__building_state.GetValueOrDefault();
                set => __pbn__building_state = value;
            }
            public bool ShouldSerializebuilding_state() => __pbn__building_state != null;
            public void Resetbuilding_state() => __pbn__building_state = null;
            private uint? __pbn__building_state;

            [global::ProtoBuf.ProtoMember(5)]
            public uint creep_state
            {
                get => __pbn__creep_state.GetValueOrDefault();
                set => __pbn__creep_state = value;
            }
            public bool ShouldSerializecreep_state() => __pbn__creep_state != null;
            public void Resetcreep_state() => __pbn__creep_state = null;
            private uint? __pbn__creep_state;

            [global::ProtoBuf.ProtoMember(6)]
            public bool roshan_alive
            {
                get => __pbn__roshan_alive.GetValueOrDefault();
                set => __pbn__roshan_alive = value;
            }
            public bool ShouldSerializeroshan_alive() => __pbn__roshan_alive != null;
            public void Resetroshan_alive() => __pbn__roshan_alive = null;
            private bool? __pbn__roshan_alive;

            [global::ProtoBuf.ProtoMember(7)]
            public uint position_x
            {
                get => __pbn__position_x.GetValueOrDefault();
                set => __pbn__position_x = value;
            }
            public bool ShouldSerializeposition_x() => __pbn__position_x != null;
            public void Resetposition_x() => __pbn__position_x = null;
            private uint? __pbn__position_x;

            [global::ProtoBuf.ProtoMember(8)]
            public uint position_y
            {
                get => __pbn__position_y.GetValueOrDefault();
                set => __pbn__position_y = value;
            }
            public bool ShouldSerializeposition_y() => __pbn__position_y != null;
            public void Resetposition_y() => __pbn__position_y = null;
            private uint? __pbn__position_y;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutDraftInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint radiant_captain_account_id
        {
            get => __pbn__radiant_captain_account_id.GetValueOrDefault();
            set => __pbn__radiant_captain_account_id = value;
        }
        public bool ShouldSerializeradiant_captain_account_id() => __pbn__radiant_captain_account_id != null;
        public void Resetradiant_captain_account_id() => __pbn__radiant_captain_account_id = null;
        private uint? __pbn__radiant_captain_account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint dire_captain_account_id
        {
            get => __pbn__dire_captain_account_id.GetValueOrDefault();
            set => __pbn__dire_captain_account_id = value;
        }
        public bool ShouldSerializedire_captain_account_id() => __pbn__dire_captain_account_id != null;
        public void Resetdire_captain_account_id() => __pbn__dire_captain_account_id = null;
        private uint? __pbn__dire_captain_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CMatchHeroSelectEvent> picks_bans { get; } = new global::System.Collections.Generic.List<CMatchHeroSelectEvent>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutBotInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool allow_cheats
        {
            get => __pbn__allow_cheats.GetValueOrDefault();
            set => __pbn__allow_cheats = value;
        }
        public bool ShouldSerializeallow_cheats() => __pbn__allow_cheats != null;
        public void Resetallow_cheats() => __pbn__allow_cheats = null;
        private bool? __pbn__allow_cheats;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE)]
        public DOTABotDifficulty bot_difficulty_radiant
        {
            get => __pbn__bot_difficulty_radiant ?? DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE;
            set => __pbn__bot_difficulty_radiant = value;
        }
        public bool ShouldSerializebot_difficulty_radiant() => __pbn__bot_difficulty_radiant != null;
        public void Resetbot_difficulty_radiant() => __pbn__bot_difficulty_radiant = null;
        private DOTABotDifficulty? __pbn__bot_difficulty_radiant;

        [global::ProtoBuf.ProtoMember(3)]
        public bool created_lobby
        {
            get => __pbn__created_lobby.GetValueOrDefault();
            set => __pbn__created_lobby = value;
        }
        public bool ShouldSerializecreated_lobby() => __pbn__created_lobby != null;
        public void Resetcreated_lobby() => __pbn__created_lobby = null;
        private bool? __pbn__created_lobby;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE)]
        public DOTABotDifficulty bot_difficulty_dire
        {
            get => __pbn__bot_difficulty_dire ?? DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE;
            set => __pbn__bot_difficulty_dire = value;
        }
        public bool ShouldSerializebot_difficulty_dire() => __pbn__bot_difficulty_dire != null;
        public void Resetbot_difficulty_dire() => __pbn__bot_difficulty_dire = null;
        private DOTABotDifficulty? __pbn__bot_difficulty_dire;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutTextMuteInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<TextMuteMessage> text_mute_messages { get; } = new global::System.Collections.Generic.List<TextMuteMessage>();

        [global::ProtoBuf.ProtoContract()]
        public partial class TextMuteMessage : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint region
            {
                get => __pbn__region.GetValueOrDefault();
                set => __pbn__region = value;
            }
            public bool ShouldSerializeregion() => __pbn__region != null;
            public void Resetregion() => __pbn__region = null;
            private uint? __pbn__region;

            [global::ProtoBuf.ProtoMember(2)]
            public bool caused_text_mute
            {
                get => __pbn__caused_text_mute.GetValueOrDefault();
                set => __pbn__caused_text_mute = value;
            }
            public bool ShouldSerializecaused_text_mute() => __pbn__caused_text_mute != null;
            public void Resetcaused_text_mute() => __pbn__caused_text_mute = null;
            private bool? __pbn__caused_text_mute;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string chat_message
            {
                get => __pbn__chat_message ?? "";
                set => __pbn__chat_message = value;
            }
            public bool ShouldSerializechat_message() => __pbn__chat_message != null;
            public void Resetchat_message() => __pbn__chat_message = null;
            private string __pbn__chat_message;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutPlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private int? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private uint? __pbn__rank;

        [global::ProtoBuf.ProtoMember(4)]
        public uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint rampages
        {
            get => __pbn__rampages.GetValueOrDefault();
            set => __pbn__rampages = value;
        }
        public bool ShouldSerializerampages() => __pbn__rampages != null;
        public void Resetrampages() => __pbn__rampages = null;
        private uint? __pbn__rampages;

        [global::ProtoBuf.ProtoMember(6)]
        public uint triple_kills
        {
            get => __pbn__triple_kills.GetValueOrDefault();
            set => __pbn__triple_kills = value;
        }
        public bool ShouldSerializetriple_kills() => __pbn__triple_kills != null;
        public void Resettriple_kills() => __pbn__triple_kills = null;
        private uint? __pbn__triple_kills;

        [global::ProtoBuf.ProtoMember(7)]
        public uint first_blood_claimed
        {
            get => __pbn__first_blood_claimed.GetValueOrDefault();
            set => __pbn__first_blood_claimed = value;
        }
        public bool ShouldSerializefirst_blood_claimed() => __pbn__first_blood_claimed != null;
        public void Resetfirst_blood_claimed() => __pbn__first_blood_claimed = null;
        private uint? __pbn__first_blood_claimed;

        [global::ProtoBuf.ProtoMember(8)]
        public uint first_blood_given
        {
            get => __pbn__first_blood_given.GetValueOrDefault();
            set => __pbn__first_blood_given = value;
        }
        public bool ShouldSerializefirst_blood_given() => __pbn__first_blood_given != null;
        public void Resetfirst_blood_given() => __pbn__first_blood_given = null;
        private uint? __pbn__first_blood_given;

        [global::ProtoBuf.ProtoMember(9)]
        public uint couriers_killed
        {
            get => __pbn__couriers_killed.GetValueOrDefault();
            set => __pbn__couriers_killed = value;
        }
        public bool ShouldSerializecouriers_killed() => __pbn__couriers_killed != null;
        public void Resetcouriers_killed() => __pbn__couriers_killed = null;
        private uint? __pbn__couriers_killed;

        [global::ProtoBuf.ProtoMember(10)]
        public uint aegises_snatched
        {
            get => __pbn__aegises_snatched.GetValueOrDefault();
            set => __pbn__aegises_snatched = value;
        }
        public bool ShouldSerializeaegises_snatched() => __pbn__aegises_snatched != null;
        public void Resetaegises_snatched() => __pbn__aegises_snatched = null;
        private uint? __pbn__aegises_snatched;

        [global::ProtoBuf.ProtoMember(11)]
        public uint cheeses_eaten
        {
            get => __pbn__cheeses_eaten.GetValueOrDefault();
            set => __pbn__cheeses_eaten = value;
        }
        public bool ShouldSerializecheeses_eaten() => __pbn__cheeses_eaten != null;
        public void Resetcheeses_eaten() => __pbn__cheeses_eaten = null;
        private uint? __pbn__cheeses_eaten;

        [global::ProtoBuf.ProtoMember(12)]
        public uint creeps_stacked
        {
            get => __pbn__creeps_stacked.GetValueOrDefault();
            set => __pbn__creeps_stacked = value;
        }
        public bool ShouldSerializecreeps_stacked() => __pbn__creeps_stacked != null;
        public void Resetcreeps_stacked() => __pbn__creeps_stacked = null;
        private uint? __pbn__creeps_stacked;

        [global::ProtoBuf.ProtoMember(13)]
        public float fight_score
        {
            get => __pbn__fight_score.GetValueOrDefault();
            set => __pbn__fight_score = value;
        }
        public bool ShouldSerializefight_score() => __pbn__fight_score != null;
        public void Resetfight_score() => __pbn__fight_score = null;
        private float? __pbn__fight_score;

        [global::ProtoBuf.ProtoMember(14)]
        public float farm_score
        {
            get => __pbn__farm_score.GetValueOrDefault();
            set => __pbn__farm_score = value;
        }
        public bool ShouldSerializefarm_score() => __pbn__farm_score != null;
        public void Resetfarm_score() => __pbn__farm_score = null;
        private float? __pbn__farm_score;

        [global::ProtoBuf.ProtoMember(15)]
        public float support_score
        {
            get => __pbn__support_score.GetValueOrDefault();
            set => __pbn__support_score = value;
        }
        public bool ShouldSerializesupport_score() => __pbn__support_score != null;
        public void Resetsupport_score() => __pbn__support_score = null;
        private float? __pbn__support_score;

        [global::ProtoBuf.ProtoMember(16)]
        public float push_score
        {
            get => __pbn__push_score.GetValueOrDefault();
            set => __pbn__push_score = value;
        }
        public bool ShouldSerializepush_score() => __pbn__push_score != null;
        public void Resetpush_score() => __pbn__push_score = null;
        private float? __pbn__push_score;

        [global::ProtoBuf.ProtoMember(17)]
        public uint kills
        {
            get => __pbn__kills.GetValueOrDefault();
            set => __pbn__kills = value;
        }
        public bool ShouldSerializekills() => __pbn__kills != null;
        public void Resetkills() => __pbn__kills = null;
        private uint? __pbn__kills;

        [global::ProtoBuf.ProtoMember(18)]
        public uint deaths
        {
            get => __pbn__deaths.GetValueOrDefault();
            set => __pbn__deaths = value;
        }
        public bool ShouldSerializedeaths() => __pbn__deaths != null;
        public void Resetdeaths() => __pbn__deaths = null;
        private uint? __pbn__deaths;

        [global::ProtoBuf.ProtoMember(19)]
        public uint assists
        {
            get => __pbn__assists.GetValueOrDefault();
            set => __pbn__assists = value;
        }
        public bool ShouldSerializeassists() => __pbn__assists != null;
        public void Resetassists() => __pbn__assists = null;
        private uint? __pbn__assists;

        [global::ProtoBuf.ProtoMember(20)]
        public uint last_hits
        {
            get => __pbn__last_hits.GetValueOrDefault();
            set => __pbn__last_hits = value;
        }
        public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
        public void Resetlast_hits() => __pbn__last_hits = null;
        private uint? __pbn__last_hits;

        [global::ProtoBuf.ProtoMember(21)]
        public uint denies
        {
            get => __pbn__denies.GetValueOrDefault();
            set => __pbn__denies = value;
        }
        public bool ShouldSerializedenies() => __pbn__denies != null;
        public void Resetdenies() => __pbn__denies = null;
        private uint? __pbn__denies;

        [global::ProtoBuf.ProtoMember(22)]
        public float gpm
        {
            get => __pbn__gpm.GetValueOrDefault();
            set => __pbn__gpm = value;
        }
        public bool ShouldSerializegpm() => __pbn__gpm != null;
        public void Resetgpm() => __pbn__gpm = null;
        private float? __pbn__gpm;

        [global::ProtoBuf.ProtoMember(23)]
        public float xppm
        {
            get => __pbn__xppm.GetValueOrDefault();
            set => __pbn__xppm = value;
        }
        public bool ShouldSerializexppm() => __pbn__xppm != null;
        public void Resetxppm() => __pbn__xppm = null;
        private float? __pbn__xppm;

        [global::ProtoBuf.ProtoMember(24)]
        public float net_worth
        {
            get => __pbn__net_worth.GetValueOrDefault();
            set => __pbn__net_worth = value;
        }
        public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
        public void Resetnet_worth() => __pbn__net_worth = null;
        private float? __pbn__net_worth;

        [global::ProtoBuf.ProtoMember(25)]
        public float damage
        {
            get => __pbn__damage.GetValueOrDefault();
            set => __pbn__damage = value;
        }
        public bool ShouldSerializedamage() => __pbn__damage != null;
        public void Resetdamage() => __pbn__damage = null;
        private float? __pbn__damage;

        [global::ProtoBuf.ProtoMember(26)]
        public float heals
        {
            get => __pbn__heals.GetValueOrDefault();
            set => __pbn__heals = value;
        }
        public bool ShouldSerializeheals() => __pbn__heals != null;
        public void Resetheals() => __pbn__heals = null;
        private float? __pbn__heals;

        [global::ProtoBuf.ProtoMember(27)]
        public uint rapiers_purchased
        {
            get => __pbn__rapiers_purchased.GetValueOrDefault();
            set => __pbn__rapiers_purchased = value;
        }
        public bool ShouldSerializerapiers_purchased() => __pbn__rapiers_purchased != null;
        public void Resetrapiers_purchased() => __pbn__rapiers_purchased = null;
        private uint? __pbn__rapiers_purchased;

        [global::ProtoBuf.ProtoMember(28)]
        public uint observer_wards_placed
        {
            get => __pbn__observer_wards_placed.GetValueOrDefault();
            set => __pbn__observer_wards_placed = value;
        }
        public bool ShouldSerializeobserver_wards_placed() => __pbn__observer_wards_placed != null;
        public void Resetobserver_wards_placed() => __pbn__observer_wards_placed = null;
        private uint? __pbn__observer_wards_placed;

        [global::ProtoBuf.ProtoMember(29)]
        public uint wards_destroyed
        {
            get => __pbn__wards_destroyed.GetValueOrDefault();
            set => __pbn__wards_destroyed = value;
        }
        public bool ShouldSerializewards_destroyed() => __pbn__wards_destroyed != null;
        public void Resetwards_destroyed() => __pbn__wards_destroyed = null;
        private uint? __pbn__wards_destroyed;

        [global::ProtoBuf.ProtoMember(30)]
        public uint lobby_type
        {
            get => __pbn__lobby_type.GetValueOrDefault();
            set => __pbn__lobby_type = value;
        }
        public bool ShouldSerializelobby_type() => __pbn__lobby_type != null;
        public void Resetlobby_type() => __pbn__lobby_type = null;
        private uint? __pbn__lobby_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutCommunicationSummary : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerCommunication> players { get; } = new global::System.Collections.Generic.List<PlayerCommunication>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerCommunication : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint pings
            {
                get => __pbn__pings.GetValueOrDefault();
                set => __pbn__pings = value;
            }
            public bool ShouldSerializepings() => __pbn__pings != null;
            public void Resetpings() => __pbn__pings = null;
            private uint? __pbn__pings;

            [global::ProtoBuf.ProtoMember(3)]
            public uint max_pings_per_interval
            {
                get => __pbn__max_pings_per_interval.GetValueOrDefault();
                set => __pbn__max_pings_per_interval = value;
            }
            public bool ShouldSerializemax_pings_per_interval() => __pbn__max_pings_per_interval != null;
            public void Resetmax_pings_per_interval() => __pbn__max_pings_per_interval = null;
            private uint? __pbn__max_pings_per_interval;

            [global::ProtoBuf.ProtoMember(4)]
            public uint teammate_pings
            {
                get => __pbn__teammate_pings.GetValueOrDefault();
                set => __pbn__teammate_pings = value;
            }
            public bool ShouldSerializeteammate_pings() => __pbn__teammate_pings != null;
            public void Resetteammate_pings() => __pbn__teammate_pings = null;
            private uint? __pbn__teammate_pings;

            [global::ProtoBuf.ProtoMember(5)]
            public uint max_teammate_pings_per_interval
            {
                get => __pbn__max_teammate_pings_per_interval.GetValueOrDefault();
                set => __pbn__max_teammate_pings_per_interval = value;
            }
            public bool ShouldSerializemax_teammate_pings_per_interval() => __pbn__max_teammate_pings_per_interval != null;
            public void Resetmax_teammate_pings_per_interval() => __pbn__max_teammate_pings_per_interval = null;
            private uint? __pbn__max_teammate_pings_per_interval;

            [global::ProtoBuf.ProtoMember(6)]
            public uint team_chat_messages
            {
                get => __pbn__team_chat_messages.GetValueOrDefault();
                set => __pbn__team_chat_messages = value;
            }
            public bool ShouldSerializeteam_chat_messages() => __pbn__team_chat_messages != null;
            public void Resetteam_chat_messages() => __pbn__team_chat_messages = null;
            private uint? __pbn__team_chat_messages;

            [global::ProtoBuf.ProtoMember(7)]
            public uint all_chat_messages
            {
                get => __pbn__all_chat_messages.GetValueOrDefault();
                set => __pbn__all_chat_messages = value;
            }
            public bool ShouldSerializeall_chat_messages() => __pbn__all_chat_messages != null;
            public void Resetall_chat_messages() => __pbn__all_chat_messages = null;
            private uint? __pbn__all_chat_messages;

            [global::ProtoBuf.ProtoMember(8)]
            public uint chat_wheel_messages
            {
                get => __pbn__chat_wheel_messages.GetValueOrDefault();
                set => __pbn__chat_wheel_messages = value;
            }
            public bool ShouldSerializechat_wheel_messages() => __pbn__chat_wheel_messages != null;
            public void Resetchat_wheel_messages() => __pbn__chat_wheel_messages = null;
            private uint? __pbn__chat_wheel_messages;

            [global::ProtoBuf.ProtoMember(9)]
            public uint pauses
            {
                get => __pbn__pauses.GetValueOrDefault();
                set => __pbn__pauses = value;
            }
            public bool ShouldSerializepauses() => __pbn__pauses != null;
            public void Resetpauses() => __pbn__pauses = null;
            private uint? __pbn__pauses;

            [global::ProtoBuf.ProtoMember(10)]
            public uint unpauses
            {
                get => __pbn__unpauses.GetValueOrDefault();
                set => __pbn__unpauses = value;
            }
            public bool ShouldSerializeunpauses() => __pbn__unpauses != null;
            public void Resetunpauses() => __pbn__unpauses = null;
            private uint? __pbn__unpauses;

            [global::ProtoBuf.ProtoMember(11)]
            public uint lines_drawn
            {
                get => __pbn__lines_drawn.GetValueOrDefault();
                set => __pbn__lines_drawn = value;
            }
            public bool ShouldSerializelines_drawn() => __pbn__lines_drawn != null;
            public void Resetlines_drawn() => __pbn__lines_drawn = null;
            private uint? __pbn__lines_drawn;

            [global::ProtoBuf.ProtoMember(12)]
            public uint voice_chat_seconds
            {
                get => __pbn__voice_chat_seconds.GetValueOrDefault();
                set => __pbn__voice_chat_seconds = value;
            }
            public bool ShouldSerializevoice_chat_seconds() => __pbn__voice_chat_seconds != null;
            public void Resetvoice_chat_seconds() => __pbn__voice_chat_seconds = null;
            private uint? __pbn__voice_chat_seconds;

            [global::ProtoBuf.ProtoMember(13)]
            public uint chat_mutes
            {
                get => __pbn__chat_mutes.GetValueOrDefault();
                set => __pbn__chat_mutes = value;
            }
            public bool ShouldSerializechat_mutes() => __pbn__chat_mutes != null;
            public void Resetchat_mutes() => __pbn__chat_mutes = null;
            private uint? __pbn__chat_mutes;

            [global::ProtoBuf.ProtoMember(14)]
            public uint voice_mutes
            {
                get => __pbn__voice_mutes.GetValueOrDefault();
                set => __pbn__voice_mutes = value;
            }
            public bool ShouldSerializevoice_mutes() => __pbn__voice_mutes != null;
            public void Resetvoice_mutes() => __pbn__voice_mutes = null;
            private uint? __pbn__voice_mutes;

            [global::ProtoBuf.ProtoMember(15)]
            public global::System.Collections.Generic.List<PingDetail> ping_details { get; } = new global::System.Collections.Generic.List<PingDetail>();

            [global::ProtoBuf.ProtoContract()]
            public partial class PingDetail : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public uint type
                {
                    get => __pbn__type.GetValueOrDefault();
                    set => __pbn__type = value;
                }
                public bool ShouldSerializetype() => __pbn__type != null;
                public void Resettype() => __pbn__type = null;
                private uint? __pbn__type;

                [global::ProtoBuf.ProtoMember(2)]
                public uint count
                {
                    get => __pbn__count.GetValueOrDefault();
                    set => __pbn__count = value;
                }
                public bool ShouldSerializecount() => __pbn__count != null;
                public void Resetcount() => __pbn__count = null;
                private uint? __pbn__count;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignoutResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint replay_salt
        {
            get => __pbn__replay_salt.GetValueOrDefault();
            set => __pbn__replay_salt = value;
        }
        public bool ShouldSerializereplay_salt() => __pbn__replay_salt != null;
        public void Resetreplay_salt() => __pbn__replay_salt = null;
        private uint? __pbn__replay_salt;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CLobbyTimedRewardDetails> timed_reward_details { get; } = new global::System.Collections.Generic.List<CLobbyTimedRewardDetails>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<CSODOTALobbyMember> xp_reward_details { get; } = new global::System.Collections.Generic.List<CSODOTALobbyMember>();

        [global::ProtoBuf.ProtoMember(5)]
        public uint leagueid
        {
            get => __pbn__leagueid.GetValueOrDefault();
            set => __pbn__leagueid = value;
        }
        public bool ShouldSerializeleagueid() => __pbn__leagueid != null;
        public void Resetleagueid() => __pbn__leagueid = null;
        private uint? __pbn__leagueid;

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint metadata_private_key
        {
            get => __pbn__metadata_private_key.GetValueOrDefault();
            set => __pbn__metadata_private_key = value;
        }
        public bool ShouldSerializemetadata_private_key() => __pbn__metadata_private_key != null;
        public void Resetmetadata_private_key() => __pbn__metadata_private_key = null;
        private uint? __pbn__metadata_private_key;

        [global::ProtoBuf.ProtoMember(8)]
        public CMsgDOTAMatch match_details { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<PlayerMetadata> players_metadata { get; } = new global::System.Collections.Generic.List<PlayerMetadata>();

        [global::ProtoBuf.ProtoMember(10)]
        public CMvpData mvp_data { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerMetadata : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint avg_kills_x16
            {
                get => __pbn__avg_kills_x16.GetValueOrDefault();
                set => __pbn__avg_kills_x16 = value;
            }
            public bool ShouldSerializeavg_kills_x16() => __pbn__avg_kills_x16 != null;
            public void Resetavg_kills_x16() => __pbn__avg_kills_x16 = null;
            private uint? __pbn__avg_kills_x16;

            [global::ProtoBuf.ProtoMember(3)]
            public uint avg_deaths_x16
            {
                get => __pbn__avg_deaths_x16.GetValueOrDefault();
                set => __pbn__avg_deaths_x16 = value;
            }
            public bool ShouldSerializeavg_deaths_x16() => __pbn__avg_deaths_x16 != null;
            public void Resetavg_deaths_x16() => __pbn__avg_deaths_x16 = null;
            private uint? __pbn__avg_deaths_x16;

            [global::ProtoBuf.ProtoMember(4)]
            public uint avg_assists_x16
            {
                get => __pbn__avg_assists_x16.GetValueOrDefault();
                set => __pbn__avg_assists_x16 = value;
            }
            public bool ShouldSerializeavg_assists_x16() => __pbn__avg_assists_x16 != null;
            public void Resetavg_assists_x16() => __pbn__avg_assists_x16 = null;
            private uint? __pbn__avg_assists_x16;

            [global::ProtoBuf.ProtoMember(5)]
            public uint avg_gpm_x16
            {
                get => __pbn__avg_gpm_x16.GetValueOrDefault();
                set => __pbn__avg_gpm_x16 = value;
            }
            public bool ShouldSerializeavg_gpm_x16() => __pbn__avg_gpm_x16 != null;
            public void Resetavg_gpm_x16() => __pbn__avg_gpm_x16 = null;
            private uint? __pbn__avg_gpm_x16;

            [global::ProtoBuf.ProtoMember(6)]
            public uint avg_xpm_x16
            {
                get => __pbn__avg_xpm_x16.GetValueOrDefault();
                set => __pbn__avg_xpm_x16 = value;
            }
            public bool ShouldSerializeavg_xpm_x16() => __pbn__avg_xpm_x16 != null;
            public void Resetavg_xpm_x16() => __pbn__avg_xpm_x16 = null;
            private uint? __pbn__avg_xpm_x16;

            [global::ProtoBuf.ProtoMember(7)]
            public uint best_kills_x16
            {
                get => __pbn__best_kills_x16.GetValueOrDefault();
                set => __pbn__best_kills_x16 = value;
            }
            public bool ShouldSerializebest_kills_x16() => __pbn__best_kills_x16 != null;
            public void Resetbest_kills_x16() => __pbn__best_kills_x16 = null;
            private uint? __pbn__best_kills_x16;

            [global::ProtoBuf.ProtoMember(8)]
            public uint best_assists_x16
            {
                get => __pbn__best_assists_x16.GetValueOrDefault();
                set => __pbn__best_assists_x16 = value;
            }
            public bool ShouldSerializebest_assists_x16() => __pbn__best_assists_x16 != null;
            public void Resetbest_assists_x16() => __pbn__best_assists_x16 = null;
            private uint? __pbn__best_assists_x16;

            [global::ProtoBuf.ProtoMember(9)]
            public uint best_gpm_x16
            {
                get => __pbn__best_gpm_x16.GetValueOrDefault();
                set => __pbn__best_gpm_x16 = value;
            }
            public bool ShouldSerializebest_gpm_x16() => __pbn__best_gpm_x16 != null;
            public void Resetbest_gpm_x16() => __pbn__best_gpm_x16 = null;
            private uint? __pbn__best_gpm_x16;

            [global::ProtoBuf.ProtoMember(10)]
            public uint best_xpm_x16
            {
                get => __pbn__best_xpm_x16.GetValueOrDefault();
                set => __pbn__best_xpm_x16 = value;
            }
            public bool ShouldSerializebest_xpm_x16() => __pbn__best_xpm_x16 != null;
            public void Resetbest_xpm_x16() => __pbn__best_xpm_x16 = null;
            private uint? __pbn__best_xpm_x16;

            [global::ProtoBuf.ProtoMember(11)]
            public uint win_streak
            {
                get => __pbn__win_streak.GetValueOrDefault();
                set => __pbn__win_streak = value;
            }
            public bool ShouldSerializewin_streak() => __pbn__win_streak != null;
            public void Resetwin_streak() => __pbn__win_streak = null;
            private uint? __pbn__win_streak;

            [global::ProtoBuf.ProtoMember(12)]
            public uint best_win_streak
            {
                get => __pbn__best_win_streak.GetValueOrDefault();
                set => __pbn__best_win_streak = value;
            }
            public bool ShouldSerializebest_win_streak() => __pbn__best_win_streak != null;
            public void Resetbest_win_streak() => __pbn__best_win_streak = null;
            private uint? __pbn__best_win_streak;

            [global::ProtoBuf.ProtoMember(13)]
            public uint games_played
            {
                get => __pbn__games_played.GetValueOrDefault();
                set => __pbn__games_played = value;
            }
            public bool ShouldSerializegames_played() => __pbn__games_played != null;
            public void Resetgames_played() => __pbn__games_played = null;
            private uint? __pbn__games_played;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTimedRewardContainer : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CLobbyTimedRewardDetails> timed_reward_details { get; } = new global::System.Collections.Generic.List<CLobbyTimedRewardDetails>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutPermissionRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(2)]
        public uint local_attempt
        {
            get => __pbn__local_attempt.GetValueOrDefault();
            set => __pbn__local_attempt = value;
        }
        public bool ShouldSerializelocal_attempt() => __pbn__local_attempt != null;
        public void Resetlocal_attempt() => __pbn__local_attempt = null;
        private uint? __pbn__local_attempt;

        [global::ProtoBuf.ProtoMember(3)]
        public uint total_attempt
        {
            get => __pbn__total_attempt.GetValueOrDefault();
            set => __pbn__total_attempt = value;
        }
        public bool ShouldSerializetotal_attempt() => __pbn__total_attempt != null;
        public void Resettotal_attempt() => __pbn__total_attempt = null;
        private uint? __pbn__total_attempt;

        [global::ProtoBuf.ProtoMember(4)]
        public uint seconds_waited
        {
            get => __pbn__seconds_waited.GetValueOrDefault();
            set => __pbn__seconds_waited = value;
        }
        public bool ShouldSerializeseconds_waited() => __pbn__seconds_waited != null;
        public void Resetseconds_waited() => __pbn__seconds_waited = null;
        private uint? __pbn__seconds_waited;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutPermissionResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool permission_granted
        {
            get => __pbn__permission_granted ?? false;
            set => __pbn__permission_granted = value;
        }
        public bool ShouldSerializepermission_granted() => __pbn__permission_granted != null;
        public void Resetpermission_granted() => __pbn__permission_granted = null;
        private bool? __pbn__permission_granted;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool abandon_signout
        {
            get => __pbn__abandon_signout ?? false;
            set => __pbn__abandon_signout = value;
        }
        public bool ShouldSerializeabandon_signout() => __pbn__abandon_signout != null;
        public void Resetabandon_signout() => __pbn__abandon_signout = null;
        private bool? __pbn__abandon_signout;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0)]
        public uint retry_delay_seconds
        {
            get => __pbn__retry_delay_seconds ?? 0;
            set => __pbn__retry_delay_seconds = value;
        }
        public bool ShouldSerializeretry_delay_seconds() => __pbn__retry_delay_seconds != null;
        public void Resetretry_delay_seconds() => __pbn__retry_delay_seconds = null;
        private uint? __pbn__retry_delay_seconds;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutEventGameData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string game_name
        {
            get => __pbn__game_name ?? "";
            set => __pbn__game_name = value;
        }
        public bool ShouldSerializegame_name() => __pbn__game_name != null;
        public void Resetgame_name() => __pbn__game_name = null;
        private string __pbn__game_name;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string map_name
        {
            get => __pbn__map_name ?? "";
            set => __pbn__map_name = value;
        }
        public bool ShouldSerializemap_name() => __pbn__map_name != null;
        public void Resetmap_name() => __pbn__map_name = null;
        private string __pbn__map_name;

        [global::ProtoBuf.ProtoMember(4)]
        public byte[] event_game_data
        {
            get => __pbn__event_game_data;
            set => __pbn__event_game_data = value;
        }
        public bool ShouldSerializeevent_game_data() => __pbn__event_game_data != null;
        public void Resetevent_game_data() => __pbn__event_game_data = null;
        private byte[] __pbn__event_game_data;

        [global::ProtoBuf.ProtoMember(5)]
        public uint start_time
        {
            get => __pbn__start_time.GetValueOrDefault();
            set => __pbn__start_time = value;
        }
        public bool ShouldSerializestart_time() => __pbn__start_time != null;
        public void Resetstart_time() => __pbn__start_time = null;
        private uint? __pbn__start_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTALiveScoreboardUpdate : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint tournament_id
        {
            get => __pbn__tournament_id.GetValueOrDefault();
            set => __pbn__tournament_id = value;
        }
        public bool ShouldSerializetournament_id() => __pbn__tournament_id != null;
        public void Resettournament_id() => __pbn__tournament_id = null;
        private uint? __pbn__tournament_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint tournament_game_id
        {
            get => __pbn__tournament_game_id.GetValueOrDefault();
            set => __pbn__tournament_game_id = value;
        }
        public bool ShouldSerializetournament_game_id() => __pbn__tournament_game_id != null;
        public void Resettournament_game_id() => __pbn__tournament_game_id = null;
        private uint? __pbn__tournament_game_id;

        [global::ProtoBuf.ProtoMember(3)]
        public float duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

        [global::ProtoBuf.ProtoMember(4)]
        public int hltv_delay
        {
            get => __pbn__hltv_delay.GetValueOrDefault();
            set => __pbn__hltv_delay = value;
        }
        public bool ShouldSerializehltv_delay() => __pbn__hltv_delay != null;
        public void Resethltv_delay() => __pbn__hltv_delay = null;
        private int? __pbn__hltv_delay;

        [global::ProtoBuf.ProtoMember(5)]
        public Team team_good { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public Team team_bad { get; set; }

        [global::ProtoBuf.ProtoMember(7)]
        public uint roshan_respawn_timer
        {
            get => __pbn__roshan_respawn_timer.GetValueOrDefault();
            set => __pbn__roshan_respawn_timer = value;
        }
        public bool ShouldSerializeroshan_respawn_timer() => __pbn__roshan_respawn_timer != null;
        public void Resetroshan_respawn_timer() => __pbn__roshan_respawn_timer = null;
        private uint? __pbn__roshan_respawn_timer;

        [global::ProtoBuf.ProtoMember(8)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(9)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Team : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

            [global::ProtoBuf.ProtoMember(2)]
            public uint score
            {
                get => __pbn__score.GetValueOrDefault();
                set => __pbn__score = value;
            }
            public bool ShouldSerializescore() => __pbn__score != null;
            public void Resetscore() => __pbn__score = null;
            private uint? __pbn__score;

            [global::ProtoBuf.ProtoMember(3)]
            public uint tower_state
            {
                get => __pbn__tower_state.GetValueOrDefault();
                set => __pbn__tower_state = value;
            }
            public bool ShouldSerializetower_state() => __pbn__tower_state != null;
            public void Resettower_state() => __pbn__tower_state = null;
            private uint? __pbn__tower_state;

            [global::ProtoBuf.ProtoMember(4)]
            public uint barracks_state
            {
                get => __pbn__barracks_state.GetValueOrDefault();
                set => __pbn__barracks_state = value;
            }
            public bool ShouldSerializebarracks_state() => __pbn__barracks_state != null;
            public void Resetbarracks_state() => __pbn__barracks_state = null;
            private uint? __pbn__barracks_state;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<uint> hero_picks { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<uint> hero_bans { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoContract()]
            public partial class Player : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public uint player_slot
                {
                    get => __pbn__player_slot.GetValueOrDefault();
                    set => __pbn__player_slot = value;
                }
                public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
                public void Resetplayer_slot() => __pbn__player_slot = null;
                private uint? __pbn__player_slot;

                [global::ProtoBuf.ProtoMember(2)]
                [global::System.ComponentModel.DefaultValue("")]
                public string player_name
                {
                    get => __pbn__player_name ?? "";
                    set => __pbn__player_name = value;
                }
                public bool ShouldSerializeplayer_name() => __pbn__player_name != null;
                public void Resetplayer_name() => __pbn__player_name = null;
                private string __pbn__player_name;

                [global::ProtoBuf.ProtoMember(3)]
                [global::System.ComponentModel.DefaultValue("")]
                public string hero_name
                {
                    get => __pbn__hero_name ?? "";
                    set => __pbn__hero_name = value;
                }
                public bool ShouldSerializehero_name() => __pbn__hero_name != null;
                public void Resethero_name() => __pbn__hero_name = null;
                private string __pbn__hero_name;

                [global::ProtoBuf.ProtoMember(4)]
                public uint hero_id
                {
                    get => __pbn__hero_id.GetValueOrDefault();
                    set => __pbn__hero_id = value;
                }
                public bool ShouldSerializehero_id() => __pbn__hero_id != null;
                public void Resethero_id() => __pbn__hero_id = null;
                private uint? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(5)]
                public uint kills
                {
                    get => __pbn__kills.GetValueOrDefault();
                    set => __pbn__kills = value;
                }
                public bool ShouldSerializekills() => __pbn__kills != null;
                public void Resetkills() => __pbn__kills = null;
                private uint? __pbn__kills;

                [global::ProtoBuf.ProtoMember(6)]
                public uint deaths
                {
                    get => __pbn__deaths.GetValueOrDefault();
                    set => __pbn__deaths = value;
                }
                public bool ShouldSerializedeaths() => __pbn__deaths != null;
                public void Resetdeaths() => __pbn__deaths = null;
                private uint? __pbn__deaths;

                [global::ProtoBuf.ProtoMember(7)]
                public uint assists
                {
                    get => __pbn__assists.GetValueOrDefault();
                    set => __pbn__assists = value;
                }
                public bool ShouldSerializeassists() => __pbn__assists != null;
                public void Resetassists() => __pbn__assists = null;
                private uint? __pbn__assists;

                [global::ProtoBuf.ProtoMember(8)]
                public uint last_hits
                {
                    get => __pbn__last_hits.GetValueOrDefault();
                    set => __pbn__last_hits = value;
                }
                public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
                public void Resetlast_hits() => __pbn__last_hits = null;
                private uint? __pbn__last_hits;

                [global::ProtoBuf.ProtoMember(9)]
                public uint denies
                {
                    get => __pbn__denies.GetValueOrDefault();
                    set => __pbn__denies = value;
                }
                public bool ShouldSerializedenies() => __pbn__denies != null;
                public void Resetdenies() => __pbn__denies = null;
                private uint? __pbn__denies;

                [global::ProtoBuf.ProtoMember(10)]
                public uint gold
                {
                    get => __pbn__gold.GetValueOrDefault();
                    set => __pbn__gold = value;
                }
                public bool ShouldSerializegold() => __pbn__gold != null;
                public void Resetgold() => __pbn__gold = null;
                private uint? __pbn__gold;

                [global::ProtoBuf.ProtoMember(11)]
                public uint level
                {
                    get => __pbn__level.GetValueOrDefault();
                    set => __pbn__level = value;
                }
                public bool ShouldSerializelevel() => __pbn__level != null;
                public void Resetlevel() => __pbn__level = null;
                private uint? __pbn__level;

                [global::ProtoBuf.ProtoMember(12)]
                public float gold_per_min
                {
                    get => __pbn__gold_per_min.GetValueOrDefault();
                    set => __pbn__gold_per_min = value;
                }
                public bool ShouldSerializegold_per_min() => __pbn__gold_per_min != null;
                public void Resetgold_per_min() => __pbn__gold_per_min = null;
                private float? __pbn__gold_per_min;

                [global::ProtoBuf.ProtoMember(13)]
                public float xp_per_min
                {
                    get => __pbn__xp_per_min.GetValueOrDefault();
                    set => __pbn__xp_per_min = value;
                }
                public bool ShouldSerializexp_per_min() => __pbn__xp_per_min != null;
                public void Resetxp_per_min() => __pbn__xp_per_min = null;
                private float? __pbn__xp_per_min;

                [global::ProtoBuf.ProtoMember(14)]
                [global::System.ComponentModel.DefaultValue(DOTAUltimateState.k_EDOTAUltimateStateNotLearned)]
                public DOTAUltimateState ultimate_state
                {
                    get => __pbn__ultimate_state ?? DOTAUltimateState.k_EDOTAUltimateStateNotLearned;
                    set => __pbn__ultimate_state = value;
                }
                public bool ShouldSerializeultimate_state() => __pbn__ultimate_state != null;
                public void Resetultimate_state() => __pbn__ultimate_state = null;
                private DOTAUltimateState? __pbn__ultimate_state;

                [global::ProtoBuf.ProtoMember(15)]
                public float ultimate_cooldown
                {
                    get => __pbn__ultimate_cooldown.GetValueOrDefault();
                    set => __pbn__ultimate_cooldown = value;
                }
                public bool ShouldSerializeultimate_cooldown() => __pbn__ultimate_cooldown != null;
                public void Resetultimate_cooldown() => __pbn__ultimate_cooldown = null;
                private float? __pbn__ultimate_cooldown;

                [global::ProtoBuf.ProtoMember(16)]
                public uint item0
                {
                    get => __pbn__item0.GetValueOrDefault();
                    set => __pbn__item0 = value;
                }
                public bool ShouldSerializeitem0() => __pbn__item0 != null;
                public void Resetitem0() => __pbn__item0 = null;
                private uint? __pbn__item0;

                [global::ProtoBuf.ProtoMember(17)]
                public uint item1
                {
                    get => __pbn__item1.GetValueOrDefault();
                    set => __pbn__item1 = value;
                }
                public bool ShouldSerializeitem1() => __pbn__item1 != null;
                public void Resetitem1() => __pbn__item1 = null;
                private uint? __pbn__item1;

                [global::ProtoBuf.ProtoMember(18)]
                public uint item2
                {
                    get => __pbn__item2.GetValueOrDefault();
                    set => __pbn__item2 = value;
                }
                public bool ShouldSerializeitem2() => __pbn__item2 != null;
                public void Resetitem2() => __pbn__item2 = null;
                private uint? __pbn__item2;

                [global::ProtoBuf.ProtoMember(19)]
                public uint item3
                {
                    get => __pbn__item3.GetValueOrDefault();
                    set => __pbn__item3 = value;
                }
                public bool ShouldSerializeitem3() => __pbn__item3 != null;
                public void Resetitem3() => __pbn__item3 = null;
                private uint? __pbn__item3;

                [global::ProtoBuf.ProtoMember(20)]
                public uint item4
                {
                    get => __pbn__item4.GetValueOrDefault();
                    set => __pbn__item4 = value;
                }
                public bool ShouldSerializeitem4() => __pbn__item4 != null;
                public void Resetitem4() => __pbn__item4 = null;
                private uint? __pbn__item4;

                [global::ProtoBuf.ProtoMember(21)]
                public uint item5
                {
                    get => __pbn__item5.GetValueOrDefault();
                    set => __pbn__item5 = value;
                }
                public bool ShouldSerializeitem5() => __pbn__item5 != null;
                public void Resetitem5() => __pbn__item5 = null;
                private uint? __pbn__item5;

                [global::ProtoBuf.ProtoMember(22)]
                public uint respawn_timer
                {
                    get => __pbn__respawn_timer.GetValueOrDefault();
                    set => __pbn__respawn_timer = value;
                }
                public bool ShouldSerializerespawn_timer() => __pbn__respawn_timer != null;
                public void Resetrespawn_timer() => __pbn__respawn_timer = null;
                private uint? __pbn__respawn_timer;

                [global::ProtoBuf.ProtoMember(23)]
                public uint account_id
                {
                    get => __pbn__account_id.GetValueOrDefault();
                    set => __pbn__account_id = value;
                }
                public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
                public void Resetaccount_id() => __pbn__account_id = null;
                private uint? __pbn__account_id;

                [global::ProtoBuf.ProtoMember(24)]
                public float position_x
                {
                    get => __pbn__position_x.GetValueOrDefault();
                    set => __pbn__position_x = value;
                }
                public bool ShouldSerializeposition_x() => __pbn__position_x != null;
                public void Resetposition_x() => __pbn__position_x = null;
                private float? __pbn__position_x;

                [global::ProtoBuf.ProtoMember(25)]
                public float position_y
                {
                    get => __pbn__position_y.GetValueOrDefault();
                    set => __pbn__position_y = value;
                }
                public bool ShouldSerializeposition_y() => __pbn__position_y != null;
                public void Resetposition_y() => __pbn__position_y = null;
                private float? __pbn__position_y;

                [global::ProtoBuf.ProtoMember(26)]
                public uint net_worth
                {
                    get => __pbn__net_worth.GetValueOrDefault();
                    set => __pbn__net_worth = value;
                }
                public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
                public void Resetnet_worth() => __pbn__net_worth = null;
                private uint? __pbn__net_worth;

                [global::ProtoBuf.ProtoMember(27)]
                public global::System.Collections.Generic.List<HeroAbility> abilities { get; } = new global::System.Collections.Generic.List<HeroAbility>();

                [global::ProtoBuf.ProtoContract()]
                public partial class HeroAbility : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    public uint ability_id
                    {
                        get => __pbn__ability_id.GetValueOrDefault();
                        set => __pbn__ability_id = value;
                    }
                    public bool ShouldSerializeability_id() => __pbn__ability_id != null;
                    public void Resetability_id() => __pbn__ability_id = null;
                    private uint? __pbn__ability_id;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint ability_level
                    {
                        get => __pbn__ability_level.GetValueOrDefault();
                        set => __pbn__ability_level = value;
                    }
                    public bool ShouldSerializeability_level() => __pbn__ability_level != null;
                    public void Resetability_level() => __pbn__ability_level = null;
                    private uint? __pbn__ability_level;

                }

                [global::ProtoBuf.ProtoContract()]
                public enum DOTAUltimateState
                {
                    k_EDOTAUltimateStateNotLearned = 0,
                    k_EDOTAUltimateStateCooldown = 1,
                    k_EDOTAUltimateStateNeedsMana = 2,
                    k_EDOTAUltimateStateReady = 3,
                }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARequestPlayerResources : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steam_id
        {
            get => __pbn__steam_id.GetValueOrDefault();
            set => __pbn__steam_id = value;
        }
        public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
        public void Resetsteam_id() => __pbn__steam_id = null;
        private ulong? __pbn__steam_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint player_id
        {
            get => __pbn__player_id.GetValueOrDefault();
            set => __pbn__player_id = value;
        }
        public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
        public void Resetplayer_id() => __pbn__player_id = null;
        private uint? __pbn__player_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARequestPlayerResourcesResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steam_id
        {
            get => __pbn__steam_id.GetValueOrDefault();
            set => __pbn__steam_id = value;
        }
        public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
        public void Resetsteam_id() => __pbn__steam_id = null;
        private ulong? __pbn__steam_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private uint? __pbn__rank;

        [global::ProtoBuf.ProtoMember(3)]
        public uint player_id
        {
            get => __pbn__player_id.GetValueOrDefault();
            set => __pbn__player_id = value;
        }
        public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
        public void Resetplayer_id() => __pbn__player_id = null;
        private uint? __pbn__player_id;

        [global::ProtoBuf.ProtoMember(4)]
        public bool prevent_text_chat
        {
            get => __pbn__prevent_text_chat.GetValueOrDefault();
            set => __pbn__prevent_text_chat = value;
        }
        public bool ShouldSerializeprevent_text_chat() => __pbn__prevent_text_chat != null;
        public void Resetprevent_text_chat() => __pbn__prevent_text_chat = null;
        private bool? __pbn__prevent_text_chat;

        [global::ProtoBuf.ProtoMember(5)]
        public bool prevent_voice_chat
        {
            get => __pbn__prevent_voice_chat.GetValueOrDefault();
            set => __pbn__prevent_voice_chat = value;
        }
        public bool ShouldSerializeprevent_voice_chat() => __pbn__prevent_voice_chat != null;
        public void Resetprevent_voice_chat() => __pbn__prevent_voice_chat = null;
        private bool? __pbn__prevent_voice_chat;

        [global::ProtoBuf.ProtoMember(6)]
        public bool low_priority
        {
            get => __pbn__low_priority.GetValueOrDefault();
            set => __pbn__low_priority = value;
        }
        public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
        public void Resetlow_priority() => __pbn__low_priority = null;
        private bool? __pbn__low_priority;

        [global::ProtoBuf.ProtoMember(8)]
        public bool is_new_player
        {
            get => __pbn__is_new_player.GetValueOrDefault();
            set => __pbn__is_new_player = value;
        }
        public bool ShouldSerializeis_new_player() => __pbn__is_new_player != null;
        public void Resetis_new_player() => __pbn__is_new_player = null;
        private bool? __pbn__is_new_player;

        [global::ProtoBuf.ProtoMember(9)]
        public bool is_guide_player
        {
            get => __pbn__is_guide_player.GetValueOrDefault();
            set => __pbn__is_guide_player = value;
        }
        public bool ShouldSerializeis_guide_player() => __pbn__is_guide_player != null;
        public void Resetis_guide_player() => __pbn__is_guide_player = null;
        private bool? __pbn__is_guide_player;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARequestBatchPlayerResources : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsPacked = true)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(4, IsPacked = true)]
        public global::System.Collections.Generic.List<uint> rank_types { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARequestBatchPlayerResourcesResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<Result> results { get; } = new global::System.Collections.Generic.List<Result>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Result : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public bool prevent_text_chat
            {
                get => __pbn__prevent_text_chat.GetValueOrDefault();
                set => __pbn__prevent_text_chat = value;
            }
            public bool ShouldSerializeprevent_text_chat() => __pbn__prevent_text_chat != null;
            public void Resetprevent_text_chat() => __pbn__prevent_text_chat = null;
            private bool? __pbn__prevent_text_chat;

            [global::ProtoBuf.ProtoMember(3)]
            public bool prevent_voice_chat
            {
                get => __pbn__prevent_voice_chat.GetValueOrDefault();
                set => __pbn__prevent_voice_chat = value;
            }
            public bool ShouldSerializeprevent_voice_chat() => __pbn__prevent_voice_chat != null;
            public void Resetprevent_voice_chat() => __pbn__prevent_voice_chat = null;
            private bool? __pbn__prevent_voice_chat;

            [global::ProtoBuf.ProtoMember(4)]
            public uint rank
            {
                get => __pbn__rank.GetValueOrDefault();
                set => __pbn__rank = value;
            }
            public bool ShouldSerializerank() => __pbn__rank != null;
            public void Resetrank() => __pbn__rank = null;
            private uint? __pbn__rank;

            [global::ProtoBuf.ProtoMember(5)]
            public bool rank_calibrated
            {
                get => __pbn__rank_calibrated.GetValueOrDefault();
                set => __pbn__rank_calibrated = value;
            }
            public bool ShouldSerializerank_calibrated() => __pbn__rank_calibrated != null;
            public void Resetrank_calibrated() => __pbn__rank_calibrated = null;
            private bool? __pbn__rank_calibrated;

            [global::ProtoBuf.ProtoMember(6)]
            public bool low_priority
            {
                get => __pbn__low_priority.GetValueOrDefault();
                set => __pbn__low_priority = value;
            }
            public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
            public void Resetlow_priority() => __pbn__low_priority = null;
            private bool? __pbn__low_priority;

            [global::ProtoBuf.ProtoMember(7)]
            public bool is_new_player
            {
                get => __pbn__is_new_player.GetValueOrDefault();
                set => __pbn__is_new_player = value;
            }
            public bool ShouldSerializeis_new_player() => __pbn__is_new_player != null;
            public void Resetis_new_player() => __pbn__is_new_player = null;
            private bool? __pbn__is_new_player;

            [global::ProtoBuf.ProtoMember(8)]
            public bool is_guide_player
            {
                get => __pbn__is_guide_player.GetValueOrDefault();
                set => __pbn__is_guide_player = value;
            }
            public bool ShouldSerializeis_guide_player() => __pbn__is_guide_player != null;
            public void Resetis_guide_player() => __pbn__is_guide_player = null;
            private bool? __pbn__is_guide_player;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAPlayerFailedToConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> failed_loaders { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> abandoned_loaders { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToRelayConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint source_tv_public_addr
        {
            get => __pbn__source_tv_public_addr.GetValueOrDefault();
            set => __pbn__source_tv_public_addr = value;
        }
        public bool ShouldSerializesource_tv_public_addr() => __pbn__source_tv_public_addr != null;
        public void Resetsource_tv_public_addr() => __pbn__source_tv_public_addr = null;
        private uint? __pbn__source_tv_public_addr;

        [global::ProtoBuf.ProtoMember(2)]
        public uint source_tv_private_addr
        {
            get => __pbn__source_tv_private_addr.GetValueOrDefault();
            set => __pbn__source_tv_private_addr = value;
        }
        public bool ShouldSerializesource_tv_private_addr() => __pbn__source_tv_private_addr != null;
        public void Resetsource_tv_private_addr() => __pbn__source_tv_private_addr = null;
        private uint? __pbn__source_tv_private_addr;

        [global::ProtoBuf.ProtoMember(3)]
        public uint source_tv_port
        {
            get => __pbn__source_tv_port.GetValueOrDefault();
            set => __pbn__source_tv_port = value;
        }
        public bool ShouldSerializesource_tv_port() => __pbn__source_tv_port != null;
        public void Resetsource_tv_port() => __pbn__source_tv_port = null;
        private uint? __pbn__source_tv_port;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong game_server_steam_id
        {
            get => __pbn__game_server_steam_id.GetValueOrDefault();
            set => __pbn__game_server_steam_id = value;
        }
        public bool ShouldSerializegame_server_steam_id() => __pbn__game_server_steam_id != null;
        public void Resetgame_server_steam_id() => __pbn__game_server_steam_id = null;
        private ulong? __pbn__game_server_steam_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint parent_count
        {
            get => __pbn__parent_count.GetValueOrDefault();
            set => __pbn__parent_count = value;
        }
        public bool ShouldSerializeparent_count() => __pbn__parent_count != null;
        public void Resetparent_count() => __pbn__parent_count = null;
        private uint? __pbn__parent_count;

        [global::ProtoBuf.ProtoMember(6, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong tv_unique_secret_code
        {
            get => __pbn__tv_unique_secret_code.GetValueOrDefault();
            set => __pbn__tv_unique_secret_code = value;
        }
        public bool ShouldSerializetv_unique_secret_code() => __pbn__tv_unique_secret_code != null;
        public void Resettv_unique_secret_code() => __pbn__tv_unique_secret_code = null;
        private ulong? __pbn__tv_unique_secret_code;

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong source_tv_steamid
        {
            get => __pbn__source_tv_steamid.GetValueOrDefault();
            set => __pbn__source_tv_steamid = value;
        }
        public bool ShouldSerializesource_tv_steamid() => __pbn__source_tv_steamid != null;
        public void Resetsource_tv_steamid() => __pbn__source_tv_steamid = null;
        private ulong? __pbn__source_tv_steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCGCToLANServerRelayConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong relay_steamid
        {
            get => __pbn__relay_steamid.GetValueOrDefault();
            set => __pbn__relay_steamid = value;
        }
        public bool ShouldSerializerelay_steamid() => __pbn__relay_steamid != null;
        public void Resetrelay_steamid() => __pbn__relay_steamid = null;
        private ulong? __pbn__relay_steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToRelayConnectResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCBanStatusRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCBanStatusResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private uint? __pbn__result;

        [global::ProtoBuf.ProtoMember(2)]
        public bool low_priority
        {
            get => __pbn__low_priority.GetValueOrDefault();
            set => __pbn__low_priority = value;
        }
        public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
        public void Resetlow_priority() => __pbn__low_priority = null;
        private bool? __pbn__low_priority;

        [global::ProtoBuf.ProtoMember(3)]
        public bool text_chat_banned
        {
            get => __pbn__text_chat_banned.GetValueOrDefault();
            set => __pbn__text_chat_banned = value;
        }
        public bool ShouldSerializetext_chat_banned() => __pbn__text_chat_banned != null;
        public void Resettext_chat_banned() => __pbn__text_chat_banned = null;
        private bool? __pbn__text_chat_banned;

        [global::ProtoBuf.ProtoMember(4)]
        public bool voice_chat_banned
        {
            get => __pbn__voice_chat_banned.GetValueOrDefault();
            set => __pbn__voice_chat_banned = value;
        }
        public bool ShouldSerializevoice_chat_banned() => __pbn__voice_chat_banned != null;
        public void Resetvoice_chat_banned() => __pbn__voice_chat_banned = null;
        private bool? __pbn__voice_chat_banned;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTournamentItemEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint killer_account_id
        {
            get => __pbn__killer_account_id.GetValueOrDefault();
            set => __pbn__killer_account_id = value;
        }
        public bool ShouldSerializekiller_account_id() => __pbn__killer_account_id != null;
        public void Resetkiller_account_id() => __pbn__killer_account_id = null;
        private uint? __pbn__killer_account_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint victim_account_id
        {
            get => __pbn__victim_account_id.GetValueOrDefault();
            set => __pbn__victim_account_id = value;
        }
        public bool ShouldSerializevictim_account_id() => __pbn__victim_account_id != null;
        public void Resetvictim_account_id() => __pbn__victim_account_id = null;
        private uint? __pbn__victim_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(DOTA_TournamentEvents.TE_FIRST_BLOOD)]
        public DOTA_TournamentEvents event_type
        {
            get => __pbn__event_type ?? DOTA_TournamentEvents.TE_FIRST_BLOOD;
            set => __pbn__event_type = value;
        }
        public bool ShouldSerializeevent_type() => __pbn__event_type != null;
        public void Resetevent_type() => __pbn__event_type = null;
        private DOTA_TournamentEvents? __pbn__event_type;

        [global::ProtoBuf.ProtoMember(4)]
        public int tv_delay
        {
            get => __pbn__tv_delay.GetValueOrDefault();
            set => __pbn__tv_delay = value;
        }
        public bool ShouldSerializetv_delay() => __pbn__tv_delay != null;
        public void Resettv_delay() => __pbn__tv_delay = null;
        private int? __pbn__tv_delay;

        [global::ProtoBuf.ProtoMember(5)]
        public int dota_time
        {
            get => __pbn__dota_time.GetValueOrDefault();
            set => __pbn__dota_time = value;
        }
        public bool ShouldSerializedota_time() => __pbn__dota_time != null;
        public void Resetdota_time() => __pbn__dota_time = null;
        private int? __pbn__dota_time;

        [global::ProtoBuf.ProtoMember(6)]
        public float replay_time
        {
            get => __pbn__replay_time.GetValueOrDefault();
            set => __pbn__replay_time = value;
        }
        public bool ShouldSerializereplay_time() => __pbn__replay_time != null;
        public void Resetreplay_time() => __pbn__replay_time = null;
        private float? __pbn__replay_time;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string loot_list
        {
            get => __pbn__loot_list ?? "";
            set => __pbn__loot_list = value;
        }
        public bool ShouldSerializeloot_list() => __pbn__loot_list != null;
        public void Resetloot_list() => __pbn__loot_list = null;
        private string __pbn__loot_list;

        [global::ProtoBuf.ProtoMember(8)]
        public uint event_team
        {
            get => __pbn__event_team.GetValueOrDefault();
            set => __pbn__event_team = value;
        }
        public bool ShouldSerializeevent_team() => __pbn__event_team != null;
        public void Resetevent_team() => __pbn__event_team = null;
        private uint? __pbn__event_team;

        [global::ProtoBuf.ProtoMember(9)]
        public uint multi_kill_count
        {
            get => __pbn__multi_kill_count.GetValueOrDefault();
            set => __pbn__multi_kill_count = value;
        }
        public bool ShouldSerializemulti_kill_count() => __pbn__multi_kill_count != null;
        public void Resetmulti_kill_count() => __pbn__multi_kill_count = null;
        private uint? __pbn__multi_kill_count;

        [global::ProtoBuf.ProtoMember(10)]
        public uint winner_score
        {
            get => __pbn__winner_score.GetValueOrDefault();
            set => __pbn__winner_score = value;
        }
        public bool ShouldSerializewinner_score() => __pbn__winner_score != null;
        public void Resetwinner_score() => __pbn__winner_score = null;
        private uint? __pbn__winner_score;

        [global::ProtoBuf.ProtoMember(11)]
        public uint loser_score
        {
            get => __pbn__loser_score.GetValueOrDefault();
            set => __pbn__loser_score = value;
        }
        public bool ShouldSerializeloser_score() => __pbn__loser_score != null;
        public void Resetloser_score() => __pbn__loser_score = null;
        private uint? __pbn__loser_score;

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<CProtoItemHeroStatue> hero_statues { get; } = new global::System.Collections.Generic.List<CProtoItemHeroStatue>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTournamentItemEventResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(DOTA_TournamentEvents.TE_FIRST_BLOOD)]
        public DOTA_TournamentEvents event_type
        {
            get => __pbn__event_type ?? DOTA_TournamentEvents.TE_FIRST_BLOOD;
            set => __pbn__event_type = value;
        }
        public bool ShouldSerializeevent_type() => __pbn__event_type != null;
        public void Resetevent_type() => __pbn__event_type = null;
        private DOTA_TournamentEvents? __pbn__event_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint viewers_granted
        {
            get => __pbn__viewers_granted.GetValueOrDefault();
            set => __pbn__viewers_granted = value;
        }
        public bool ShouldSerializeviewers_granted() => __pbn__viewers_granted != null;
        public void Resetviewers_granted() => __pbn__viewers_granted = null;
        private uint? __pbn__viewers_granted;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTeamFanfare : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgResponseTeamFanfare : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint fanfare_goodguys
        {
            get => __pbn__fanfare_goodguys.GetValueOrDefault();
            set => __pbn__fanfare_goodguys = value;
        }
        public bool ShouldSerializefanfare_goodguys() => __pbn__fanfare_goodguys != null;
        public void Resetfanfare_goodguys() => __pbn__fanfare_goodguys = null;
        private uint? __pbn__fanfare_goodguys;

        [global::ProtoBuf.ProtoMember(2)]
        public uint fanfare_badguys
        {
            get => __pbn__fanfare_badguys.GetValueOrDefault();
            set => __pbn__fanfare_badguys = value;
        }
        public bool ShouldSerializefanfare_badguys() => __pbn__fanfare_badguys != null;
        public void Resetfanfare_badguys() => __pbn__fanfare_badguys = null;
        private uint? __pbn__fanfare_badguys;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerUploadSaveGame : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private uint? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] save_game_data
        {
            get => __pbn__save_game_data;
            set => __pbn__save_game_data = value;
        }
        public bool ShouldSerializesave_game_data() => __pbn__save_game_data != null;
        public void Resetsave_game_data() => __pbn__save_game_data = null;
        private byte[] __pbn__save_game_data;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong lobby_id
        {
            get => __pbn__lobby_id.GetValueOrDefault();
            set => __pbn__lobby_id = value;
        }
        public bool ShouldSerializelobby_id() => __pbn__lobby_id != null;
        public void Resetlobby_id() => __pbn__lobby_id = null;
        private ulong? __pbn__lobby_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<ulong> player_steam_ids { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerSaveGameResult : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(Result.SaveSuccessful)]
        public Result result
        {
            get => __pbn__result ?? Result.SaveSuccessful;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private Result? __pbn__result;

        [global::ProtoBuf.ProtoContract()]
        public enum Result
        {
            SaveSuccessful = 0,
            SessionNotFound = 1,
            DatabaseError = 2,
            TooBig = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerGetLoadGame : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint save_id
        {
            get => __pbn__save_id.GetValueOrDefault();
            set => __pbn__save_id = value;
        }
        public bool ShouldSerializesave_id() => __pbn__save_id != null;
        public void Resetsave_id() => __pbn__save_id = null;
        private uint? __pbn__save_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerGetLoadGameResult : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public byte[] save_game_data
        {
            get => __pbn__save_game_data;
            set => __pbn__save_game_data = value;
        }
        public bool ShouldSerializesave_game_data() => __pbn__save_game_data != null;
        public void Resetsave_game_data() => __pbn__save_game_data = null;
        private byte[] __pbn__save_game_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAGenerateDiretidePrizeList : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint prize_list
        {
            get => __pbn__prize_list.GetValueOrDefault();
            set => __pbn__prize_list = value;
        }
        public bool ShouldSerializeprize_list() => __pbn__prize_list != null;
        public void Resetprize_list() => __pbn__prize_list = null;
        private uint? __pbn__prize_list;

        [global::ProtoBuf.ProtoMember(2)]
        public uint highest_roshan_level
        {
            get => __pbn__highest_roshan_level.GetValueOrDefault();
            set => __pbn__highest_roshan_level = value;
        }
        public bool ShouldSerializehighest_roshan_level() => __pbn__highest_roshan_level != null;
        public void Resethighest_roshan_level() => __pbn__highest_roshan_level = null;
        private uint? __pbn__highest_roshan_level;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAGenerateDiretidePrizeListResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> item_defs { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> steam_ids { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint prize_list
        {
            get => __pbn__prize_list.GetValueOrDefault();
            set => __pbn__prize_list = value;
        }
        public bool ShouldSerializeprize_list() => __pbn__prize_list != null;
        public void Resetprize_list() => __pbn__prize_list = null;
        private uint? __pbn__prize_list;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARewardDiretidePrizes : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint team
        {
            get => __pbn__team.GetValueOrDefault();
            set => __pbn__team = value;
        }
        public bool ShouldSerializeteam() => __pbn__team != null;
        public void Resetteam() => __pbn__team = null;
        private uint? __pbn__team;

        [global::ProtoBuf.ProtoMember(2)]
        public uint prize_list
        {
            get => __pbn__prize_list.GetValueOrDefault();
            set => __pbn__prize_list = value;
        }
        public bool ShouldSerializeprize_list() => __pbn__prize_list != null;
        public void Resetprize_list() => __pbn__prize_list = null;
        private uint? __pbn__prize_list;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTADiretidePrizesRewardedResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint prize_list
        {
            get => __pbn__prize_list.GetValueOrDefault();
            set => __pbn__prize_list = value;
        }
        public bool ShouldSerializeprize_list() => __pbn__prize_list != null;
        public void Resetprize_list() => __pbn__prize_list = null;
        private uint? __pbn__prize_list;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAAwardEventPoints : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<AwardPoints> award_points { get; } = new global::System.Collections.Generic.List<AwardPoints>();

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoMember(6)]
        public uint audit_action
        {
            get => __pbn__audit_action.GetValueOrDefault();
            set => __pbn__audit_action = value;
        }
        public bool ShouldSerializeaudit_action() => __pbn__audit_action != null;
        public void Resetaudit_action() => __pbn__audit_action = null;
        private uint? __pbn__audit_action;

        [global::ProtoBuf.ProtoContract()]
        public partial class AwardPoints : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public int points
            {
                get => __pbn__points.GetValueOrDefault();
                set => __pbn__points = value;
            }
            public bool ShouldSerializepoints() => __pbn__points != null;
            public void Resetpoints() => __pbn__points = null;
            private int? __pbn__points;

            [global::ProtoBuf.ProtoMember(3)]
            public int premium_points
            {
                get => __pbn__premium_points.GetValueOrDefault();
                set => __pbn__premium_points = value;
            }
            public bool ShouldSerializepremium_points() => __pbn__premium_points != null;
            public void Resetpremium_points() => __pbn__premium_points = null;
            private int? __pbn__premium_points;

            [global::ProtoBuf.ProtoMember(5)]
            public uint trade_ban_time
            {
                get => __pbn__trade_ban_time.GetValueOrDefault();
                set => __pbn__trade_ban_time = value;
            }
            public bool ShouldSerializetrade_ban_time() => __pbn__trade_ban_time != null;
            public void Resettrade_ban_time() => __pbn__trade_ban_time = null;
            private uint? __pbn__trade_ban_time;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue(false)]
            public bool eligible_for_periodic_adjustment
            {
                get => __pbn__eligible_for_periodic_adjustment ?? false;
                set => __pbn__eligible_for_periodic_adjustment = value;
            }
            public bool ShouldSerializeeligible_for_periodic_adjustment() => __pbn__eligible_for_periodic_adjustment != null;
            public void Reseteligible_for_periodic_adjustment() => __pbn__eligible_for_periodic_adjustment = null;
            private bool? __pbn__eligible_for_periodic_adjustment;

            [global::ProtoBuf.ProtoMember(7)]
            [global::System.ComponentModel.DefaultValue(0)]
            public uint point_cap_periodic_resource_id
            {
                get => __pbn__point_cap_periodic_resource_id ?? 0;
                set => __pbn__point_cap_periodic_resource_id = value;
            }
            public bool ShouldSerializepoint_cap_periodic_resource_id() => __pbn__point_cap_periodic_resource_id != null;
            public void Resetpoint_cap_periodic_resource_id() => __pbn__point_cap_periodic_resource_id = null;
            private uint? __pbn__point_cap_periodic_resource_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCSignoutAwardAdditionalDrops : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<AdditionalDrops> drops { get; } = new global::System.Collections.Generic.List<AdditionalDrops>();

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class AdditionalDrops : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue("")]
            public string loot_list
            {
                get => __pbn__loot_list ?? "";
                set => __pbn__loot_list = value;
            }
            public bool ShouldSerializeloot_list() => __pbn__loot_list != null;
            public void Resetloot_list() => __pbn__loot_list = null;
            private string __pbn__loot_list;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<uint> player_account_ids { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(3)]
            public bool no_trade
            {
                get => __pbn__no_trade.GetValueOrDefault();
                set => __pbn__no_trade = value;
            }
            public bool ShouldSerializeno_trade() => __pbn__no_trade != null;
            public void Resetno_trade() => __pbn__no_trade = null;
            private bool? __pbn__no_trade;

            [global::ProtoBuf.ProtoMember(4)]
            public bool randomize_reward
            {
                get => __pbn__randomize_reward.GetValueOrDefault();
                set => __pbn__randomize_reward = value;
            }
            public bool ShouldSerializerandomize_reward() => __pbn__randomize_reward != null;
            public void Resetrandomize_reward() => __pbn__randomize_reward = null;
            private bool? __pbn__randomize_reward;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFrostivusTimeElapsed : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint seconds
        {
            get => __pbn__seconds.GetValueOrDefault();
            set => __pbn__seconds = value;
        }
        public bool ShouldSerializeseconds() => __pbn__seconds != null;
        public void Resetseconds() => __pbn__seconds = null;
        private uint? __pbn__seconds;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<User> users { get; } = new global::System.Collections.Generic.List<User>();

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class User : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint time_elapsed_s
            {
                get => __pbn__time_elapsed_s.GetValueOrDefault();
                set => __pbn__time_elapsed_s = value;
            }
            public bool ShouldSerializetime_elapsed_s() => __pbn__time_elapsed_s != null;
            public void Resettime_elapsed_s() => __pbn__time_elapsed_s = null;
            private uint? __pbn__time_elapsed_s;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerPingRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong request_id
        {
            get => __pbn__request_id.GetValueOrDefault();
            set => __pbn__request_id = value;
        }
        public bool ShouldSerializerequest_id() => __pbn__request_id != null;
        public void Resetrequest_id() => __pbn__request_id = null;
        private ulong? __pbn__request_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong request_time
        {
            get => __pbn__request_time.GetValueOrDefault();
            set => __pbn__request_time = value;
        }
        public bool ShouldSerializerequest_time() => __pbn__request_time != null;
        public void Resetrequest_time() => __pbn__request_time = null;
        private ulong? __pbn__request_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerPingResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong request_id
        {
            get => __pbn__request_id.GetValueOrDefault();
            set => __pbn__request_id = value;
        }
        public bool ShouldSerializerequest_id() => __pbn__request_id != null;
        public void Resetrequest_id() => __pbn__request_id = null;
        private ulong? __pbn__request_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong request_time
        {
            get => __pbn__request_time.GetValueOrDefault();
            set => __pbn__request_time = value;
        }
        public bool ShouldSerializerequest_time() => __pbn__request_time != null;
        public void Resetrequest_time() => __pbn__request_time = null;
        private ulong? __pbn__request_time;

        [global::ProtoBuf.ProtoMember(3)]
        public uint cluster
        {
            get => __pbn__cluster.GetValueOrDefault();
            set => __pbn__cluster = value;
        }
        public bool ShouldSerializecluster() => __pbn__cluster != null;
        public void Resetcluster() => __pbn__cluster = null;
        private uint? __pbn__cluster;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerConsoleCommand : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string console_command
        {
            get => __pbn__console_command ?? "";
            set => __pbn__console_command = value;
        }
        public bool ShouldSerializeconsole_command() => __pbn__console_command != null;
        public void Resetconsole_command() => __pbn__console_command = null;
        private string __pbn__console_command;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGetEventPoints : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<uint> account_id { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGetEventPointsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Points> points { get; } = new global::System.Collections.Generic.List<Points>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Points : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint points_total
            {
                get => __pbn__points_total.GetValueOrDefault();
                set => __pbn__points_total = value;
            }
            public bool ShouldSerializepoints_total() => __pbn__points_total != null;
            public void Resetpoints_total() => __pbn__points_total = null;
            private uint? __pbn__points_total;

            [global::ProtoBuf.ProtoMember(4)]
            public bool owned
            {
                get => __pbn__owned.GetValueOrDefault();
                set => __pbn__owned = value;
            }
            public bool ShouldSerializeowned() => __pbn__owned != null;
            public void Resetowned() => __pbn__owned = null;
            private bool? __pbn__owned;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGrantSurveyPermission : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Survey> surveys { get; } = new global::System.Collections.Generic.List<Survey>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Survey : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint question_id
            {
                get => __pbn__question_id.GetValueOrDefault();
                set => __pbn__question_id = value;
            }
            public bool ShouldSerializequestion_id() => __pbn__question_id != null;
            public void Resetquestion_id() => __pbn__question_id = null;
            private uint? __pbn__question_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint expire_time
            {
                get => __pbn__expire_time.GetValueOrDefault();
                set => __pbn__expire_time = value;
            }
            public bool ShouldSerializeexpire_time() => __pbn__expire_time != null;
            public void Resetexpire_time() => __pbn__expire_time = null;
            private uint? __pbn__expire_time;

            [global::ProtoBuf.ProtoMember(4)]
            public ulong survey_key
            {
                get => __pbn__survey_key.GetValueOrDefault();
                set => __pbn__survey_key = value;
            }
            public bool ShouldSerializesurvey_key() => __pbn__survey_key != null;
            public void Resetsurvey_key() => __pbn__survey_key = null;
            private ulong? __pbn__survey_key;

            [global::ProtoBuf.ProtoMember(5)]
            public ulong extra_data
            {
                get => __pbn__extra_data.GetValueOrDefault();
                set => __pbn__extra_data = value;
            }
            public bool ShouldSerializeextra_data() => __pbn__extra_data != null;
            public void Resetextra_data() => __pbn__extra_data = null;
            private ulong? __pbn__extra_data;

            [global::ProtoBuf.ProtoMember(6)]
            public ulong extra_data_32
            {
                get => __pbn__extra_data_32.GetValueOrDefault();
                set => __pbn__extra_data_32 = value;
            }
            public bool ShouldSerializeextra_data_32() => __pbn__extra_data_32 != null;
            public void Resetextra_data_32() => __pbn__extra_data_32 = null;
            private ulong? __pbn__extra_data_32;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGrantSurveyPermissionResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private uint? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchConnectionStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint region_id
        {
            get => __pbn__region_id.GetValueOrDefault();
            set => __pbn__region_id = value;
        }
        public bool ShouldSerializeregion_id() => __pbn__region_id != null;
        public void Resetregion_id() => __pbn__region_id = null;
        private uint? __pbn__region_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(5)]
        public uint cluster_id
        {
            get => __pbn__cluster_id.GetValueOrDefault();
            set => __pbn__cluster_id = value;
        }
        public bool ShouldSerializecluster_id() => __pbn__cluster_id != null;
        public void Resetcluster_id() => __pbn__cluster_id = null;
        private uint? __pbn__cluster_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public uint ip
            {
                get => __pbn__ip.GetValueOrDefault();
                set => __pbn__ip = value;
            }
            public bool ShouldSerializeip() => __pbn__ip != null;
            public void Resetip() => __pbn__ip = null;
            private uint? __pbn__ip;

            [global::ProtoBuf.ProtoMember(3)]
            public uint avg_ping_ms
            {
                get => __pbn__avg_ping_ms.GetValueOrDefault();
                set => __pbn__avg_ping_ms = value;
            }
            public bool ShouldSerializeavg_ping_ms() => __pbn__avg_ping_ms != null;
            public void Resetavg_ping_ms() => __pbn__avg_ping_ms = null;
            private uint? __pbn__avg_ping_ms;

            [global::ProtoBuf.ProtoMember(5)]
            public float packet_loss
            {
                get => __pbn__packet_loss.GetValueOrDefault();
                set => __pbn__packet_loss = value;
            }
            public bool ShouldSerializepacket_loss() => __pbn__packet_loss != null;
            public void Resetpacket_loss() => __pbn__packet_loss = null;
            private float? __pbn__packet_loss;

            [global::ProtoBuf.ProtoMember(6)]
            public float ping_deviation
            {
                get => __pbn__ping_deviation.GetValueOrDefault();
                set => __pbn__ping_deviation = value;
            }
            public bool ShouldSerializeping_deviation() => __pbn__ping_deviation != null;
            public void Resetping_deviation() => __pbn__ping_deviation = null;
            private float? __pbn__ping_deviation;

            [global::ProtoBuf.ProtoMember(7)]
            public uint full_resends
            {
                get => __pbn__full_resends.GetValueOrDefault();
                set => __pbn__full_resends = value;
            }
            public bool ShouldSerializefull_resends() => __pbn__full_resends != null;
            public void Resetfull_resends() => __pbn__full_resends = null;
            private uint? __pbn__full_resends;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGCUpdateSpectatorCount : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint spectator_count
        {
            get => __pbn__spectator_count.GetValueOrDefault();
            set => __pbn__spectator_count = value;
        }
        public bool ShouldSerializespectator_count() => __pbn__spectator_count != null;
        public void Resetspectator_count() => __pbn__spectator_count = null;
        private uint? __pbn__spectator_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSerializedCombatLog : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public Dictionary dictionary { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CMsgDOTACombatLogEntry> entries { get; } = new global::System.Collections.Generic.List<CMsgDOTACombatLogEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Dictionary : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<DictString> strings { get; } = new global::System.Collections.Generic.List<DictString>();

            [global::ProtoBuf.ProtoContract()]
            public partial class DictString : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
                public uint id { get; set; }

                [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
                public string value { get; set; }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetAdditionalEquips : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetAdditionalEquipsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CUserEquips> equips { get; } = new global::System.Collections.Generic.List<CUserEquips>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CUserEquips : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CAdditionalEquipSlot> equips { get; } = new global::System.Collections.Generic.List<CAdditionalEquipSlot>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetProfileCard : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetProfileCardResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CMsgDOTAProfileCard> cards { get; } = new global::System.Collections.Generic.List<CMsgDOTAProfileCard>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCVictoryPredictions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Record> records { get; } = new global::System.Collections.Generic.List<Record>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Record : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong item_id
            {
                get => __pbn__item_id.GetValueOrDefault();
                set => __pbn__item_id = value;
            }
            public bool ShouldSerializeitem_id() => __pbn__item_id != null;
            public void Resetitem_id() => __pbn__item_id = null;
            private ulong? __pbn__item_id;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<ulong> item_ids { get; } = new global::System.Collections.Generic.List<ulong>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSuspiciousActivity : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(ESuspiciousActivity.k_ESuspiciousActivity_VAC_MultipleInstances)]
        public ESuspiciousActivity activity
        {
            get => __pbn__activity ?? ESuspiciousActivity.k_ESuspiciousActivity_VAC_MultipleInstances;
            set => __pbn__activity = value;
        }
        public bool ShouldSerializeactivity() => __pbn__activity != null;
        public void Resetactivity() => __pbn__activity = null;
        private ESuspiciousActivity? __pbn__activity;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
        public int intdata1
        {
            get => __pbn__intdata1.GetValueOrDefault();
            set => __pbn__intdata1 = value;
        }
        public bool ShouldSerializeintdata1() => __pbn__intdata1 != null;
        public void Resetintdata1() => __pbn__intdata1 = null;
        private int? __pbn__intdata1;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
        public int intdata2
        {
            get => __pbn__intdata2.GetValueOrDefault();
            set => __pbn__intdata2 = value;
        }
        public bool ShouldSerializeintdata2() => __pbn__intdata2 != null;
        public void Resetintdata2() => __pbn__intdata2 = null;
        private int? __pbn__intdata2;

        [global::ProtoBuf.ProtoMember(5)]
        public uint time
        {
            get => __pbn__time.GetValueOrDefault();
            set => __pbn__time = value;
        }
        public bool ShouldSerializetime() => __pbn__time != null;
        public void Resettime() => __pbn__time = null;
        private uint? __pbn__time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestStatus : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestStatus_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint response
        {
            get => __pbn__response.GetValueOrDefault();
            set => __pbn__response = value;
        }
        public bool ShouldSerializeresponse() => __pbn__response != null;
        public void Resetresponse() => __pbn__response = null;
        private uint? __pbn__response;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutAssassinMiniGameInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> winning_players { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> losing_players { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> arcana_owners { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(4)]
        public bool assassin_won
        {
            get => __pbn__assassin_won.GetValueOrDefault();
            set => __pbn__assassin_won = value;
        }
        public bool ShouldSerializeassassin_won() => __pbn__assassin_won != null;
        public void Resetassassin_won() => __pbn__assassin_won = null;
        private bool? __pbn__assassin_won;

        [global::ProtoBuf.ProtoMember(5)]
        public uint target_hero_id
        {
            get => __pbn__target_hero_id.GetValueOrDefault();
            set => __pbn__target_hero_id = value;
        }
        public bool ShouldSerializetarget_hero_id() => __pbn__target_hero_id != null;
        public void Resettarget_hero_id() => __pbn__target_hero_id = null;
        private uint? __pbn__target_hero_id;

        [global::ProtoBuf.ProtoMember(6)]
        public bool contract_completed
        {
            get => __pbn__contract_completed.GetValueOrDefault();
            set => __pbn__contract_completed = value;
        }
        public bool ShouldSerializecontract_completed() => __pbn__contract_completed != null;
        public void Resetcontract_completed() => __pbn__contract_completed = null;
        private bool? __pbn__contract_completed;

        [global::ProtoBuf.ProtoMember(7)]
        public float contract_complete_time
        {
            get => __pbn__contract_complete_time.GetValueOrDefault();
            set => __pbn__contract_complete_time = value;
        }
        public bool ShouldSerializecontract_complete_time() => __pbn__contract_complete_time != null;
        public void Resetcontract_complete_time() => __pbn__contract_complete_time = null;
        private float? __pbn__contract_complete_time;

        [global::ProtoBuf.ProtoMember(8)]
        public bool pa_is_radiant
        {
            get => __pbn__pa_is_radiant.GetValueOrDefault();
            set => __pbn__pa_is_radiant = value;
        }
        public bool ShouldSerializepa_is_radiant() => __pbn__pa_is_radiant != null;
        public void Resetpa_is_radiant() => __pbn__pa_is_radiant = null;
        private bool? __pbn__pa_is_radiant;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetIngameEventData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent @event
        {
            get => __pbn__event ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event = value;
        }
        public bool ShouldSerializeevent() => __pbn__event != null;
        public void Resetevent() => __pbn__event = null;
        private EEvent? __pbn__event;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerIngameEventDataOraclePA : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> target_hero_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCKillSummaries : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint ingameevent_id
        {
            get => __pbn__ingameevent_id.GetValueOrDefault();
            set => __pbn__ingameevent_id = value;
        }
        public bool ShouldSerializeingameevent_id() => __pbn__ingameevent_id != null;
        public void Resetingameevent_id() => __pbn__ingameevent_id = null;
        private uint? __pbn__ingameevent_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<KillSummary> summaries { get; } = new global::System.Collections.Generic.List<KillSummary>();

        [global::ProtoBuf.ProtoContract()]
        public partial class KillSummary : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint killer_hero_id
            {
                get => __pbn__killer_hero_id.GetValueOrDefault();
                set => __pbn__killer_hero_id = value;
            }
            public bool ShouldSerializekiller_hero_id() => __pbn__killer_hero_id != null;
            public void Resetkiller_hero_id() => __pbn__killer_hero_id = null;
            private uint? __pbn__killer_hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint victim_hero_id
            {
                get => __pbn__victim_hero_id.GetValueOrDefault();
                set => __pbn__victim_hero_id = value;
            }
            public bool ShouldSerializevictim_hero_id() => __pbn__victim_hero_id != null;
            public void Resetvictim_hero_id() => __pbn__victim_hero_id = null;
            private uint? __pbn__victim_hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint kill_count
            {
                get => __pbn__kill_count.GetValueOrDefault();
                set => __pbn__kill_count = value;
            }
            public bool ShouldSerializekill_count() => __pbn__kill_count != null;
            public void Resetkill_count() => __pbn__kill_count = null;
            private uint? __pbn__kill_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerPredictionResult : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(3)]
        public bool correct
        {
            get => __pbn__correct.GetValueOrDefault();
            set => __pbn__correct = value;
        }
        public bool ShouldSerializecorrect() => __pbn__correct != null;
        public void Resetcorrect() => __pbn__correct = null;
        private bool? __pbn__correct;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<Prediction> predictions { get; } = new global::System.Collections.Generic.List<Prediction>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Prediction : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint item_def
            {
                get => __pbn__item_def.GetValueOrDefault();
                set => __pbn__item_def = value;
            }
            public bool ShouldSerializeitem_def() => __pbn__item_def != null;
            public void Resetitem_def() => __pbn__item_def = null;
            private uint? __pbn__item_def;

            [global::ProtoBuf.ProtoMember(2)]
            public uint num_correct
            {
                get => __pbn__num_correct.GetValueOrDefault();
                set => __pbn__num_correct = value;
            }
            public bool ShouldSerializenum_correct() => __pbn__num_correct != null;
            public void Resetnum_correct() => __pbn__num_correct = null;
            private uint? __pbn__num_correct;

            [global::ProtoBuf.ProtoMember(3)]
            public uint num_fails
            {
                get => __pbn__num_fails.GetValueOrDefault();
                set => __pbn__num_fails = value;
            }
            public bool ShouldSerializenum_fails() => __pbn__num_fails != null;
            public void Resetnum_fails() => __pbn__num_fails = null;
            private uint? __pbn__num_fails;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(EResult.k_eResult_ItemGranted)]
            public EResult result
            {
                get => __pbn__result ?? EResult.k_eResult_ItemGranted;
                set => __pbn__result = value;
            }
            public bool ShouldSerializeresult() => __pbn__result != null;
            public void Resetresult() => __pbn__result = null;
            private EResult? __pbn__result;

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<uint> granted_item_defs { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoContract()]
            public enum EResult
            {
                k_eResult_ItemGranted = 1,
                k_eResult_Destroyed = 2,
            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCLockCharmTrading : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong item_id
        {
            get => __pbn__item_id.GetValueOrDefault();
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private ulong? __pbn__item_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutUpdatePlayerChallenge : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Challenge> completed { get; } = new global::System.Collections.Generic.List<Challenge>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<Challenge> rerolled { get; } = new global::System.Collections.Generic.List<Challenge>();

        [global::ProtoBuf.ProtoMember(4)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Challenge : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
            public EEvent event_id
            {
                get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private EEvent? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint slot_id
            {
                get => __pbn__slot_id.GetValueOrDefault();
                set => __pbn__slot_id = value;
            }
            public bool ShouldSerializeslot_id() => __pbn__slot_id != null;
            public void Resetslot_id() => __pbn__slot_id = null;
            private uint? __pbn__slot_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint sequence_id
            {
                get => __pbn__sequence_id.GetValueOrDefault();
                set => __pbn__sequence_id = value;
            }
            public bool ShouldSerializesequence_id() => __pbn__sequence_id != null;
            public void Resetsequence_id() => __pbn__sequence_id = null;
            private uint? __pbn__sequence_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(5)]
            public uint challenge_rank
            {
                get => __pbn__challenge_rank.GetValueOrDefault();
                set => __pbn__challenge_rank = value;
            }
            public bool ShouldSerializechallenge_rank() => __pbn__challenge_rank != null;
            public void Resetchallenge_rank() => __pbn__challenge_rank = null;
            private uint? __pbn__challenge_rank;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRerollPlayerChallenge : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgClientToGCRerollPlayerChallenge reroll_msg { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutWagerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint winnings
            {
                get => __pbn__winnings.GetValueOrDefault();
                set => __pbn__winnings = value;
            }
            public bool ShouldSerializewinnings() => __pbn__winnings != null;
            public void Resetwinnings() => __pbn__winnings = null;
            private uint? __pbn__winnings;

            [global::ProtoBuf.ProtoMember(3)]
            public uint max_wager
            {
                get => __pbn__max_wager.GetValueOrDefault();
                set => __pbn__max_wager = value;
            }
            public bool ShouldSerializemax_wager() => __pbn__max_wager != null;
            public void Resetmax_wager() => __pbn__max_wager = null;
            private uint? __pbn__max_wager;

            [global::ProtoBuf.ProtoMember(4)]
            public uint wager
            {
                get => __pbn__wager.GetValueOrDefault();
                set => __pbn__wager = value;
            }
            public bool ShouldSerializewager() => __pbn__wager != null;
            public void Resetwager() => __pbn__wager = null;
            private uint? __pbn__wager;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSpendWager : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(5)]
        public ulong server_steam_id
        {
            get => __pbn__server_steam_id.GetValueOrDefault();
            set => __pbn__server_steam_id = value;
        }
        public bool ShouldSerializeserver_steam_id() => __pbn__server_steam_id != null;
        public void Resetserver_steam_id() => __pbn__server_steam_id = null;
        private ulong? __pbn__server_steam_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint wager
            {
                get => __pbn__wager.GetValueOrDefault();
                set => __pbn__wager = value;
            }
            public bool ShouldSerializewager() => __pbn__wager != null;
            public void Resetwager() => __pbn__wager = null;
            private uint? __pbn__wager;

            [global::ProtoBuf.ProtoMember(3)]
            public ulong wager_token_item_id
            {
                get => __pbn__wager_token_item_id.GetValueOrDefault();
                set => __pbn__wager_token_item_id = value;
            }
            public bool ShouldSerializewager_token_item_id() => __pbn__wager_token_item_id != null;
            public void Resetwager_token_item_id() => __pbn__wager_token_item_id = null;
            private ulong? __pbn__wager_token_item_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutXPCoins : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint xp_gained
            {
                get => __pbn__xp_gained.GetValueOrDefault();
                set => __pbn__xp_gained = value;
            }
            public bool ShouldSerializexp_gained() => __pbn__xp_gained != null;
            public void Resetxp_gained() => __pbn__xp_gained = null;
            private uint? __pbn__xp_gained;

            [global::ProtoBuf.ProtoMember(3)]
            public uint coins_spent
            {
                get => __pbn__coins_spent.GetValueOrDefault();
                set => __pbn__coins_spent = value;
            }
            public bool ShouldSerializecoins_spent() => __pbn__coins_spent != null;
            public void Resetcoins_spent() => __pbn__coins_spent = null;
            private uint? __pbn__coins_spent;

            [global::ProtoBuf.ProtoMember(4)]
            public ulong wager_token_item_id
            {
                get => __pbn__wager_token_item_id.GetValueOrDefault();
                set => __pbn__wager_token_item_id = value;
            }
            public bool ShouldSerializewager_token_item_id() => __pbn__wager_token_item_id != null;
            public void Resetwager_token_item_id() => __pbn__wager_token_item_id = null;
            private ulong? __pbn__wager_token_item_id;

            [global::ProtoBuf.ProtoMember(5)]
            public uint rank_wager
            {
                get => __pbn__rank_wager.GetValueOrDefault();
                set => __pbn__rank_wager = value;
            }
            public bool ShouldSerializerank_wager() => __pbn__rank_wager != null;
            public void Resetrank_wager() => __pbn__rank_wager = null;
            private uint? __pbn__rank_wager;

            [global::ProtoBuf.ProtoMember(6)]
            public uint wager_streak
            {
                get => __pbn__wager_streak.GetValueOrDefault();
                set => __pbn__wager_streak = value;
            }
            public bool ShouldSerializewager_streak() => __pbn__wager_streak != null;
            public void Resetwager_streak() => __pbn__wager_streak = null;
            private uint? __pbn__wager_streak;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutBounties : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Bounty> bounties { get; } = new global::System.Collections.Generic.List<Bounty>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoContract()]
        public partial class Bounty : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint issuer_account_id
            {
                get => __pbn__issuer_account_id.GetValueOrDefault();
                set => __pbn__issuer_account_id = value;
            }
            public bool ShouldSerializeissuer_account_id() => __pbn__issuer_account_id != null;
            public void Resetissuer_account_id() => __pbn__issuer_account_id = null;
            private uint? __pbn__issuer_account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint completer_account_id
            {
                get => __pbn__completer_account_id.GetValueOrDefault();
                set => __pbn__completer_account_id = value;
            }
            public bool ShouldSerializecompleter_account_id() => __pbn__completer_account_id != null;
            public void Resetcompleter_account_id() => __pbn__completer_account_id = null;
            private uint? __pbn__completer_account_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint target_account_id
            {
                get => __pbn__target_account_id.GetValueOrDefault();
                set => __pbn__target_account_id = value;
            }
            public bool ShouldSerializetarget_account_id() => __pbn__target_account_id != null;
            public void Resettarget_account_id() => __pbn__target_account_id = null;
            private uint? __pbn__target_account_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutCommunityGoalProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<EventGoalIncrement> event_increments { get; } = new global::System.Collections.Generic.List<EventGoalIncrement>();

        [global::ProtoBuf.ProtoContract()]
        public partial class EventGoalIncrement : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint event_goal_id
            {
                get => __pbn__event_goal_id.GetValueOrDefault();
                set => __pbn__event_goal_id = value;
            }
            public bool ShouldSerializeevent_goal_id() => __pbn__event_goal_id != null;
            public void Resetevent_goal_id() => __pbn__event_goal_id = null;
            private uint? __pbn__event_goal_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint increment_amount
            {
                get => __pbn__increment_amount.GetValueOrDefault();
                set => __pbn__increment_amount = value;
            }
            public bool ShouldSerializeincrement_amount() => __pbn__increment_amount != null;
            public void Resetincrement_amount() => __pbn__increment_amount = null;
            private uint? __pbn__increment_amount;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCPostMatchTip : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint tipper_account_id
        {
            get => __pbn__tipper_account_id.GetValueOrDefault();
            set => __pbn__tipper_account_id = value;
        }
        public bool ShouldSerializetipper_account_id() => __pbn__tipper_account_id != null;
        public void Resettipper_account_id() => __pbn__tipper_account_id = null;
        private uint? __pbn__tipper_account_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint recipient_account_id
        {
            get => __pbn__recipient_account_id.GetValueOrDefault();
            set => __pbn__recipient_account_id = value;
        }
        public bool ShouldSerializerecipient_account_id() => __pbn__recipient_account_id != null;
        public void Resetrecipient_account_id() => __pbn__recipient_account_id = null;
        private uint? __pbn__recipient_account_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint tip_amount
        {
            get => __pbn__tip_amount.GetValueOrDefault();
            set => __pbn__tip_amount = value;
        }
        public bool ShouldSerializetip_amount() => __pbn__tip_amount != null;
        public void Resettip_amount() => __pbn__tip_amount = null;
        private uint? __pbn__tip_amount;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCPostMatchTipResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint tipper_account_id
        {
            get => __pbn__tipper_account_id.GetValueOrDefault();
            set => __pbn__tipper_account_id = value;
        }
        public bool ShouldSerializetipper_account_id() => __pbn__tipper_account_id != null;
        public void Resettipper_account_id() => __pbn__tipper_account_id = null;
        private uint? __pbn__tipper_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint recipient_account_id
        {
            get => __pbn__recipient_account_id.GetValueOrDefault();
            set => __pbn__recipient_account_id = value;
        }
        public bool ShouldSerializerecipient_account_id() => __pbn__recipient_account_id != null;
        public void Resetrecipient_account_id() => __pbn__recipient_account_id = null;
        private uint? __pbn__recipient_account_id;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(Result.SUCCESS)]
        public Result result
        {
            get => __pbn__result ?? Result.SUCCESS;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private Result? __pbn__result;

        [global::ProtoBuf.ProtoContract()]
        public enum Result
        {
            SUCCESS = 0,
            FAILURE = 1,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCloseCompendiumInGamePredictionVoting : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint hltv_delay
        {
            get => __pbn__hltv_delay.GetValueOrDefault();
            set => __pbn__hltv_delay = value;
        }
        public bool ShouldSerializehltv_delay() => __pbn__hltv_delay != null;
        public void Resethltv_delay() => __pbn__hltv_delay = null;
        private uint? __pbn__hltv_delay;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private bool? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCompendiumInGamePredictionResults : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<PredictionResult> results { get; } = new global::System.Collections.Generic.List<PredictionResult>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint league_node_id
        {
            get => __pbn__league_node_id.GetValueOrDefault();
            set => __pbn__league_node_id = value;
        }
        public bool ShouldSerializeleague_node_id() => __pbn__league_node_id != null;
        public void Resetleague_node_id() => __pbn__league_node_id = null;
        private uint? __pbn__league_node_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class PredictionResult : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint prediction_id
            {
                get => __pbn__prediction_id.GetValueOrDefault();
                set => __pbn__prediction_id = value;
            }
            public bool ShouldSerializeprediction_id() => __pbn__prediction_id != null;
            public void Resetprediction_id() => __pbn__prediction_id = null;
            private uint? __pbn__prediction_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint prediction_value
            {
                get => __pbn__prediction_value.GetValueOrDefault();
                set => __pbn__prediction_value = value;
            }
            public bool ShouldSerializeprediction_value() => __pbn__prediction_value != null;
            public void Resetprediction_value() => __pbn__prediction_value = null;
            private uint? __pbn__prediction_value;

            [global::ProtoBuf.ProtoMember(3)]
            public bool prediction_value_is_mask
            {
                get => __pbn__prediction_value_is_mask.GetValueOrDefault();
                set => __pbn__prediction_value_is_mask = value;
            }
            public bool ShouldSerializeprediction_value_is_mask() => __pbn__prediction_value_is_mask != null;
            public void Resetprediction_value_is_mask() => __pbn__prediction_value_is_mask = null;
            private bool? __pbn__prediction_value_is_mask;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCompendiumInGamePredictionResultsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private bool? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCCompendiumInGamePredictionResults : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgServerToGCCompendiumInGamePredictionResults results { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchPlayerItemPurchaseHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemPurchase : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint item
            {
                get => __pbn__item.GetValueOrDefault();
                set => __pbn__item = value;
            }
            public bool ShouldSerializeitem() => __pbn__item != null;
            public void Resetitem() => __pbn__item = null;
            private uint? __pbn__item;

            [global::ProtoBuf.ProtoMember(2)]
            public uint gold
            {
                get => __pbn__gold.GetValueOrDefault();
                set => __pbn__gold = value;
            }
            public bool ShouldSerializegold() => __pbn__gold != null;
            public void Resetgold() => __pbn__gold = null;
            private uint? __pbn__gold;

            [global::ProtoBuf.ProtoMember(3)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(4)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<uint> inventory_items { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(7)]
            public global::System.Collections.Generic.List<bool> talents_skilled { get; } = new global::System.Collections.Generic.List<bool>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(2)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<uint> allied_hero_ids { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<uint> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase> item_purchases { get; } = new global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchStateHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public bool radiant_won
        {
            get => __pbn__radiant_won.GetValueOrDefault();
            set => __pbn__radiant_won = value;
        }
        public bool ShouldSerializeradiant_won() => __pbn__radiant_won != null;
        public void Resetradiant_won() => __pbn__radiant_won = null;
        private bool? __pbn__radiant_won;

        [global::ProtoBuf.ProtoMember(3)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<MatchState> match_states { get; } = new global::System.Collections.Generic.List<MatchState>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(3)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(5)]
            public uint respawn_time
            {
                get => __pbn__respawn_time.GetValueOrDefault();
                set => __pbn__respawn_time = value;
            }
            public bool ShouldSerializerespawn_time() => __pbn__respawn_time != null;
            public void Resetrespawn_time() => __pbn__respawn_time = null;
            private uint? __pbn__respawn_time;

            [global::ProtoBuf.ProtoMember(6)]
            public bool has_buyback
            {
                get => __pbn__has_buyback.GetValueOrDefault();
                set => __pbn__has_buyback = value;
            }
            public bool ShouldSerializehas_buyback() => __pbn__has_buyback != null;
            public void Resethas_buyback() => __pbn__has_buyback = null;
            private bool? __pbn__has_buyback;

            [global::ProtoBuf.ProtoMember(7)]
            public bool has_aegis
            {
                get => __pbn__has_aegis.GetValueOrDefault();
                set => __pbn__has_aegis = value;
            }
            public bool ShouldSerializehas_aegis() => __pbn__has_aegis != null;
            public void Resethas_aegis() => __pbn__has_aegis = null;
            private bool? __pbn__has_aegis;

            [global::ProtoBuf.ProtoMember(8)]
            public bool has_rapier
            {
                get => __pbn__has_rapier.GetValueOrDefault();
                set => __pbn__has_rapier = value;
            }
            public bool ShouldSerializehas_rapier() => __pbn__has_rapier != null;
            public void Resethas_rapier() => __pbn__has_rapier = null;
            private bool? __pbn__has_rapier;

            [global::ProtoBuf.ProtoMember(9)]
            public uint distance
            {
                get => __pbn__distance.GetValueOrDefault();
                set => __pbn__distance = value;
            }
            public bool ShouldSerializedistance() => __pbn__distance != null;
            public void Resetdistance() => __pbn__distance = null;
            private uint? __pbn__distance;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint team
            {
                get => __pbn__team.GetValueOrDefault();
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private uint? __pbn__team;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgServerToGCMatchStateHistory.PlayerState> player_states { get; } = new global::System.Collections.Generic.List<CMsgServerToGCMatchStateHistory.PlayerState>();

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<uint> tower_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<uint> barracks_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(5)]
            public uint ancient_health_pct
            {
                get => __pbn__ancient_health_pct.GetValueOrDefault();
                set => __pbn__ancient_health_pct = value;
            }
            public bool ShouldSerializeancient_health_pct() => __pbn__ancient_health_pct != null;
            public void Resetancient_health_pct() => __pbn__ancient_health_pct = null;
            private uint? __pbn__ancient_health_pct;

            [global::ProtoBuf.ProtoMember(6)]
            public uint glyph_cooldown
            {
                get => __pbn__glyph_cooldown.GetValueOrDefault();
                set => __pbn__glyph_cooldown = value;
            }
            public bool ShouldSerializeglyph_cooldown() => __pbn__glyph_cooldown != null;
            public void Resetglyph_cooldown() => __pbn__glyph_cooldown = null;
            private uint? __pbn__glyph_cooldown;

            [global::ProtoBuf.ProtoMember(7)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(8)]
            public uint creep_distance_safe
            {
                get => __pbn__creep_distance_safe.GetValueOrDefault();
                set => __pbn__creep_distance_safe = value;
            }
            public bool ShouldSerializecreep_distance_safe() => __pbn__creep_distance_safe != null;
            public void Resetcreep_distance_safe() => __pbn__creep_distance_safe = null;
            private uint? __pbn__creep_distance_safe;

            [global::ProtoBuf.ProtoMember(9)]
            public uint creep_distance_mid
            {
                get => __pbn__creep_distance_mid.GetValueOrDefault();
                set => __pbn__creep_distance_mid = value;
            }
            public bool ShouldSerializecreep_distance_mid() => __pbn__creep_distance_mid != null;
            public void Resetcreep_distance_mid() => __pbn__creep_distance_mid = null;
            private uint? __pbn__creep_distance_mid;

            [global::ProtoBuf.ProtoMember(10)]
            public uint creep_distance_off
            {
                get => __pbn__creep_distance_off.GetValueOrDefault();
                set => __pbn__creep_distance_off = value;
            }
            public bool ShouldSerializecreep_distance_off() => __pbn__creep_distance_off != null;
            public void Resetcreep_distance_off() => __pbn__creep_distance_off = null;
            private uint? __pbn__creep_distance_off;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class MatchState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgServerToGCMatchStateHistory.TeamState radiant_state { get; set; }

            [global::ProtoBuf.ProtoMember(3)]
            public CMsgServerToGCMatchStateHistory.TeamState dire_state { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCavernCrawlIsHeroActive : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint event_id
        {
            get => __pbn__event_id.GetValueOrDefault();
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private uint? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint map_variant
        {
            get => __pbn__map_variant.GetValueOrDefault();
            set => __pbn__map_variant = value;
        }
        public bool ShouldSerializemap_variant() => __pbn__map_variant != null;
        public void Resetmap_variant() => __pbn__map_variant = null;
        private uint? __pbn__map_variant;

        [global::ProtoBuf.ProtoMember(4)]
        public uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(5)]
        public bool turbo_mode
        {
            get => __pbn__turbo_mode.GetValueOrDefault();
            set => __pbn__turbo_mode = value;
        }
        public bool ShouldSerializeturbo_mode() => __pbn__turbo_mode != null;
        public void Resetturbo_mode() => __pbn__turbo_mode = null;
        private bool? __pbn__turbo_mode;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCavernCrawlIsHeroActiveResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private bool? __pbn__result;

        [global::ProtoBuf.ProtoMember(2)]
        public uint potential_winnings
        {
            get => __pbn__potential_winnings.GetValueOrDefault();
            set => __pbn__potential_winnings = value;
        }
        public bool ShouldSerializepotential_winnings() => __pbn__potential_winnings != null;
        public void Resetpotential_winnings() => __pbn__potential_winnings = null;
        private uint? __pbn__potential_winnings;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<MapResults> map_results { get; } = new global::System.Collections.Generic.List<MapResults>();

        [global::ProtoBuf.ProtoMember(4)]
        public uint potential_plus_shard_winnings
        {
            get => __pbn__potential_plus_shard_winnings.GetValueOrDefault();
            set => __pbn__potential_plus_shard_winnings = value;
        }
        public bool ShouldSerializepotential_plus_shard_winnings() => __pbn__potential_plus_shard_winnings != null;
        public void Resetpotential_plus_shard_winnings() => __pbn__potential_plus_shard_winnings = null;
        private uint? __pbn__potential_plus_shard_winnings;

        [global::ProtoBuf.ProtoContract()]
        public partial class MapResults : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint path_id_completed
            {
                get => __pbn__path_id_completed.GetValueOrDefault();
                set => __pbn__path_id_completed = value;
            }
            public bool ShouldSerializepath_id_completed() => __pbn__path_id_completed != null;
            public void Resetpath_id_completed() => __pbn__path_id_completed = null;
            private uint? __pbn__path_id_completed;

            [global::ProtoBuf.ProtoMember(2)]
            public uint room_id_claimed
            {
                get => __pbn__room_id_claimed.GetValueOrDefault();
                set => __pbn__room_id_claimed = value;
            }
            public bool ShouldSerializeroom_id_claimed() => __pbn__room_id_claimed != null;
            public void Resetroom_id_claimed() => __pbn__room_id_claimed = null;
            private uint? __pbn__room_id_claimed;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCtoServerTensorflowInstance : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint server_instance
        {
            get => __pbn__server_instance.GetValueOrDefault();
            set => __pbn__server_instance = value;
        }
        public bool ShouldSerializeserver_instance() => __pbn__server_instance != null;
        public void Resetserver_instance() => __pbn__server_instance = null;
        private uint? __pbn__server_instance;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDetailedGameStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<MinuteEntry> minutes { get; } = new global::System.Collections.Generic.List<MinuteEntry>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<PlayerInfo> player_info { get; } = new global::System.Collections.Generic.List<PlayerInfo>();

        [global::ProtoBuf.ProtoMember(3)]
        public GameStats game_stats { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerStatEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint total_earned_gold
            {
                get => __pbn__total_earned_gold.GetValueOrDefault();
                set => __pbn__total_earned_gold = value;
            }
            public bool ShouldSerializetotal_earned_gold() => __pbn__total_earned_gold != null;
            public void Resettotal_earned_gold() => __pbn__total_earned_gold = null;
            private uint? __pbn__total_earned_gold;

            [global::ProtoBuf.ProtoMember(2)]
            public uint total_networth
            {
                get => __pbn__total_networth.GetValueOrDefault();
                set => __pbn__total_networth = value;
            }
            public bool ShouldSerializetotal_networth() => __pbn__total_networth != null;
            public void Resettotal_networth() => __pbn__total_networth = null;
            private uint? __pbn__total_networth;

            [global::ProtoBuf.ProtoMember(3)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint total_dps
            {
                get => __pbn__total_dps.GetValueOrDefault();
                set => __pbn__total_dps = value;
            }
            public bool ShouldSerializetotal_dps() => __pbn__total_dps != null;
            public void Resettotal_dps() => __pbn__total_dps = null;
            private uint? __pbn__total_dps;

            [global::ProtoBuf.ProtoMember(5)]
            public uint average_dps
            {
                get => __pbn__average_dps.GetValueOrDefault();
                set => __pbn__average_dps = value;
            }
            public bool ShouldSerializeaverage_dps() => __pbn__average_dps != null;
            public void Resetaverage_dps() => __pbn__average_dps = null;
            private uint? __pbn__average_dps;

            [global::ProtoBuf.ProtoMember(6)]
            public uint ability_damage_output
            {
                get => __pbn__ability_damage_output.GetValueOrDefault();
                set => __pbn__ability_damage_output = value;
            }
            public bool ShouldSerializeability_damage_output() => __pbn__ability_damage_output != null;
            public void Resetability_damage_output() => __pbn__ability_damage_output = null;
            private uint? __pbn__ability_damage_output;

            [global::ProtoBuf.ProtoMember(7)]
            public uint base_health
            {
                get => __pbn__base_health.GetValueOrDefault();
                set => __pbn__base_health = value;
            }
            public bool ShouldSerializebase_health() => __pbn__base_health != null;
            public void Resetbase_health() => __pbn__base_health = null;
            private uint? __pbn__base_health;

            [global::ProtoBuf.ProtoMember(8)]
            public uint total_health
            {
                get => __pbn__total_health.GetValueOrDefault();
                set => __pbn__total_health = value;
            }
            public bool ShouldSerializetotal_health() => __pbn__total_health != null;
            public void Resettotal_health() => __pbn__total_health = null;
            private uint? __pbn__total_health;

            [global::ProtoBuf.ProtoMember(9)]
            public uint total_mana
            {
                get => __pbn__total_mana.GetValueOrDefault();
                set => __pbn__total_mana = value;
            }
            public bool ShouldSerializetotal_mana() => __pbn__total_mana != null;
            public void Resettotal_mana() => __pbn__total_mana = null;
            private uint? __pbn__total_mana;

            [global::ProtoBuf.ProtoMember(10)]
            public float base_physical_damage_reduction_pct
            {
                get => __pbn__base_physical_damage_reduction_pct.GetValueOrDefault();
                set => __pbn__base_physical_damage_reduction_pct = value;
            }
            public bool ShouldSerializebase_physical_damage_reduction_pct() => __pbn__base_physical_damage_reduction_pct != null;
            public void Resetbase_physical_damage_reduction_pct() => __pbn__base_physical_damage_reduction_pct = null;
            private float? __pbn__base_physical_damage_reduction_pct;

            [global::ProtoBuf.ProtoMember(11)]
            public float total_physical_damage_reduction_pct
            {
                get => __pbn__total_physical_damage_reduction_pct.GetValueOrDefault();
                set => __pbn__total_physical_damage_reduction_pct = value;
            }
            public bool ShouldSerializetotal_physical_damage_reduction_pct() => __pbn__total_physical_damage_reduction_pct != null;
            public void Resettotal_physical_damage_reduction_pct() => __pbn__total_physical_damage_reduction_pct = null;
            private float? __pbn__total_physical_damage_reduction_pct;

            [global::ProtoBuf.ProtoMember(12)]
            public float base_ability_damage_reduction_pct
            {
                get => __pbn__base_ability_damage_reduction_pct.GetValueOrDefault();
                set => __pbn__base_ability_damage_reduction_pct = value;
            }
            public bool ShouldSerializebase_ability_damage_reduction_pct() => __pbn__base_ability_damage_reduction_pct != null;
            public void Resetbase_ability_damage_reduction_pct() => __pbn__base_ability_damage_reduction_pct = null;
            private float? __pbn__base_ability_damage_reduction_pct;

            [global::ProtoBuf.ProtoMember(13)]
            public float total_ability_damage_reduction_pct
            {
                get => __pbn__total_ability_damage_reduction_pct.GetValueOrDefault();
                set => __pbn__total_ability_damage_reduction_pct = value;
            }
            public bool ShouldSerializetotal_ability_damage_reduction_pct() => __pbn__total_ability_damage_reduction_pct != null;
            public void Resettotal_ability_damage_reduction_pct() => __pbn__total_ability_damage_reduction_pct = null;
            private float? __pbn__total_ability_damage_reduction_pct;

            [global::ProtoBuf.ProtoMember(14)]
            public float ability_damage_block
            {
                get => __pbn__ability_damage_block.GetValueOrDefault();
                set => __pbn__ability_damage_block = value;
            }
            public bool ShouldSerializeability_damage_block() => __pbn__ability_damage_block != null;
            public void Resetability_damage_block() => __pbn__ability_damage_block = null;
            private float? __pbn__ability_damage_block;

            [global::ProtoBuf.ProtoMember(15)]
            public float physical_damage_block
            {
                get => __pbn__physical_damage_block.GetValueOrDefault();
                set => __pbn__physical_damage_block = value;
            }
            public bool ShouldSerializephysical_damage_block() => __pbn__physical_damage_block != null;
            public void Resetphysical_damage_block() => __pbn__physical_damage_block = null;
            private float? __pbn__physical_damage_block;

            [global::ProtoBuf.ProtoMember(16)]
            public uint mana_regen
            {
                get => __pbn__mana_regen.GetValueOrDefault();
                set => __pbn__mana_regen = value;
            }
            public bool ShouldSerializemana_regen() => __pbn__mana_regen != null;
            public void Resetmana_regen() => __pbn__mana_regen = null;
            private uint? __pbn__mana_regen;

            [global::ProtoBuf.ProtoMember(17)]
            public uint health_regen
            {
                get => __pbn__health_regen.GetValueOrDefault();
                set => __pbn__health_regen = value;
            }
            public bool ShouldSerializehealth_regen() => __pbn__health_regen != null;
            public void Resethealth_regen() => __pbn__health_regen = null;
            private uint? __pbn__health_regen;

            [global::ProtoBuf.ProtoMember(18)]
            public float physical_magic_dmg_pct
            {
                get => __pbn__physical_magic_dmg_pct.GetValueOrDefault();
                set => __pbn__physical_magic_dmg_pct = value;
            }
            public bool ShouldSerializephysical_magic_dmg_pct() => __pbn__physical_magic_dmg_pct != null;
            public void Resetphysical_magic_dmg_pct() => __pbn__physical_magic_dmg_pct = null;
            private float? __pbn__physical_magic_dmg_pct;

            [global::ProtoBuf.ProtoMember(19)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(20)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(21)]
            public uint assists
            {
                get => __pbn__assists.GetValueOrDefault();
                set => __pbn__assists = value;
            }
            public bool ShouldSerializeassists() => __pbn__assists != null;
            public void Resetassists() => __pbn__assists = null;
            private uint? __pbn__assists;

            [global::ProtoBuf.ProtoMember(22)]
            public uint gold_from_kills
            {
                get => __pbn__gold_from_kills.GetValueOrDefault();
                set => __pbn__gold_from_kills = value;
            }
            public bool ShouldSerializegold_from_kills() => __pbn__gold_from_kills != null;
            public void Resetgold_from_kills() => __pbn__gold_from_kills = null;
            private uint? __pbn__gold_from_kills;

            [global::ProtoBuf.ProtoMember(23)]
            public uint gold_from_creeps
            {
                get => __pbn__gold_from_creeps.GetValueOrDefault();
                set => __pbn__gold_from_creeps = value;
            }
            public bool ShouldSerializegold_from_creeps() => __pbn__gold_from_creeps != null;
            public void Resetgold_from_creeps() => __pbn__gold_from_creeps = null;
            private uint? __pbn__gold_from_creeps;

            [global::ProtoBuf.ProtoMember(24)]
            public uint gold_shared
            {
                get => __pbn__gold_shared.GetValueOrDefault();
                set => __pbn__gold_shared = value;
            }
            public bool ShouldSerializegold_shared() => __pbn__gold_shared != null;
            public void Resetgold_shared() => __pbn__gold_shared = null;
            private uint? __pbn__gold_shared;

            [global::ProtoBuf.ProtoMember(25)]
            public uint xp_from_kills
            {
                get => __pbn__xp_from_kills.GetValueOrDefault();
                set => __pbn__xp_from_kills = value;
            }
            public bool ShouldSerializexp_from_kills() => __pbn__xp_from_kills != null;
            public void Resetxp_from_kills() => __pbn__xp_from_kills = null;
            private uint? __pbn__xp_from_kills;

            [global::ProtoBuf.ProtoMember(26)]
            public uint xp_from_creeps
            {
                get => __pbn__xp_from_creeps.GetValueOrDefault();
                set => __pbn__xp_from_creeps = value;
            }
            public bool ShouldSerializexp_from_creeps() => __pbn__xp_from_creeps != null;
            public void Resetxp_from_creeps() => __pbn__xp_from_creeps = null;
            private uint? __pbn__xp_from_creeps;

            [global::ProtoBuf.ProtoMember(27)]
            public uint total_xp
            {
                get => __pbn__total_xp.GetValueOrDefault();
                set => __pbn__total_xp = value;
            }
            public bool ShouldSerializetotal_xp() => __pbn__total_xp != null;
            public void Resettotal_xp() => __pbn__total_xp = null;
            private uint? __pbn__total_xp;

            [global::ProtoBuf.ProtoMember(28)]
            public uint ability_casts
            {
                get => __pbn__ability_casts.GetValueOrDefault();
                set => __pbn__ability_casts = value;
            }
            public bool ShouldSerializeability_casts() => __pbn__ability_casts != null;
            public void Resetability_casts() => __pbn__ability_casts = null;
            private uint? __pbn__ability_casts;

            [global::ProtoBuf.ProtoMember(29)]
            public uint item_casts
            {
                get => __pbn__item_casts.GetValueOrDefault();
                set => __pbn__item_casts = value;
            }
            public bool ShouldSerializeitem_casts() => __pbn__item_casts != null;
            public void Resetitem_casts() => __pbn__item_casts = null;
            private uint? __pbn__item_casts;

            [global::ProtoBuf.ProtoMember(30)]
            public float total_time_stunned
            {
                get => __pbn__total_time_stunned.GetValueOrDefault();
                set => __pbn__total_time_stunned = value;
            }
            public bool ShouldSerializetotal_time_stunned() => __pbn__total_time_stunned != null;
            public void Resettotal_time_stunned() => __pbn__total_time_stunned = null;
            private float? __pbn__total_time_stunned;

            [global::ProtoBuf.ProtoMember(31)]
            public uint item_count
            {
                get => __pbn__item_count.GetValueOrDefault();
                set => __pbn__item_count = value;
            }
            public bool ShouldSerializeitem_count() => __pbn__item_count != null;
            public void Resetitem_count() => __pbn__item_count = null;
            private uint? __pbn__item_count;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GameStats : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint tower_death_time_t1
            {
                get => __pbn__tower_death_time_t1.GetValueOrDefault();
                set => __pbn__tower_death_time_t1 = value;
            }
            public bool ShouldSerializetower_death_time_t1() => __pbn__tower_death_time_t1 != null;
            public void Resettower_death_time_t1() => __pbn__tower_death_time_t1 = null;
            private uint? __pbn__tower_death_time_t1;

            [global::ProtoBuf.ProtoMember(2)]
            public uint tower_death_time_t2
            {
                get => __pbn__tower_death_time_t2.GetValueOrDefault();
                set => __pbn__tower_death_time_t2 = value;
            }
            public bool ShouldSerializetower_death_time_t2() => __pbn__tower_death_time_t2 != null;
            public void Resettower_death_time_t2() => __pbn__tower_death_time_t2 = null;
            private uint? __pbn__tower_death_time_t2;

            [global::ProtoBuf.ProtoMember(3)]
            public uint tower_death_time_t3
            {
                get => __pbn__tower_death_time_t3.GetValueOrDefault();
                set => __pbn__tower_death_time_t3 = value;
            }
            public bool ShouldSerializetower_death_time_t3() => __pbn__tower_death_time_t3 != null;
            public void Resettower_death_time_t3() => __pbn__tower_death_time_t3 = null;
            private uint? __pbn__tower_death_time_t3;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class MinuteEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint minute
            {
                get => __pbn__minute.GetValueOrDefault();
                set => __pbn__minute = value;
            }
            public bool ShouldSerializeminute() => __pbn__minute != null;
            public void Resetminute() => __pbn__minute = null;
            private uint? __pbn__minute;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgDetailedGameStats.PlayerStatEntry> stats { get; } = new global::System.Collections.Generic.List<CMsgDetailedGameStats.PlayerStatEntry>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerInfo : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgAllStarStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerStats> player_stats { get; } = new global::System.Collections.Generic.List<PlayerStats>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerStats : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint player_id
            {
                get => __pbn__player_id.GetValueOrDefault();
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private uint? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<uint> killstreak { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<uint> num_multi_kills { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(5)]
            public uint killstreak_ended
            {
                get => __pbn__killstreak_ended.GetValueOrDefault();
                set => __pbn__killstreak_ended = value;
            }
            public bool ShouldSerializekillstreak_ended() => __pbn__killstreak_ended != null;
            public void Resetkillstreak_ended() => __pbn__killstreak_ended = null;
            private uint? __pbn__killstreak_ended;

            [global::ProtoBuf.ProtoMember(6)]
            public uint roshan_kills
            {
                get => __pbn__roshan_kills.GetValueOrDefault();
                set => __pbn__roshan_kills = value;
            }
            public bool ShouldSerializeroshan_kills() => __pbn__roshan_kills != null;
            public void Resetroshan_kills() => __pbn__roshan_kills = null;
            private uint? __pbn__roshan_kills;

            [global::ProtoBuf.ProtoMember(7)]
            public uint first_bloods
            {
                get => __pbn__first_bloods.GetValueOrDefault();
                set => __pbn__first_bloods = value;
            }
            public bool ShouldSerializefirst_bloods() => __pbn__first_bloods != null;
            public void Resetfirst_bloods() => __pbn__first_bloods = null;
            private uint? __pbn__first_bloods;

            [global::ProtoBuf.ProtoMember(8)]
            public uint courier_kills
            {
                get => __pbn__courier_kills.GetValueOrDefault();
                set => __pbn__courier_kills = value;
            }
            public bool ShouldSerializecourier_kills() => __pbn__courier_kills != null;
            public void Resetcourier_kills() => __pbn__courier_kills = null;
            private uint? __pbn__courier_kills;

            [global::ProtoBuf.ProtoMember(9)]
            public uint tower_kills
            {
                get => __pbn__tower_kills.GetValueOrDefault();
                set => __pbn__tower_kills = value;
            }
            public bool ShouldSerializetower_kills() => __pbn__tower_kills != null;
            public void Resettower_kills() => __pbn__tower_kills = null;
            private uint? __pbn__tower_kills;

            [global::ProtoBuf.ProtoMember(10)]
            public bool first_taunt
            {
                get => __pbn__first_taunt.GetValueOrDefault();
                set => __pbn__first_taunt = value;
            }
            public bool ShouldSerializefirst_taunt() => __pbn__first_taunt != null;
            public void Resetfirst_taunt() => __pbn__first_taunt = null;
            private bool? __pbn__first_taunt;

            [global::ProtoBuf.ProtoMember(11)]
            public bool first_high_five
            {
                get => __pbn__first_high_five.GetValueOrDefault();
                set => __pbn__first_high_five = value;
            }
            public bool ShouldSerializefirst_high_five() => __pbn__first_high_five != null;
            public void Resetfirst_high_five() => __pbn__first_high_five = null;
            private bool? __pbn__first_high_five;

            [global::ProtoBuf.ProtoMember(12)]
            public bool first_ceb
            {
                get => __pbn__first_ceb.GetValueOrDefault();
                set => __pbn__first_ceb = value;
            }
            public bool ShouldSerializefirst_ceb() => __pbn__first_ceb != null;
            public void Resetfirst_ceb() => __pbn__first_ceb = null;
            private bool? __pbn__first_ceb;

            [global::ProtoBuf.ProtoMember(13)]
            public bool first_tip
            {
                get => __pbn__first_tip.GetValueOrDefault();
                set => __pbn__first_tip = value;
            }
            public bool ShouldSerializefirst_tip() => __pbn__first_tip != null;
            public void Resetfirst_tip() => __pbn__first_tip = null;
            private bool? __pbn__first_tip;

            [global::ProtoBuf.ProtoMember(14)]
            public bool first_rapier
            {
                get => __pbn__first_rapier.GetValueOrDefault();
                set => __pbn__first_rapier = value;
            }
            public bool ShouldSerializefirst_rapier() => __pbn__first_rapier != null;
            public void Resetfirst_rapier() => __pbn__first_rapier = null;
            private bool? __pbn__first_rapier;

            [global::ProtoBuf.ProtoMember(15)]
            public bool first_aegis_deny
            {
                get => __pbn__first_aegis_deny.GetValueOrDefault();
                set => __pbn__first_aegis_deny = value;
            }
            public bool ShouldSerializefirst_aegis_deny() => __pbn__first_aegis_deny != null;
            public void Resetfirst_aegis_deny() => __pbn__first_aegis_deny = null;
            private bool? __pbn__first_aegis_deny;

            [global::ProtoBuf.ProtoMember(16)]
            public bool last_to_die
            {
                get => __pbn__last_to_die.GetValueOrDefault();
                set => __pbn__last_to_die = value;
            }
            public bool ShouldSerializelast_to_die() => __pbn__last_to_die != null;
            public void Resetlast_to_die() => __pbn__last_to_die = null;
            private bool? __pbn__last_to_die;

            [global::ProtoBuf.ProtoMember(17)]
            public bool first_to_wipe
            {
                get => __pbn__first_to_wipe.GetValueOrDefault();
                set => __pbn__first_to_wipe = value;
            }
            public bool ShouldSerializefirst_to_wipe() => __pbn__first_to_wipe != null;
            public void Resetfirst_to_wipe() => __pbn__first_to_wipe = null;
            private bool? __pbn__first_to_wipe;

            [global::ProtoBuf.ProtoMember(18)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(19)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(20)]
            public uint assists
            {
                get => __pbn__assists.GetValueOrDefault();
                set => __pbn__assists = value;
            }
            public bool ShouldSerializeassists() => __pbn__assists != null;
            public void Resetassists() => __pbn__assists = null;
            private uint? __pbn__assists;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgNeutralItemStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<NeutralItem> neutral_items { get; } = new global::System.Collections.Generic.List<NeutralItem>();

        [global::ProtoBuf.ProtoContract()]
        public partial class NeutralItem : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint item_id
            {
                get => __pbn__item_id.GetValueOrDefault();
                set => __pbn__item_id = value;
            }
            public bool ShouldSerializeitem_id() => __pbn__item_id != null;
            public void Resetitem_id() => __pbn__item_id = null;
            private uint? __pbn__item_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint time_dropped
            {
                get => __pbn__time_dropped.GetValueOrDefault();
                set => __pbn__time_dropped = value;
            }
            public bool ShouldSerializetime_dropped() => __pbn__time_dropped != null;
            public void Resettime_dropped() => __pbn__time_dropped = null;
            private uint? __pbn__time_dropped;

            [global::ProtoBuf.ProtoMember(3)]
            public uint team
            {
                get => __pbn__team.GetValueOrDefault();
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private uint? __pbn__team;

            [global::ProtoBuf.ProtoMember(4)]
            public uint time_last_equipped
            {
                get => __pbn__time_last_equipped.GetValueOrDefault();
                set => __pbn__time_last_equipped = value;
            }
            public bool ShouldSerializetime_last_equipped() => __pbn__time_last_equipped != null;
            public void Resettime_last_equipped() => __pbn__time_last_equipped = null;
            private uint? __pbn__time_last_equipped;

            [global::ProtoBuf.ProtoMember(5)]
            public uint time_last_unequipped
            {
                get => __pbn__time_last_unequipped.GetValueOrDefault();
                set => __pbn__time_last_unequipped = value;
            }
            public bool ShouldSerializetime_last_unequipped() => __pbn__time_last_unequipped != null;
            public void Resettime_last_unequipped() => __pbn__time_last_unequipped = null;
            private uint? __pbn__time_last_unequipped;

            [global::ProtoBuf.ProtoMember(6)]
            public uint duration_equipped
            {
                get => __pbn__duration_equipped.GetValueOrDefault();
                set => __pbn__duration_equipped = value;
            }
            public bool ShouldSerializeduration_equipped() => __pbn__duration_equipped != null;
            public void Resetduration_equipped() => __pbn__duration_equipped = null;
            private uint? __pbn__duration_equipped;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerLobbyHeroBanRates : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<HeroBanEntry> ban_data { get; } = new global::System.Collections.Generic.List<HeroBanEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class HeroBanEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint ban_count
            {
                get => __pbn__ban_count.GetValueOrDefault();
                set => __pbn__ban_count = value;
            }
            public bool ShouldSerializeban_count() => __pbn__ban_count != null;
            public void Resetban_count() => __pbn__ban_count = null;
            private uint? __pbn__ban_count;

            [global::ProtoBuf.ProtoMember(3)]
            public uint pick_count
            {
                get => __pbn__pick_count.GetValueOrDefault();
                set => __pbn__pick_count = value;
            }
            public bool ShouldSerializepick_count() => __pbn__pick_count != null;
            public void Resetpick_count() => __pbn__pick_count = null;
            private uint? __pbn__pick_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGuildContractProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerContract> player_contracts { get; } = new global::System.Collections.Generic.List<PlayerContract>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CompletedGuildEventContracts : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint event_id
            {
                get => __pbn__event_id.GetValueOrDefault();
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private uint? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<ulong> contracts { get; } = new global::System.Collections.Generic.List<ulong>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerContract : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgSignOutGuildContractProgress.CompletedGuildEventContracts> completed_contracts { get; } = new global::System.Collections.Generic.List<CMsgSignOutGuildContractProgress.CompletedGuildEventContracts>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGuildChallengeProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<ChallengeProgress> guild_challenges_progresses { get; } = new global::System.Collections.Generic.List<ChallengeProgress>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ChallengeProgress : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint event_id
            {
                get => __pbn__event_id.GetValueOrDefault();
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private uint? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint challenge_instance_id
            {
                get => __pbn__challenge_instance_id.GetValueOrDefault();
                set => __pbn__challenge_instance_id = value;
            }
            public bool ShouldSerializechallenge_instance_id() => __pbn__challenge_instance_id != null;
            public void Resetchallenge_instance_id() => __pbn__challenge_instance_id = null;
            private uint? __pbn__challenge_instance_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint challenge_instance_timestamp
            {
                get => __pbn__challenge_instance_timestamp.GetValueOrDefault();
                set => __pbn__challenge_instance_timestamp = value;
            }
            public bool ShouldSerializechallenge_instance_timestamp() => __pbn__challenge_instance_timestamp != null;
            public void Resetchallenge_instance_timestamp() => __pbn__challenge_instance_timestamp = null;
            private uint? __pbn__challenge_instance_timestamp;

            [global::ProtoBuf.ProtoMember(5)]
            public uint challenge_period_serial
            {
                get => __pbn__challenge_period_serial.GetValueOrDefault();
                set => __pbn__challenge_period_serial = value;
            }
            public bool ShouldSerializechallenge_period_serial() => __pbn__challenge_period_serial != null;
            public void Resetchallenge_period_serial() => __pbn__challenge_period_serial = null;
            private uint? __pbn__challenge_period_serial;

            [global::ProtoBuf.ProtoMember(6)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(7)]
            public uint challenge_parameter
            {
                get => __pbn__challenge_parameter.GetValueOrDefault();
                set => __pbn__challenge_parameter = value;
            }
            public bool ShouldSerializechallenge_parameter() => __pbn__challenge_parameter != null;
            public void Resetchallenge_parameter() => __pbn__challenge_parameter = null;
            private uint? __pbn__challenge_parameter;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutMVPStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint game_mode
        {
            get => __pbn__game_mode.GetValueOrDefault();
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private uint? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(3)]
        public uint winning_team
        {
            get => __pbn__winning_team.GetValueOrDefault();
            set => __pbn__winning_team = value;
        }
        public bool ShouldSerializewinning_team() => __pbn__winning_team != null;
        public void Resetwinning_team() => __pbn__winning_team = null;
        private uint? __pbn__winning_team;

        [global::ProtoBuf.ProtoMember(4)]
        public float game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private float? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint team_id
            {
                get => __pbn__team_id.GetValueOrDefault();
                set => __pbn__team_id = value;
            }
            public bool ShouldSerializeteam_id() => __pbn__team_id != null;
            public void Resetteam_id() => __pbn__team_id = null;
            private uint? __pbn__team_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint team_networth_rank
            {
                get => __pbn__team_networth_rank.GetValueOrDefault();
                set => __pbn__team_networth_rank = value;
            }
            public bool ShouldSerializeteam_networth_rank() => __pbn__team_networth_rank != null;
            public void Resetteam_networth_rank() => __pbn__team_networth_rank = null;
            private uint? __pbn__team_networth_rank;

            [global::ProtoBuf.ProtoMember(3)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(32)]
            public uint slot
            {
                get => __pbn__slot.GetValueOrDefault();
                set => __pbn__slot = value;
            }
            public bool ShouldSerializeslot() => __pbn__slot != null;
            public void Resetslot() => __pbn__slot = null;
            private uint? __pbn__slot;

            [global::ProtoBuf.ProtoMember(33)]
            public uint rank
            {
                get => __pbn__rank.GetValueOrDefault();
                set => __pbn__rank = value;
            }
            public bool ShouldSerializerank() => __pbn__rank != null;
            public void Resetrank() => __pbn__rank = null;
            private uint? __pbn__rank;

            [global::ProtoBuf.ProtoMember(4)]
            public uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(5)]
            public uint role
            {
                get => __pbn__role.GetValueOrDefault();
                set => __pbn__role = value;
            }
            public bool ShouldSerializerole() => __pbn__role != null;
            public void Resetrole() => __pbn__role = null;
            private uint? __pbn__role;

            [global::ProtoBuf.ProtoMember(6)]
            public int kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private int? __pbn__kills;

            [global::ProtoBuf.ProtoMember(7)]
            public int deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private int? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(8)]
            public int assists
            {
                get => __pbn__assists.GetValueOrDefault();
                set => __pbn__assists = value;
            }
            public bool ShouldSerializeassists() => __pbn__assists != null;
            public void Resetassists() => __pbn__assists = null;
            private int? __pbn__assists;

            [global::ProtoBuf.ProtoMember(9)]
            public int xp
            {
                get => __pbn__xp.GetValueOrDefault();
                set => __pbn__xp = value;
            }
            public bool ShouldSerializexp() => __pbn__xp != null;
            public void Resetxp() => __pbn__xp = null;
            private int? __pbn__xp;

            [global::ProtoBuf.ProtoMember(10)]
            public int net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private int? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(12)]
            public int support_gold_spent
            {
                get => __pbn__support_gold_spent.GetValueOrDefault();
                set => __pbn__support_gold_spent = value;
            }
            public bool ShouldSerializesupport_gold_spent() => __pbn__support_gold_spent != null;
            public void Resetsupport_gold_spent() => __pbn__support_gold_spent = null;
            private int? __pbn__support_gold_spent;

            [global::ProtoBuf.ProtoMember(13)]
            public int wards_placed
            {
                get => __pbn__wards_placed.GetValueOrDefault();
                set => __pbn__wards_placed = value;
            }
            public bool ShouldSerializewards_placed() => __pbn__wards_placed != null;
            public void Resetwards_placed() => __pbn__wards_placed = null;
            private int? __pbn__wards_placed;

            [global::ProtoBuf.ProtoMember(14)]
            public int wards_spotted_for_dewarding
            {
                get => __pbn__wards_spotted_for_dewarding.GetValueOrDefault();
                set => __pbn__wards_spotted_for_dewarding = value;
            }
            public bool ShouldSerializewards_spotted_for_dewarding() => __pbn__wards_spotted_for_dewarding != null;
            public void Resetwards_spotted_for_dewarding() => __pbn__wards_spotted_for_dewarding = null;
            private int? __pbn__wards_spotted_for_dewarding;

            [global::ProtoBuf.ProtoMember(15)]
            public int camps_stacked
            {
                get => __pbn__camps_stacked.GetValueOrDefault();
                set => __pbn__camps_stacked = value;
            }
            public bool ShouldSerializecamps_stacked() => __pbn__camps_stacked != null;
            public void Resetcamps_stacked() => __pbn__camps_stacked = null;
            private int? __pbn__camps_stacked;

            [global::ProtoBuf.ProtoMember(16)]
            public int last_hits
            {
                get => __pbn__last_hits.GetValueOrDefault();
                set => __pbn__last_hits = value;
            }
            public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
            public void Resetlast_hits() => __pbn__last_hits = null;
            private int? __pbn__last_hits;

            [global::ProtoBuf.ProtoMember(17)]
            public int denies
            {
                get => __pbn__denies.GetValueOrDefault();
                set => __pbn__denies = value;
            }
            public bool ShouldSerializedenies() => __pbn__denies != null;
            public void Resetdenies() => __pbn__denies = null;
            private int? __pbn__denies;

            [global::ProtoBuf.ProtoMember(19)]
            public int building_damage
            {
                get => __pbn__building_damage.GetValueOrDefault();
                set => __pbn__building_damage = value;
            }
            public bool ShouldSerializebuilding_damage() => __pbn__building_damage != null;
            public void Resetbuilding_damage() => __pbn__building_damage = null;
            private int? __pbn__building_damage;

            [global::ProtoBuf.ProtoMember(20)]
            public int other_damage
            {
                get => __pbn__other_damage.GetValueOrDefault();
                set => __pbn__other_damage = value;
            }
            public bool ShouldSerializeother_damage() => __pbn__other_damage != null;
            public void Resetother_damage() => __pbn__other_damage = null;
            private int? __pbn__other_damage;

            [global::ProtoBuf.ProtoMember(26)]
            public int triple_kills
            {
                get => __pbn__triple_kills.GetValueOrDefault();
                set => __pbn__triple_kills = value;
            }
            public bool ShouldSerializetriple_kills() => __pbn__triple_kills != null;
            public void Resettriple_kills() => __pbn__triple_kills = null;
            private int? __pbn__triple_kills;

            [global::ProtoBuf.ProtoMember(28)]
            public int rampages
            {
                get => __pbn__rampages.GetValueOrDefault();
                set => __pbn__rampages = value;
            }
            public bool ShouldSerializerampages() => __pbn__rampages != null;
            public void Resetrampages() => __pbn__rampages = null;
            private int? __pbn__rampages;

            [global::ProtoBuf.ProtoMember(31)]
            public int first_blood
            {
                get => __pbn__first_blood.GetValueOrDefault();
                set => __pbn__first_blood = value;
            }
            public bool ShouldSerializefirst_blood() => __pbn__first_blood != null;
            public void Resetfirst_blood() => __pbn__first_blood = null;
            private int? __pbn__first_blood;

            [global::ProtoBuf.ProtoMember(34)]
            public global::System.Collections.Generic.List<KillEaterEvent> kill_eater_events { get; } = new global::System.Collections.Generic.List<KillEaterEvent>();

            [global::ProtoBuf.ProtoMember(35)]
            public uint highest_killstreak
            {
                get => __pbn__highest_killstreak.GetValueOrDefault();
                set => __pbn__highest_killstreak = value;
            }
            public bool ShouldSerializehighest_killstreak() => __pbn__highest_killstreak != null;
            public void Resethighest_killstreak() => __pbn__highest_killstreak = null;
            private uint? __pbn__highest_killstreak;

            [global::ProtoBuf.ProtoContract()]
            public partial class KillEaterEvent : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
                public uint event_type { get; set; }

                [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
                public uint amount { get; set; }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerRecordTrainingData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool enable
        {
            get => __pbn__enable.GetValueOrDefault();
            set => __pbn__enable = value;
        }
        public bool ShouldSerializeenable() => __pbn__enable != null;
        public void Resetenable() => __pbn__enable = null;
        private bool? __pbn__enable;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRefreshGuildContract : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool enable
        {
            get => __pbn__enable.GetValueOrDefault();
            set => __pbn__enable = value;
        }
        public bool ShouldSerializeenable() => __pbn__enable != null;
        public void Resetenable() => __pbn__enable = null;
        private bool? __pbn__enable;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRefreshGuildContractResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetGuildContracts : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetGuildContractsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> player_contracts { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ContractDetails : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public ulong contract_id
            {
                get => __pbn__contract_id.GetValueOrDefault();
                set => __pbn__contract_id = value;
            }
            public bool ShouldSerializecontract_id() => __pbn__contract_id != null;
            public void Resetcontract_id() => __pbn__contract_id = null;
            private ulong? __pbn__contract_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint challenge_instance_id
            {
                get => __pbn__challenge_instance_id.GetValueOrDefault();
                set => __pbn__challenge_instance_id = value;
            }
            public bool ShouldSerializechallenge_instance_id() => __pbn__challenge_instance_id != null;
            public void Resetchallenge_instance_id() => __pbn__challenge_instance_id = null;
            private uint? __pbn__challenge_instance_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint challenge_parameter
            {
                get => __pbn__challenge_parameter.GetValueOrDefault();
                set => __pbn__challenge_parameter = value;
            }
            public bool ShouldSerializechallenge_parameter() => __pbn__challenge_parameter != null;
            public void Resetchallenge_parameter() => __pbn__challenge_parameter = null;
            private uint? __pbn__challenge_parameter;

            [global::ProtoBuf.ProtoMember(4)]
            public uint contract_stars
            {
                get => __pbn__contract_stars.GetValueOrDefault();
                set => __pbn__contract_stars = value;
            }
            public bool ShouldSerializecontract_stars() => __pbn__contract_stars != null;
            public void Resetcontract_stars() => __pbn__contract_stars = null;
            private uint? __pbn__contract_stars;

            [global::ProtoBuf.ProtoMember(5)]
            public uint contract_slot
            {
                get => __pbn__contract_slot.GetValueOrDefault();
                set => __pbn__contract_slot = value;
            }
            public bool ShouldSerializecontract_slot() => __pbn__contract_slot != null;
            public void Resetcontract_slot() => __pbn__contract_slot = null;
            private uint? __pbn__contract_slot;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
            public EEvent event_id
            {
                get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private EEvent? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgServerToGCGetGuildContractsResponse.ContractDetails> contracts { get; } = new global::System.Collections.Generic.List<CMsgServerToGCGetGuildContractsResponse.ContractDetails>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public enum EPoorNetworkConditionsType
    {
        k_EPoorNetworkConditions_None = 0,
        k_EPoorNetworkConditions_Unknown = 1,
        k_EPoorNetworkConditions_MassDisconnect = 2,
        k_EPoorNetworkConditions_ExcessBadQosIntervals = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EAbilityAbuseType
    {
        k_EAbilityAbuseType_None = 0,
        k_EAbilityAbuseType_Io_Relocate = 1,
        k_EAbilityAbuseType_Chen_Test_Of_Faith = 2,
        k_EAbilityAbuseType_Bane_Nightmare = 3,
        k_EAbilityAbuseType_Bloodseeker_Bloodrage = 4,
        k_EAbilityAbuseType_Outworld_Astral_Imprisonment = 5,
        k_EAbilityAbuseType_Shadow_Demon_Disruption = 6,
        k_EAbilityAbuseType_Grimstroke_InkSwell = 7,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EIntentionalFeedingType
    {
        k_EIntentionalFeedingType_None = 0,
        k_EIntentionalFeedingType_ExcessiveDeaths = 1,
        k_EIntentionalFeedingType_MultipleCourierPurchases = 2,
        k_EIntentionalFeedingType_MultipleCourierDeaths = 4,
        k_EIntentionalFeedingType_LowActivity = 8,
        k_EIntentionalFeedingType_LowDamage = 16,
        k_EIntentionalFeedingType_HighUnspentGold = 32,
        k_EIntentionalFeedingType_SoldTooMuchItemValue = 64,
        k_EIntentionalFeedingType_TooManyDroppedItems = 128,
        k_EIntentionalFeedingType_ExcessiveTowerDamage = 256,
        k_EIntentionalFeedingType_LastHitsDenies = 512,
        k_EIntentionalFeedingType_XPPM = 1024,
        k_EIntentionalFeedingType_SuspiciousOrders = 2048,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESuspiciousActivity
    {
        k_ESuspiciousActivity_VAC_MultipleInstances = 1,
        k_ESuspiciousActivity_IntentionalFeeding = 100,
        k_ESuspiciousActivity_SuspectedBotFarming = 101,
        k_ESuspiciousActivity_AttemptedToCrashServer = 102,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESuspiciousBuildType
    {
        k_ESuspiciousBuildType_None = 0,
        k_ESuspiciousBuildType_NoGoldSpent = 1,
        k_ESuspiciousBuildType_NoItems = 2,
        k_ESuspiciousBuildType_NoSignificantItems = 3,
        k_ESuspiciousBuildType_TooManyBoots = 4,
        k_ESuspiciousBuildType_Bot1 = 101,
        k_ESuspiciousBuildType_Bot2 = 102,
        k_ESuspiciousBuildType_Bot3 = 103,
        k_ESuspiciousBuildType_Bot4 = 104,
        k_ESuspiciousBuildType_Bot5 = 105,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
