// <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_common.proto
// </auto-generated>

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

    [global::ProtoBuf.ProtoContract()]
    public partial class CSODOTAGameAccountClient : 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(3)]
        public uint wins
        {
            get => __pbn__wins.GetValueOrDefault();
            set => __pbn__wins = value;
        }
        public bool ShouldSerializewins() => __pbn__wins != null;
        public void Resetwins() => __pbn__wins = null;
        private uint? __pbn__wins;

        [global::ProtoBuf.ProtoMember(4)]
        public uint losses
        {
            get => __pbn__losses.GetValueOrDefault();
            set => __pbn__losses = value;
        }
        public bool ShouldSerializelosses() => __pbn__losses != null;
        public void Resetlosses() => __pbn__losses = null;
        private uint? __pbn__losses;

        [global::ProtoBuf.ProtoMember(12)]
        public uint xp
        {
            get => __pbn__xp.GetValueOrDefault();
            set => __pbn__xp = value;
        }
        public bool ShouldSerializexp() => __pbn__xp != null;
        public void Resetxp() => __pbn__xp = null;
        private uint? __pbn__xp;

        [global::ProtoBuf.ProtoMember(13)]
        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(14)]
        public uint initial_skill
        {
            get => __pbn__initial_skill.GetValueOrDefault();
            set => __pbn__initial_skill = value;
        }
        public bool ShouldSerializeinitial_skill() => __pbn__initial_skill != null;
        public void Resetinitial_skill() => __pbn__initial_skill = null;
        private uint? __pbn__initial_skill;

        [global::ProtoBuf.ProtoMember(15)]
        public uint leaver_count
        {
            get => __pbn__leaver_count.GetValueOrDefault();
            set => __pbn__leaver_count = value;
        }
        public bool ShouldSerializeleaver_count() => __pbn__leaver_count != null;
        public void Resetleaver_count() => __pbn__leaver_count = null;
        private uint? __pbn__leaver_count;

        [global::ProtoBuf.ProtoMember(58)]
        public uint secondary_leaver_count
        {
            get => __pbn__secondary_leaver_count.GetValueOrDefault();
            set => __pbn__secondary_leaver_count = value;
        }
        public bool ShouldSerializesecondary_leaver_count() => __pbn__secondary_leaver_count != null;
        public void Resetsecondary_leaver_count() => __pbn__secondary_leaver_count = null;
        private uint? __pbn__secondary_leaver_count;

        [global::ProtoBuf.ProtoMember(18)]
        public uint low_priority_until_date
        {
            get => __pbn__low_priority_until_date.GetValueOrDefault();
            set => __pbn__low_priority_until_date = value;
        }
        public bool ShouldSerializelow_priority_until_date() => __pbn__low_priority_until_date != null;
        public void Resetlow_priority_until_date() => __pbn__low_priority_until_date = null;
        private uint? __pbn__low_priority_until_date;

        [global::ProtoBuf.ProtoMember(20)]
        public uint prevent_text_chat_until_date
        {
            get => __pbn__prevent_text_chat_until_date.GetValueOrDefault();
            set => __pbn__prevent_text_chat_until_date = value;
        }
        public bool ShouldSerializeprevent_text_chat_until_date() => __pbn__prevent_text_chat_until_date != null;
        public void Resetprevent_text_chat_until_date() => __pbn__prevent_text_chat_until_date = null;
        private uint? __pbn__prevent_text_chat_until_date;

        [global::ProtoBuf.ProtoMember(21)]
        public uint prevent_voice_until_date
        {
            get => __pbn__prevent_voice_until_date.GetValueOrDefault();
            set => __pbn__prevent_voice_until_date = value;
        }
        public bool ShouldSerializeprevent_voice_until_date() => __pbn__prevent_voice_until_date != null;
        public void Resetprevent_voice_until_date() => __pbn__prevent_voice_until_date = null;
        private uint? __pbn__prevent_voice_until_date;

        [global::ProtoBuf.ProtoMember(86)]
        public uint prevent_public_text_chat_until_date
        {
            get => __pbn__prevent_public_text_chat_until_date.GetValueOrDefault();
            set => __pbn__prevent_public_text_chat_until_date = value;
        }
        public bool ShouldSerializeprevent_public_text_chat_until_date() => __pbn__prevent_public_text_chat_until_date != null;
        public void Resetprevent_public_text_chat_until_date() => __pbn__prevent_public_text_chat_until_date = null;
        private uint? __pbn__prevent_public_text_chat_until_date;

        [global::ProtoBuf.ProtoMember(122)]
        public uint prevent_new_player_chat_until_date
        {
            get => __pbn__prevent_new_player_chat_until_date.GetValueOrDefault();
            set => __pbn__prevent_new_player_chat_until_date = value;
        }
        public bool ShouldSerializeprevent_new_player_chat_until_date() => __pbn__prevent_new_player_chat_until_date != null;
        public void Resetprevent_new_player_chat_until_date() => __pbn__prevent_new_player_chat_until_date = null;
        private uint? __pbn__prevent_new_player_chat_until_date;

        [global::ProtoBuf.ProtoMember(22)]
        public uint last_abandoned_game_date
        {
            get => __pbn__last_abandoned_game_date.GetValueOrDefault();
            set => __pbn__last_abandoned_game_date = value;
        }
        public bool ShouldSerializelast_abandoned_game_date() => __pbn__last_abandoned_game_date != null;
        public void Resetlast_abandoned_game_date() => __pbn__last_abandoned_game_date = null;
        private uint? __pbn__last_abandoned_game_date;

        [global::ProtoBuf.ProtoMember(59)]
        public uint last_secondary_abandoned_game_date
        {
            get => __pbn__last_secondary_abandoned_game_date.GetValueOrDefault();
            set => __pbn__last_secondary_abandoned_game_date = value;
        }
        public bool ShouldSerializelast_secondary_abandoned_game_date() => __pbn__last_secondary_abandoned_game_date != null;
        public void Resetlast_secondary_abandoned_game_date() => __pbn__last_secondary_abandoned_game_date = null;
        private uint? __pbn__last_secondary_abandoned_game_date;

        [global::ProtoBuf.ProtoMember(23)]
        public uint leaver_penalty_count
        {
            get => __pbn__leaver_penalty_count.GetValueOrDefault();
            set => __pbn__leaver_penalty_count = value;
        }
        public bool ShouldSerializeleaver_penalty_count() => __pbn__leaver_penalty_count != null;
        public void Resetleaver_penalty_count() => __pbn__leaver_penalty_count = null;
        private uint? __pbn__leaver_penalty_count;

        [global::ProtoBuf.ProtoMember(24)]
        public uint completed_game_streak
        {
            get => __pbn__completed_game_streak.GetValueOrDefault();
            set => __pbn__completed_game_streak = value;
        }
        public bool ShouldSerializecompleted_game_streak() => __pbn__completed_game_streak != null;
        public void Resetcompleted_game_streak() => __pbn__completed_game_streak = null;
        private uint? __pbn__completed_game_streak;

        [global::ProtoBuf.ProtoMember(38)]
        public uint account_disabled_until_date
        {
            get => __pbn__account_disabled_until_date.GetValueOrDefault();
            set => __pbn__account_disabled_until_date = value;
        }
        public bool ShouldSerializeaccount_disabled_until_date() => __pbn__account_disabled_until_date != null;
        public void Resetaccount_disabled_until_date() => __pbn__account_disabled_until_date = null;
        private uint? __pbn__account_disabled_until_date;

        [global::ProtoBuf.ProtoMember(39)]
        public uint account_disabled_count
        {
            get => __pbn__account_disabled_count.GetValueOrDefault();
            set => __pbn__account_disabled_count = value;
        }
        public bool ShouldSerializeaccount_disabled_count() => __pbn__account_disabled_count != null;
        public void Resetaccount_disabled_count() => __pbn__account_disabled_count = null;
        private uint? __pbn__account_disabled_count;

        [global::ProtoBuf.ProtoMember(41)]
        public uint match_disabled_until_date
        {
            get => __pbn__match_disabled_until_date.GetValueOrDefault();
            set => __pbn__match_disabled_until_date = value;
        }
        public bool ShouldSerializematch_disabled_until_date() => __pbn__match_disabled_until_date != null;
        public void Resetmatch_disabled_until_date() => __pbn__match_disabled_until_date = null;
        private uint? __pbn__match_disabled_until_date;

        [global::ProtoBuf.ProtoMember(42)]
        public uint match_disabled_count
        {
            get => __pbn__match_disabled_count.GetValueOrDefault();
            set => __pbn__match_disabled_count = value;
        }
        public bool ShouldSerializematch_disabled_count() => __pbn__match_disabled_count != null;
        public void Resetmatch_disabled_count() => __pbn__match_disabled_count = null;
        private uint? __pbn__match_disabled_count;

        [global::ProtoBuf.ProtoMember(47)]
        public uint shutdownlawterminatetimestamp
        {
            get => __pbn__shutdownlawterminatetimestamp.GetValueOrDefault();
            set => __pbn__shutdownlawterminatetimestamp = value;
        }
        public bool ShouldSerializeshutdownlawterminatetimestamp() => __pbn__shutdownlawterminatetimestamp != null;
        public void Resetshutdownlawterminatetimestamp() => __pbn__shutdownlawterminatetimestamp = null;
        private uint? __pbn__shutdownlawterminatetimestamp;

        [global::ProtoBuf.ProtoMember(48)]
        public uint low_priority_games_remaining
        {
            get => __pbn__low_priority_games_remaining.GetValueOrDefault();
            set => __pbn__low_priority_games_remaining = value;
        }
        public bool ShouldSerializelow_priority_games_remaining() => __pbn__low_priority_games_remaining != null;
        public void Resetlow_priority_games_remaining() => __pbn__low_priority_games_remaining = null;
        private uint? __pbn__low_priority_games_remaining;

        [global::ProtoBuf.ProtoMember(55)]
        public uint recruitment_level
        {
            get => __pbn__recruitment_level.GetValueOrDefault();
            set => __pbn__recruitment_level = value;
        }
        public bool ShouldSerializerecruitment_level() => __pbn__recruitment_level != null;
        public void Resetrecruitment_level() => __pbn__recruitment_level = null;
        private uint? __pbn__recruitment_level;

        [global::ProtoBuf.ProtoMember(56)]
        public bool has_new_notifications
        {
            get => __pbn__has_new_notifications.GetValueOrDefault();
            set => __pbn__has_new_notifications = value;
        }
        public bool ShouldSerializehas_new_notifications() => __pbn__has_new_notifications != null;
        public void Resethas_new_notifications() => __pbn__has_new_notifications = null;
        private bool? __pbn__has_new_notifications;

        [global::ProtoBuf.ProtoMember(57)]
        public bool is_league_admin
        {
            get => __pbn__is_league_admin.GetValueOrDefault();
            set => __pbn__is_league_admin = value;
        }
        public bool ShouldSerializeis_league_admin() => __pbn__is_league_admin != null;
        public void Resetis_league_admin() => __pbn__is_league_admin = null;
        private bool? __pbn__is_league_admin;

        [global::ProtoBuf.ProtoMember(60)]
        public uint casual_games_played
        {
            get => __pbn__casual_games_played.GetValueOrDefault();
            set => __pbn__casual_games_played = value;
        }
        public bool ShouldSerializecasual_games_played() => __pbn__casual_games_played != null;
        public void Resetcasual_games_played() => __pbn__casual_games_played = null;
        private uint? __pbn__casual_games_played;

        [global::ProtoBuf.ProtoMember(61)]
        public uint solo_competitive_games_played
        {
            get => __pbn__solo_competitive_games_played.GetValueOrDefault();
            set => __pbn__solo_competitive_games_played = value;
        }
        public bool ShouldSerializesolo_competitive_games_played() => __pbn__solo_competitive_games_played != null;
        public void Resetsolo_competitive_games_played() => __pbn__solo_competitive_games_played = null;
        private uint? __pbn__solo_competitive_games_played;

        [global::ProtoBuf.ProtoMember(62)]
        public uint party_competitive_games_played
        {
            get => __pbn__party_competitive_games_played.GetValueOrDefault();
            set => __pbn__party_competitive_games_played = value;
        }
        public bool ShouldSerializeparty_competitive_games_played() => __pbn__party_competitive_games_played != null;
        public void Resetparty_competitive_games_played() => __pbn__party_competitive_games_played = null;
        private uint? __pbn__party_competitive_games_played;

        [global::ProtoBuf.ProtoMember(65)]
        public uint casual_1v1_games_played
        {
            get => __pbn__casual_1v1_games_played.GetValueOrDefault();
            set => __pbn__casual_1v1_games_played = value;
        }
        public bool ShouldSerializecasual_1v1_games_played() => __pbn__casual_1v1_games_played != null;
        public void Resetcasual_1v1_games_played() => __pbn__casual_1v1_games_played = null;
        private uint? __pbn__casual_1v1_games_played;

        [global::ProtoBuf.ProtoMember(67)]
        public int curr_all_hero_challenge_id
        {
            get => __pbn__curr_all_hero_challenge_id.GetValueOrDefault();
            set => __pbn__curr_all_hero_challenge_id = value;
        }
        public bool ShouldSerializecurr_all_hero_challenge_id() => __pbn__curr_all_hero_challenge_id != null;
        public void Resetcurr_all_hero_challenge_id() => __pbn__curr_all_hero_challenge_id = null;
        private int? __pbn__curr_all_hero_challenge_id;

        [global::ProtoBuf.ProtoMember(68)]
        public uint play_time_points
        {
            get => __pbn__play_time_points.GetValueOrDefault();
            set => __pbn__play_time_points = value;
        }
        public bool ShouldSerializeplay_time_points() => __pbn__play_time_points != null;
        public void Resetplay_time_points() => __pbn__play_time_points = null;
        private uint? __pbn__play_time_points;

        [global::ProtoBuf.ProtoMember(69)]
        public uint account_flags
        {
            get => __pbn__account_flags.GetValueOrDefault();
            set => __pbn__account_flags = value;
        }
        public bool ShouldSerializeaccount_flags() => __pbn__account_flags != null;
        public void Resetaccount_flags() => __pbn__account_flags = null;
        private uint? __pbn__account_flags;

        [global::ProtoBuf.ProtoMember(70)]
        public uint play_time_level
        {
            get => __pbn__play_time_level.GetValueOrDefault();
            set => __pbn__play_time_level = value;
        }
        public bool ShouldSerializeplay_time_level() => __pbn__play_time_level != null;
        public void Resetplay_time_level() => __pbn__play_time_level = null;
        private uint? __pbn__play_time_level;

        [global::ProtoBuf.ProtoMember(71)]
        public uint player_behavior_seq_num_last_report
        {
            get => __pbn__player_behavior_seq_num_last_report.GetValueOrDefault();
            set => __pbn__player_behavior_seq_num_last_report = value;
        }
        public bool ShouldSerializeplayer_behavior_seq_num_last_report() => __pbn__player_behavior_seq_num_last_report != null;
        public void Resetplayer_behavior_seq_num_last_report() => __pbn__player_behavior_seq_num_last_report = null;
        private uint? __pbn__player_behavior_seq_num_last_report;

        [global::ProtoBuf.ProtoMember(72)]
        public uint player_behavior_score_last_report
        {
            get => __pbn__player_behavior_score_last_report.GetValueOrDefault();
            set => __pbn__player_behavior_score_last_report = value;
        }
        public bool ShouldSerializeplayer_behavior_score_last_report() => __pbn__player_behavior_score_last_report != null;
        public void Resetplayer_behavior_score_last_report() => __pbn__player_behavior_score_last_report = null;
        private uint? __pbn__player_behavior_score_last_report;

        [global::ProtoBuf.ProtoMember(73)]
        public bool player_behavior_report_old_data
        {
            get => __pbn__player_behavior_report_old_data.GetValueOrDefault();
            set => __pbn__player_behavior_report_old_data = value;
        }
        public bool ShouldSerializeplayer_behavior_report_old_data() => __pbn__player_behavior_report_old_data != null;
        public void Resetplayer_behavior_report_old_data() => __pbn__player_behavior_report_old_data = null;
        private bool? __pbn__player_behavior_report_old_data;

        [global::ProtoBuf.ProtoMember(74)]
        public uint tourney_skill_level
        {
            get => __pbn__tourney_skill_level.GetValueOrDefault();
            set => __pbn__tourney_skill_level = value;
        }
        public bool ShouldSerializetourney_skill_level() => __pbn__tourney_skill_level != null;
        public void Resettourney_skill_level() => __pbn__tourney_skill_level = null;
        private uint? __pbn__tourney_skill_level;

        [global::ProtoBuf.ProtoMember(85)]
        public uint tourney_recent_participation_date
        {
            get => __pbn__tourney_recent_participation_date.GetValueOrDefault();
            set => __pbn__tourney_recent_participation_date = value;
        }
        public bool ShouldSerializetourney_recent_participation_date() => __pbn__tourney_recent_participation_date != null;
        public void Resettourney_recent_participation_date() => __pbn__tourney_recent_participation_date = null;
        private uint? __pbn__tourney_recent_participation_date;

        [global::ProtoBuf.ProtoMember(88)]
        public ulong anchored_phone_number_id
        {
            get => __pbn__anchored_phone_number_id.GetValueOrDefault();
            set => __pbn__anchored_phone_number_id = value;
        }
        public bool ShouldSerializeanchored_phone_number_id() => __pbn__anchored_phone_number_id != null;
        public void Resetanchored_phone_number_id() => __pbn__anchored_phone_number_id = null;
        private ulong? __pbn__anchored_phone_number_id;

        [global::ProtoBuf.ProtoMember(89)]
        public uint ranked_matchmaking_ban_until_date
        {
            get => __pbn__ranked_matchmaking_ban_until_date.GetValueOrDefault();
            set => __pbn__ranked_matchmaking_ban_until_date = value;
        }
        public bool ShouldSerializeranked_matchmaking_ban_until_date() => __pbn__ranked_matchmaking_ban_until_date != null;
        public void Resetranked_matchmaking_ban_until_date() => __pbn__ranked_matchmaking_ban_until_date = null;
        private uint? __pbn__ranked_matchmaking_ban_until_date;

        [global::ProtoBuf.ProtoMember(90)]
        public uint recent_game_time_1
        {
            get => __pbn__recent_game_time_1.GetValueOrDefault();
            set => __pbn__recent_game_time_1 = value;
        }
        public bool ShouldSerializerecent_game_time_1() => __pbn__recent_game_time_1 != null;
        public void Resetrecent_game_time_1() => __pbn__recent_game_time_1 = null;
        private uint? __pbn__recent_game_time_1;

        [global::ProtoBuf.ProtoMember(91)]
        public uint recent_game_time_2
        {
            get => __pbn__recent_game_time_2.GetValueOrDefault();
            set => __pbn__recent_game_time_2 = value;
        }
        public bool ShouldSerializerecent_game_time_2() => __pbn__recent_game_time_2 != null;
        public void Resetrecent_game_time_2() => __pbn__recent_game_time_2 = null;
        private uint? __pbn__recent_game_time_2;

        [global::ProtoBuf.ProtoMember(92)]
        public uint recent_game_time_3
        {
            get => __pbn__recent_game_time_3.GetValueOrDefault();
            set => __pbn__recent_game_time_3 = value;
        }
        public bool ShouldSerializerecent_game_time_3() => __pbn__recent_game_time_3 != null;
        public void Resetrecent_game_time_3() => __pbn__recent_game_time_3 = null;
        private uint? __pbn__recent_game_time_3;

        [global::ProtoBuf.ProtoMember(103)]
        public ulong favorite_team_packed
        {
            get => __pbn__favorite_team_packed.GetValueOrDefault();
            set => __pbn__favorite_team_packed = value;
        }
        public bool ShouldSerializefavorite_team_packed() => __pbn__favorite_team_packed != null;
        public void Resetfavorite_team_packed() => __pbn__favorite_team_packed = null;
        private ulong? __pbn__favorite_team_packed;

        [global::ProtoBuf.ProtoMember(104)]
        public uint recent_report_time
        {
            get => __pbn__recent_report_time.GetValueOrDefault();
            set => __pbn__recent_report_time = value;
        }
        public bool ShouldSerializerecent_report_time() => __pbn__recent_report_time != null;
        public void Resetrecent_report_time() => __pbn__recent_report_time = null;
        private uint? __pbn__recent_report_time;

        [global::ProtoBuf.ProtoMember(105)]
        public uint custom_game_disabled_until_date
        {
            get => __pbn__custom_game_disabled_until_date.GetValueOrDefault();
            set => __pbn__custom_game_disabled_until_date = value;
        }
        public bool ShouldSerializecustom_game_disabled_until_date() => __pbn__custom_game_disabled_until_date != null;
        public void Resetcustom_game_disabled_until_date() => __pbn__custom_game_disabled_until_date = null;
        private uint? __pbn__custom_game_disabled_until_date;

        [global::ProtoBuf.ProtoMember(106)]
        public uint recent_win_time_1
        {
            get => __pbn__recent_win_time_1.GetValueOrDefault();
            set => __pbn__recent_win_time_1 = value;
        }
        public bool ShouldSerializerecent_win_time_1() => __pbn__recent_win_time_1 != null;
        public void Resetrecent_win_time_1() => __pbn__recent_win_time_1 = null;
        private uint? __pbn__recent_win_time_1;

        [global::ProtoBuf.ProtoMember(107)]
        public uint recent_win_time_2
        {
            get => __pbn__recent_win_time_2.GetValueOrDefault();
            set => __pbn__recent_win_time_2 = value;
        }
        public bool ShouldSerializerecent_win_time_2() => __pbn__recent_win_time_2 != null;
        public void Resetrecent_win_time_2() => __pbn__recent_win_time_2 = null;
        private uint? __pbn__recent_win_time_2;

        [global::ProtoBuf.ProtoMember(108)]
        public uint recent_win_time_3
        {
            get => __pbn__recent_win_time_3.GetValueOrDefault();
            set => __pbn__recent_win_time_3 = value;
        }
        public bool ShouldSerializerecent_win_time_3() => __pbn__recent_win_time_3 != null;
        public void Resetrecent_win_time_3() => __pbn__recent_win_time_3 = null;
        private uint? __pbn__recent_win_time_3;

        [global::ProtoBuf.ProtoMember(109)]
        public uint coach_rating
        {
            get => __pbn__coach_rating.GetValueOrDefault();
            set => __pbn__coach_rating = value;
        }
        public bool ShouldSerializecoach_rating() => __pbn__coach_rating != null;
        public void Resetcoach_rating() => __pbn__coach_rating = null;
        private uint? __pbn__coach_rating;

        [global::ProtoBuf.ProtoMember(114)]
        public uint queue_points
        {
            get => __pbn__queue_points.GetValueOrDefault();
            set => __pbn__queue_points = value;
        }
        public bool ShouldSerializequeue_points() => __pbn__queue_points != null;
        public void Resetqueue_points() => __pbn__queue_points = null;
        private uint? __pbn__queue_points;

        [global::ProtoBuf.ProtoMember(115)]
        public global::System.Collections.Generic.List<RoleHandicap> role_handicaps { get; } = new global::System.Collections.Generic.List<RoleHandicap>();

        [global::ProtoBuf.ProtoMember(120)]
        public uint event_mode_recent_time
        {
            get => __pbn__event_mode_recent_time.GetValueOrDefault();
            set => __pbn__event_mode_recent_time = value;
        }
        public bool ShouldSerializeevent_mode_recent_time() => __pbn__event_mode_recent_time != null;
        public void Resetevent_mode_recent_time() => __pbn__event_mode_recent_time = null;
        private uint? __pbn__event_mode_recent_time;

        [global::ProtoBuf.ProtoMember(121)]
        public uint mmr_recalibration_time
        {
            get => __pbn__mmr_recalibration_time.GetValueOrDefault();
            set => __pbn__mmr_recalibration_time = value;
        }
        public bool ShouldSerializemmr_recalibration_time() => __pbn__mmr_recalibration_time != null;
        public void Resetmmr_recalibration_time() => __pbn__mmr_recalibration_time = null;
        private uint? __pbn__mmr_recalibration_time;

        [global::ProtoBuf.ProtoMember(123)]
        public global::System.Collections.Generic.List<int> banned_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoContract()]
        public partial class RoleHandicap : 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 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(2)]
            public float handicap
            {
                get => __pbn__handicap.GetValueOrDefault();
                set => __pbn__handicap = value;
            }
            public bool ShouldSerializehandicap() => __pbn__handicap != null;
            public void Resethandicap() => __pbn__handicap = null;
            private float? __pbn__handicap;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSODOTAGameAccountPlus : 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 original_start_date
        {
            get => __pbn__original_start_date.GetValueOrDefault();
            set => __pbn__original_start_date = value;
        }
        public bool ShouldSerializeoriginal_start_date() => __pbn__original_start_date != null;
        public void Resetoriginal_start_date() => __pbn__original_start_date = null;
        private uint? __pbn__original_start_date;

        [global::ProtoBuf.ProtoMember(3)]
        public uint plus_flags
        {
            get => __pbn__plus_flags.GetValueOrDefault();
            set => __pbn__plus_flags = value;
        }
        public bool ShouldSerializeplus_flags() => __pbn__plus_flags != null;
        public void Resetplus_flags() => __pbn__plus_flags = null;
        private uint? __pbn__plus_flags;

        [global::ProtoBuf.ProtoMember(4)]
        public uint plus_status
        {
            get => __pbn__plus_status.GetValueOrDefault();
            set => __pbn__plus_status = value;
        }
        public bool ShouldSerializeplus_status() => __pbn__plus_status != null;
        public void Resetplus_status() => __pbn__plus_status = null;
        private uint? __pbn__plus_status;

        [global::ProtoBuf.ProtoMember(5)]
        public uint prepaid_time_start
        {
            get => __pbn__prepaid_time_start.GetValueOrDefault();
            set => __pbn__prepaid_time_start = value;
        }
        public bool ShouldSerializeprepaid_time_start() => __pbn__prepaid_time_start != null;
        public void Resetprepaid_time_start() => __pbn__prepaid_time_start = null;
        private uint? __pbn__prepaid_time_start;

        [global::ProtoBuf.ProtoMember(6)]
        public uint prepaid_time_balance
        {
            get => __pbn__prepaid_time_balance.GetValueOrDefault();
            set => __pbn__prepaid_time_balance = value;
        }
        public bool ShouldSerializeprepaid_time_balance() => __pbn__prepaid_time_balance != null;
        public void Resetprepaid_time_balance() => __pbn__prepaid_time_balance = null;
        private uint? __pbn__prepaid_time_balance;

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint next_payment_date
        {
            get => __pbn__next_payment_date.GetValueOrDefault();
            set => __pbn__next_payment_date = value;
        }
        public bool ShouldSerializenext_payment_date() => __pbn__next_payment_date != null;
        public void Resetnext_payment_date() => __pbn__next_payment_date = null;
        private uint? __pbn__next_payment_date;

        [global::ProtoBuf.ProtoMember(8, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steam_agreement_id
        {
            get => __pbn__steam_agreement_id.GetValueOrDefault();
            set => __pbn__steam_agreement_id = value;
        }
        public bool ShouldSerializesteam_agreement_id() => __pbn__steam_agreement_id != null;
        public void Resetsteam_agreement_id() => __pbn__steam_agreement_id = null;
        private ulong? __pbn__steam_agreement_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSODOTAChatWheel : 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(4294967295u)]
        public uint message_id
        {
            get => __pbn__message_id ?? 4294967295u;
            set => __pbn__message_id = value;
        }
        public bool ShouldSerializemessage_id() => __pbn__message_id != null;
        public void Resetmessage_id() => __pbn__message_id = null;
        private uint? __pbn__message_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLobbyFeaturedGamemodeProgress : 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<AccountProgress> accounts { get; } = new global::System.Collections.Generic.List<AccountProgress>();

        [global::ProtoBuf.ProtoContract()]
        public partial class AccountProgress : 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 current_value
            {
                get => __pbn__current_value.GetValueOrDefault();
                set => __pbn__current_value = value;
            }
            public bool ShouldSerializecurrent_value() => __pbn__current_value != null;
            public void Resetcurrent_value() => __pbn__current_value = null;
            private uint? __pbn__current_value;

            [global::ProtoBuf.ProtoMember(3)]
            public uint max_value
            {
                get => __pbn__max_value.GetValueOrDefault();
                set => __pbn__max_value = value;
            }
            public bool ShouldSerializemax_value() => __pbn__max_value != null;
            public void Resetmax_value() => __pbn__max_value = null;
            private uint? __pbn__max_value;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgBattleCupVictory : 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 win_date
        {
            get => __pbn__win_date.GetValueOrDefault();
            set => __pbn__win_date = value;
        }
        public bool ShouldSerializewin_date() => __pbn__win_date != null;
        public void Resetwin_date() => __pbn__win_date = null;
        private uint? __pbn__win_date;

        [global::ProtoBuf.ProtoMember(3)]
        public uint valid_until
        {
            get => __pbn__valid_until.GetValueOrDefault();
            set => __pbn__valid_until = value;
        }
        public bool ShouldSerializevalid_until() => __pbn__valid_until != null;
        public void Resetvalid_until() => __pbn__valid_until = null;
        private uint? __pbn__valid_until;

        [global::ProtoBuf.ProtoMember(4)]
        public uint skill_level
        {
            get => __pbn__skill_level.GetValueOrDefault();
            set => __pbn__skill_level = value;
        }
        public bool ShouldSerializeskill_level() => __pbn__skill_level != null;
        public void Resetskill_level() => __pbn__skill_level = null;
        private uint? __pbn__skill_level;

        [global::ProtoBuf.ProtoMember(5)]
        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(6)]
        public uint division_id
        {
            get => __pbn__division_id.GetValueOrDefault();
            set => __pbn__division_id = value;
        }
        public bool ShouldSerializedivision_id() => __pbn__division_id != null;
        public void Resetdivision_id() => __pbn__division_id = null;
        private uint? __pbn__division_id;

        [global::ProtoBuf.ProtoMember(7)]
        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(8)]
        public uint streak
        {
            get => __pbn__streak.GetValueOrDefault();
            set => __pbn__streak = value;
        }
        public bool ShouldSerializestreak() => __pbn__streak != null;
        public void Resetstreak() => __pbn__streak = null;
        private uint? __pbn__streak;

        [global::ProtoBuf.ProtoMember(9)]
        public uint trophy_id
        {
            get => __pbn__trophy_id.GetValueOrDefault();
            set => __pbn__trophy_id = value;
        }
        public bool ShouldSerializetrophy_id() => __pbn__trophy_id != null;
        public void Resettrophy_id() => __pbn__trophy_id = null;
        private uint? __pbn__trophy_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLobbyBattleCupVictoryList : 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<CMsgBattleCupVictory> winners { get; } = new global::System.Collections.Generic.List<CMsgBattleCupVictory>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTABroadcastNotification : 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 message
        {
            get => __pbn__message ?? "";
            set => __pbn__message = value;
        }
        public bool ShouldSerializemessage() => __pbn__message != null;
        public void Resetmessage() => __pbn__message = null;
        private string __pbn__message;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CProtoItemHeroStatue : 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 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint status_effect_index
        {
            get => __pbn__status_effect_index.GetValueOrDefault();
            set => __pbn__status_effect_index = value;
        }
        public bool ShouldSerializestatus_effect_index() => __pbn__status_effect_index != null;
        public void Resetstatus_effect_index() => __pbn__status_effect_index = null;
        private uint? __pbn__status_effect_index;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string sequence_name
        {
            get => __pbn__sequence_name ?? "";
            set => __pbn__sequence_name = value;
        }
        public bool ShouldSerializesequence_name() => __pbn__sequence_name != null;
        public void Resetsequence_name() => __pbn__sequence_name = null;
        private string __pbn__sequence_name;

        [global::ProtoBuf.ProtoMember(4)]
        public float cycle
        {
            get => __pbn__cycle.GetValueOrDefault();
            set => __pbn__cycle = value;
        }
        public bool ShouldSerializecycle() => __pbn__cycle != null;
        public void Resetcycle() => __pbn__cycle = null;
        private float? __pbn__cycle;

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

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string inscription
        {
            get => __pbn__inscription ?? "";
            set => __pbn__inscription = value;
        }
        public bool ShouldSerializeinscription() => __pbn__inscription != null;
        public void Resetinscription() => __pbn__inscription = null;
        private string __pbn__inscription;

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

        [global::ProtoBuf.ProtoMember(8)]
        public bool tournament_drop
        {
            get => __pbn__tournament_drop.GetValueOrDefault();
            set => __pbn__tournament_drop = value;
        }
        public bool ShouldSerializetournament_drop() => __pbn__tournament_drop != null;
        public void Resettournament_drop() => __pbn__tournament_drop = null;
        private bool? __pbn__tournament_drop;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchPlayerAbilityUpgrade : 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(-1)]
        public int ability
        {
            get => __pbn__ability ?? -1;
            set => __pbn__ability = value;
        }
        public bool ShouldSerializeability() => __pbn__ability != null;
        public void Resetability() => __pbn__ability = null;
        private int? __pbn__ability;

        [global::ProtoBuf.ProtoMember(2)]
        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 CMatchPlayerTimedCustomStat : 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)]
        [global::System.ComponentModel.DefaultValue(EDOTAMatchPlayerTimeCustomStat.k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers)]
        public EDOTAMatchPlayerTimeCustomStat stat
        {
            get => __pbn__stat ?? EDOTAMatchPlayerTimeCustomStat.k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers;
            set => __pbn__stat = value;
        }
        public bool ShouldSerializestat() => __pbn__stat != null;
        public void Resetstat() => __pbn__stat = null;
        private EDOTAMatchPlayerTimeCustomStat? __pbn__stat;

        [global::ProtoBuf.ProtoMember(3)]
        public float value
        {
            get => __pbn__value.GetValueOrDefault();
            set => __pbn__value = value;
        }
        public bool ShouldSerializevalue() => __pbn__value != null;
        public void Resetvalue() => __pbn__value = null;
        private float? __pbn__value;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchPlayerTimedStats : 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 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.ProtoMember(2)]
        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(3)]
        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(4)]
        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(5)]
        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(6)]
        public uint xp
        {
            get => __pbn__xp.GetValueOrDefault();
            set => __pbn__xp = value;
        }
        public bool ShouldSerializexp() => __pbn__xp != null;
        public void Resetxp() => __pbn__xp = null;
        private uint? __pbn__xp;

        [global::ProtoBuf.ProtoMember(7)]
        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(8)]
        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(9)]
        public uint bounty_rune_gold
        {
            get => __pbn__bounty_rune_gold.GetValueOrDefault();
            set => __pbn__bounty_rune_gold = value;
        }
        public bool ShouldSerializebounty_rune_gold() => __pbn__bounty_rune_gold != null;
        public void Resetbounty_rune_gold() => __pbn__bounty_rune_gold = null;
        private uint? __pbn__bounty_rune_gold;

        [global::ProtoBuf.ProtoMember(10)]
        public uint range_creep_upgrade_gold
        {
            get => __pbn__range_creep_upgrade_gold.GetValueOrDefault();
            set => __pbn__range_creep_upgrade_gold = value;
        }
        public bool ShouldSerializerange_creep_upgrade_gold() => __pbn__range_creep_upgrade_gold != null;
        public void Resetrange_creep_upgrade_gold() => __pbn__range_creep_upgrade_gold = null;
        private uint? __pbn__range_creep_upgrade_gold;

        [global::ProtoBuf.ProtoMember(11)]
        public uint observer_wards_dewarded
        {
            get => __pbn__observer_wards_dewarded.GetValueOrDefault();
            set => __pbn__observer_wards_dewarded = value;
        }
        public bool ShouldSerializeobserver_wards_dewarded() => __pbn__observer_wards_dewarded != null;
        public void Resetobserver_wards_dewarded() => __pbn__observer_wards_dewarded = null;
        private uint? __pbn__observer_wards_dewarded;

        [global::ProtoBuf.ProtoMember(12)]
        public uint reliable_gold_earned
        {
            get => __pbn__reliable_gold_earned.GetValueOrDefault();
            set => __pbn__reliable_gold_earned = value;
        }
        public bool ShouldSerializereliable_gold_earned() => __pbn__reliable_gold_earned != null;
        public void Resetreliable_gold_earned() => __pbn__reliable_gold_earned = null;
        private uint? __pbn__reliable_gold_earned;

        [global::ProtoBuf.ProtoMember(13)]
        public uint gold_loss_prevented
        {
            get => __pbn__gold_loss_prevented.GetValueOrDefault();
            set => __pbn__gold_loss_prevented = value;
        }
        public bool ShouldSerializegold_loss_prevented() => __pbn__gold_loss_prevented != null;
        public void Resetgold_loss_prevented() => __pbn__gold_loss_prevented = null;
        private uint? __pbn__gold_loss_prevented;

        [global::ProtoBuf.ProtoMember(14)]
        public uint hero_kill_gold
        {
            get => __pbn__hero_kill_gold.GetValueOrDefault();
            set => __pbn__hero_kill_gold = value;
        }
        public bool ShouldSerializehero_kill_gold() => __pbn__hero_kill_gold != null;
        public void Resethero_kill_gold() => __pbn__hero_kill_gold = null;
        private uint? __pbn__hero_kill_gold;

        [global::ProtoBuf.ProtoMember(15)]
        public uint creep_kill_gold
        {
            get => __pbn__creep_kill_gold.GetValueOrDefault();
            set => __pbn__creep_kill_gold = value;
        }
        public bool ShouldSerializecreep_kill_gold() => __pbn__creep_kill_gold != null;
        public void Resetcreep_kill_gold() => __pbn__creep_kill_gold = null;
        private uint? __pbn__creep_kill_gold;

        [global::ProtoBuf.ProtoMember(16)]
        public uint building_gold
        {
            get => __pbn__building_gold.GetValueOrDefault();
            set => __pbn__building_gold = value;
        }
        public bool ShouldSerializebuilding_gold() => __pbn__building_gold != null;
        public void Resetbuilding_gold() => __pbn__building_gold = null;
        private uint? __pbn__building_gold;

        [global::ProtoBuf.ProtoMember(17)]
        public uint other_gold
        {
            get => __pbn__other_gold.GetValueOrDefault();
            set => __pbn__other_gold = value;
        }
        public bool ShouldSerializeother_gold() => __pbn__other_gold != null;
        public void Resetother_gold() => __pbn__other_gold = null;
        private uint? __pbn__other_gold;

        [global::ProtoBuf.ProtoMember(18)]
        public uint comeback_gold
        {
            get => __pbn__comeback_gold.GetValueOrDefault();
            set => __pbn__comeback_gold = value;
        }
        public bool ShouldSerializecomeback_gold() => __pbn__comeback_gold != null;
        public void Resetcomeback_gold() => __pbn__comeback_gold = null;
        private uint? __pbn__comeback_gold;

        [global::ProtoBuf.ProtoMember(19)]
        public uint experimental_gold
        {
            get => __pbn__experimental_gold.GetValueOrDefault();
            set => __pbn__experimental_gold = value;
        }
        public bool ShouldSerializeexperimental_gold() => __pbn__experimental_gold != null;
        public void Resetexperimental_gold() => __pbn__experimental_gold = null;
        private uint? __pbn__experimental_gold;

        [global::ProtoBuf.ProtoMember(20)]
        public uint experimental2_gold
        {
            get => __pbn__experimental2_gold.GetValueOrDefault();
            set => __pbn__experimental2_gold = value;
        }
        public bool ShouldSerializeexperimental2_gold() => __pbn__experimental2_gold != null;
        public void Resetexperimental2_gold() => __pbn__experimental2_gold = null;
        private uint? __pbn__experimental2_gold;

        [global::ProtoBuf.ProtoMember(21)]
        public uint creep_deny_gold
        {
            get => __pbn__creep_deny_gold.GetValueOrDefault();
            set => __pbn__creep_deny_gold = value;
        }
        public bool ShouldSerializecreep_deny_gold() => __pbn__creep_deny_gold != null;
        public void Resetcreep_deny_gold() => __pbn__creep_deny_gold = null;
        private uint? __pbn__creep_deny_gold;

        [global::ProtoBuf.ProtoMember(22)]
        public uint tp_scrolls_purchased_1
        {
            get => __pbn__tp_scrolls_purchased_1.GetValueOrDefault();
            set => __pbn__tp_scrolls_purchased_1 = value;
        }
        public bool ShouldSerializetp_scrolls_purchased_1() => __pbn__tp_scrolls_purchased_1 != null;
        public void Resettp_scrolls_purchased_1() => __pbn__tp_scrolls_purchased_1 = null;
        private uint? __pbn__tp_scrolls_purchased_1;

        [global::ProtoBuf.ProtoMember(23)]
        public uint tp_scrolls_purchased_2
        {
            get => __pbn__tp_scrolls_purchased_2.GetValueOrDefault();
            set => __pbn__tp_scrolls_purchased_2 = value;
        }
        public bool ShouldSerializetp_scrolls_purchased_2() => __pbn__tp_scrolls_purchased_2 != null;
        public void Resettp_scrolls_purchased_2() => __pbn__tp_scrolls_purchased_2 = null;
        private uint? __pbn__tp_scrolls_purchased_2;

        [global::ProtoBuf.ProtoMember(24)]
        public uint tp_scrolls_purchased_3
        {
            get => __pbn__tp_scrolls_purchased_3.GetValueOrDefault();
            set => __pbn__tp_scrolls_purchased_3 = value;
        }
        public bool ShouldSerializetp_scrolls_purchased_3() => __pbn__tp_scrolls_purchased_3 != null;
        public void Resettp_scrolls_purchased_3() => __pbn__tp_scrolls_purchased_3 = null;
        private uint? __pbn__tp_scrolls_purchased_3;

        [global::ProtoBuf.ProtoMember(25)]
        public uint tp_scrolls_purchased_4
        {
            get => __pbn__tp_scrolls_purchased_4.GetValueOrDefault();
            set => __pbn__tp_scrolls_purchased_4 = value;
        }
        public bool ShouldSerializetp_scrolls_purchased_4() => __pbn__tp_scrolls_purchased_4 != null;
        public void Resettp_scrolls_purchased_4() => __pbn__tp_scrolls_purchased_4 = null;
        private uint? __pbn__tp_scrolls_purchased_4;

        [global::ProtoBuf.ProtoMember(26)]
        public uint tp_scrolls_purchased_5
        {
            get => __pbn__tp_scrolls_purchased_5.GetValueOrDefault();
            set => __pbn__tp_scrolls_purchased_5 = value;
        }
        public bool ShouldSerializetp_scrolls_purchased_5() => __pbn__tp_scrolls_purchased_5 != null;
        public void Resettp_scrolls_purchased_5() => __pbn__tp_scrolls_purchased_5 = null;
        private uint? __pbn__tp_scrolls_purchased_5;

        [global::ProtoBuf.ProtoMember(27)]
        public uint neutral_gold
        {
            get => __pbn__neutral_gold.GetValueOrDefault();
            set => __pbn__neutral_gold = value;
        }
        public bool ShouldSerializeneutral_gold() => __pbn__neutral_gold != null;
        public void Resetneutral_gold() => __pbn__neutral_gold = null;
        private uint? __pbn__neutral_gold;

        [global::ProtoBuf.ProtoMember(28)]
        public uint courier_gold
        {
            get => __pbn__courier_gold.GetValueOrDefault();
            set => __pbn__courier_gold = value;
        }
        public bool ShouldSerializecourier_gold() => __pbn__courier_gold != null;
        public void Resetcourier_gold() => __pbn__courier_gold = null;
        private uint? __pbn__courier_gold;

        [global::ProtoBuf.ProtoMember(29)]
        public uint roshan_gold
        {
            get => __pbn__roshan_gold.GetValueOrDefault();
            set => __pbn__roshan_gold = value;
        }
        public bool ShouldSerializeroshan_gold() => __pbn__roshan_gold != null;
        public void Resetroshan_gold() => __pbn__roshan_gold = null;
        private uint? __pbn__roshan_gold;

        [global::ProtoBuf.ProtoMember(30)]
        public uint income_gold
        {
            get => __pbn__income_gold.GetValueOrDefault();
            set => __pbn__income_gold = value;
        }
        public bool ShouldSerializeincome_gold() => __pbn__income_gold != null;
        public void Resetincome_gold() => __pbn__income_gold = null;
        private uint? __pbn__income_gold;

        [global::ProtoBuf.ProtoMember(36)]
        public uint item_value
        {
            get => __pbn__item_value.GetValueOrDefault();
            set => __pbn__item_value = value;
        }
        public bool ShouldSerializeitem_value() => __pbn__item_value != null;
        public void Resetitem_value() => __pbn__item_value = null;
        private uint? __pbn__item_value;

        [global::ProtoBuf.ProtoMember(37)]
        public uint 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 uint? __pbn__support_gold_spent;

        [global::ProtoBuf.ProtoMember(38)]
        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.ProtoMember(39)]
        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(40)]
        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(41)]
        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(42)]
        public global::System.Collections.Generic.List<CMatchPlayerTimedCustomStat> custom_stats { get; } = new global::System.Collections.Generic.List<CMatchPlayerTimedCustomStat>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchTeamTimedStats : 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 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.ProtoMember(2)]
        public uint enemy_towers_killed
        {
            get => __pbn__enemy_towers_killed.GetValueOrDefault();
            set => __pbn__enemy_towers_killed = value;
        }
        public bool ShouldSerializeenemy_towers_killed() => __pbn__enemy_towers_killed != null;
        public void Resetenemy_towers_killed() => __pbn__enemy_towers_killed = null;
        private uint? __pbn__enemy_towers_killed;

        [global::ProtoBuf.ProtoMember(3)]
        public uint enemy_barracks_killed
        {
            get => __pbn__enemy_barracks_killed.GetValueOrDefault();
            set => __pbn__enemy_barracks_killed = value;
        }
        public bool ShouldSerializeenemy_barracks_killed() => __pbn__enemy_barracks_killed != null;
        public void Resetenemy_barracks_killed() => __pbn__enemy_barracks_killed = null;
        private uint? __pbn__enemy_barracks_killed;

        [global::ProtoBuf.ProtoMember(4)]
        public uint enemy_towers_status
        {
            get => __pbn__enemy_towers_status.GetValueOrDefault();
            set => __pbn__enemy_towers_status = value;
        }
        public bool ShouldSerializeenemy_towers_status() => __pbn__enemy_towers_status != null;
        public void Resetenemy_towers_status() => __pbn__enemy_towers_status = null;
        private uint? __pbn__enemy_towers_status;

        [global::ProtoBuf.ProtoMember(5)]
        public uint enemy_barracks_status
        {
            get => __pbn__enemy_barracks_status.GetValueOrDefault();
            set => __pbn__enemy_barracks_status = value;
        }
        public bool ShouldSerializeenemy_barracks_status() => __pbn__enemy_barracks_status != null;
        public void Resetenemy_barracks_status() => __pbn__enemy_barracks_status = null;
        private uint? __pbn__enemy_barracks_status;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchAdditionalUnitInventory : 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 unit_name
        {
            get => __pbn__unit_name ?? "";
            set => __pbn__unit_name = value;
        }
        public bool ShouldSerializeunit_name() => __pbn__unit_name != null;
        public void Resetunit_name() => __pbn__unit_name = null;
        private string __pbn__unit_name;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchPlayerPermanentBuff : 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 permanent_buff
        {
            get => __pbn__permanent_buff.GetValueOrDefault();
            set => __pbn__permanent_buff = value;
        }
        public bool ShouldSerializepermanent_buff() => __pbn__permanent_buff != null;
        public void Resetpermanent_buff() => __pbn__permanent_buff = null;
        private uint? __pbn__permanent_buff;

        [global::ProtoBuf.ProtoMember(2)]
        public uint stack_count
        {
            get => __pbn__stack_count.GetValueOrDefault();
            set => __pbn__stack_count = value;
        }
        public bool ShouldSerializestack_count() => __pbn__stack_count != null;
        public void Resetstack_count() => __pbn__stack_count = null;
        private uint? __pbn__stack_count;

        [global::ProtoBuf.ProtoMember(3)]
        public uint grant_time
        {
            get => __pbn__grant_time.GetValueOrDefault();
            set => __pbn__grant_time = value;
        }
        public bool ShouldSerializegrant_time() => __pbn__grant_time != null;
        public void Resetgrant_time() => __pbn__grant_time = null;
        private uint? __pbn__grant_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchHeroSelectEvent : 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_pick
        {
            get => __pbn__is_pick.GetValueOrDefault();
            set => __pbn__is_pick = value;
        }
        public bool ShouldSerializeis_pick() => __pbn__is_pick != null;
        public void Resetis_pick() => __pbn__is_pick = null;
        private bool? __pbn__is_pick;

        [global::ProtoBuf.ProtoMember(2)]
        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(3)]
        public int 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 int? __pbn__hero_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMatchClip : 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 player_account_id
        {
            get => __pbn__player_account_id.GetValueOrDefault();
            set => __pbn__player_account_id = value;
        }
        public bool ShouldSerializeplayer_account_id() => __pbn__player_account_id != null;
        public void Resetplayer_account_id() => __pbn__player_account_id = null;
        private uint? __pbn__player_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint game_time_seconds
        {
            get => __pbn__game_time_seconds.GetValueOrDefault();
            set => __pbn__game_time_seconds = value;
        }
        public bool ShouldSerializegame_time_seconds() => __pbn__game_time_seconds != null;
        public void Resetgame_time_seconds() => __pbn__game_time_seconds = null;
        private uint? __pbn__game_time_seconds;

        [global::ProtoBuf.ProtoMember(4)]
        public uint duration_seconds
        {
            get => __pbn__duration_seconds.GetValueOrDefault();
            set => __pbn__duration_seconds = value;
        }
        public bool ShouldSerializeduration_seconds() => __pbn__duration_seconds != null;
        public void Resetduration_seconds() => __pbn__duration_seconds = null;
        private uint? __pbn__duration_seconds;

        [global::ProtoBuf.ProtoMember(5)]
        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(6)]
        public int 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int ability_id
        {
            get => __pbn__ability_id ?? -1;
            set => __pbn__ability_id = value;
        }
        public bool ShouldSerializeability_id() => __pbn__ability_id != null;
        public void Resetability_id() => __pbn__ability_id = null;
        private int? __pbn__ability_id;

        [global::ProtoBuf.ProtoMember(8)]
        public uint camera_mode
        {
            get => __pbn__camera_mode.GetValueOrDefault();
            set => __pbn__camera_mode = value;
        }
        public bool ShouldSerializecamera_mode() => __pbn__camera_mode != null;
        public void Resetcamera_mode() => __pbn__camera_mode = null;
        private uint? __pbn__camera_mode;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue("")]
        public string comment
        {
            get => __pbn__comment ?? "";
            set => __pbn__comment = value;
        }
        public bool ShouldSerializecomment() => __pbn__comment != null;
        public void Resetcomment() => __pbn__comment = null;
        private string __pbn__comment;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CPartySearchClientParty : 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 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(2)]
        public int beacon_type
        {
            get => __pbn__beacon_type.GetValueOrDefault();
            set => __pbn__beacon_type = value;
        }
        public bool ShouldSerializebeacon_type() => __pbn__beacon_type != null;
        public void Resetbeacon_type() => __pbn__beacon_type = null;
        private int? __pbn__beacon_type;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAHasItemQuery : 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 CMsgDOTAHasItemResponse : 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 has_item
        {
            get => __pbn__has_item.GetValueOrDefault();
            set => __pbn__has_item = value;
        }
        public bool ShouldSerializehas_item() => __pbn__has_item != null;
        public void Resethas_item() => __pbn__has_item = null;
        private bool? __pbn__has_item;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCGetPlayerCardItemInfo : 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<ulong> player_card_item_ids { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint all_for_event
        {
            get => __pbn__all_for_event.GetValueOrDefault();
            set => __pbn__all_for_event = value;
        }
        public bool ShouldSerializeall_for_event() => __pbn__all_for_event != null;
        public void Resetall_for_event() => __pbn__all_for_event = null;
        private uint? __pbn__all_for_event;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCGetPlayerCardItemInfoResponse : 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<PlayerCardInfo> player_card_infos { get; } = new global::System.Collections.Generic.List<PlayerCardInfo>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerCardInfo : 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 player_card_item_id
            {
                get => __pbn__player_card_item_id.GetValueOrDefault();
                set => __pbn__player_card_item_id = value;
            }
            public bool ShouldSerializeplayer_card_item_id() => __pbn__player_card_item_id != null;
            public void Resetplayer_card_item_id() => __pbn__player_card_item_id = null;
            private ulong? __pbn__player_card_item_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 ulong packed_bonuses
            {
                get => __pbn__packed_bonuses.GetValueOrDefault();
                set => __pbn__packed_bonuses = value;
            }
            public bool ShouldSerializepacked_bonuses() => __pbn__packed_bonuses != null;
            public void Resetpacked_bonuses() => __pbn__packed_bonuses = null;
            private ulong? __pbn__packed_bonuses;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSODOTAMapLocationState : 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 location_id
        {
            get => __pbn__location_id.GetValueOrDefault();
            set => __pbn__location_id = value;
        }
        public bool ShouldSerializelocation_id() => __pbn__location_id != null;
        public void Resetlocation_id() => __pbn__location_id = null;
        private int? __pbn__location_id;

        [global::ProtoBuf.ProtoMember(3)]
        public bool completed
        {
            get => __pbn__completed.GetValueOrDefault();
            set => __pbn__completed = value;
        }
        public bool ShouldSerializecompleted() => __pbn__completed != null;
        public void Resetcompleted() => __pbn__completed = null;
        private bool? __pbn__completed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeagueAdminList : 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 CMsgDOTAProfileCard : 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(3)]
        public global::System.Collections.Generic.List<Slot> slots { get; } = new global::System.Collections.Generic.List<Slot>();

        [global::ProtoBuf.ProtoMember(4)]
        public uint badge_points
        {
            get => __pbn__badge_points.GetValueOrDefault();
            set => __pbn__badge_points = value;
        }
        public bool ShouldSerializebadge_points() => __pbn__badge_points != null;
        public void Resetbadge_points() => __pbn__badge_points = null;
        private uint? __pbn__badge_points;

        [global::ProtoBuf.ProtoMember(6)]
        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(7)]
        public CMsgBattleCupVictory recent_battle_cup_victory { get; set; }

        [global::ProtoBuf.ProtoMember(8)]
        public uint rank_tier
        {
            get => __pbn__rank_tier.GetValueOrDefault();
            set => __pbn__rank_tier = value;
        }
        public bool ShouldSerializerank_tier() => __pbn__rank_tier != null;
        public void Resetrank_tier() => __pbn__rank_tier = null;
        private uint? __pbn__rank_tier;

        [global::ProtoBuf.ProtoMember(9)]
        public uint leaderboard_rank
        {
            get => __pbn__leaderboard_rank.GetValueOrDefault();
            set => __pbn__leaderboard_rank = value;
        }
        public bool ShouldSerializeleaderboard_rank() => __pbn__leaderboard_rank != null;
        public void Resetleaderboard_rank() => __pbn__leaderboard_rank = null;
        private uint? __pbn__leaderboard_rank;

        [global::ProtoBuf.ProtoMember(10)]
        public bool is_plus_subscriber
        {
            get => __pbn__is_plus_subscriber.GetValueOrDefault();
            set => __pbn__is_plus_subscriber = value;
        }
        public bool ShouldSerializeis_plus_subscriber() => __pbn__is_plus_subscriber != null;
        public void Resetis_plus_subscriber() => __pbn__is_plus_subscriber = null;
        private bool? __pbn__is_plus_subscriber;

        [global::ProtoBuf.ProtoMember(11)]
        public uint plus_original_start_date
        {
            get => __pbn__plus_original_start_date.GetValueOrDefault();
            set => __pbn__plus_original_start_date = value;
        }
        public bool ShouldSerializeplus_original_start_date() => __pbn__plus_original_start_date != null;
        public void Resetplus_original_start_date() => __pbn__plus_original_start_date = null;
        private uint? __pbn__plus_original_start_date;

        [global::ProtoBuf.ProtoMember(12)]
        public uint rank_tier_score
        {
            get => __pbn__rank_tier_score.GetValueOrDefault();
            set => __pbn__rank_tier_score = value;
        }
        public bool ShouldSerializerank_tier_score() => __pbn__rank_tier_score != null;
        public void Resetrank_tier_score() => __pbn__rank_tier_score = null;
        private uint? __pbn__rank_tier_score;

        [global::ProtoBuf.ProtoMember(17)]
        public uint leaderboard_rank_core
        {
            get => __pbn__leaderboard_rank_core.GetValueOrDefault();
            set => __pbn__leaderboard_rank_core = value;
        }
        public bool ShouldSerializeleaderboard_rank_core() => __pbn__leaderboard_rank_core != null;
        public void Resetleaderboard_rank_core() => __pbn__leaderboard_rank_core = null;
        private uint? __pbn__leaderboard_rank_core;

        [global::ProtoBuf.ProtoMember(23)]
        public uint title
        {
            get => __pbn__title.GetValueOrDefault();
            set => __pbn__title = value;
        }
        public bool ShouldSerializetitle() => __pbn__title != null;
        public void Resettitle() => __pbn__title = null;
        private uint? __pbn__title;

        [global::ProtoBuf.ProtoMember(24)]
        public ulong favorite_team_packed
        {
            get => __pbn__favorite_team_packed.GetValueOrDefault();
            set => __pbn__favorite_team_packed = value;
        }
        public bool ShouldSerializefavorite_team_packed() => __pbn__favorite_team_packed != null;
        public void Resetfavorite_team_packed() => __pbn__favorite_team_packed = null;
        private ulong? __pbn__favorite_team_packed;

        [global::ProtoBuf.ProtoMember(25)]
        public uint lifetime_games
        {
            get => __pbn__lifetime_games.GetValueOrDefault();
            set => __pbn__lifetime_games = value;
        }
        public bool ShouldSerializelifetime_games() => __pbn__lifetime_games != null;
        public void Resetlifetime_games() => __pbn__lifetime_games = null;
        private uint? __pbn__lifetime_games;

        [global::ProtoBuf.ProtoMember(26)]
        public uint event_level
        {
            get => __pbn__event_level.GetValueOrDefault();
            set => __pbn__event_level = value;
        }
        public bool ShouldSerializeevent_level() => __pbn__event_level != null;
        public void Resetevent_level() => __pbn__event_level = null;
        private uint? __pbn__event_level;

        [global::ProtoBuf.ProtoContract()]
        public partial class Slot : 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 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(2)]
            public Trophy trophy { get; set; }

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

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

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

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class Trophy : 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 trophy_id
                {
                    get => __pbn__trophy_id.GetValueOrDefault();
                    set => __pbn__trophy_id = value;
                }
                public bool ShouldSerializetrophy_id() => __pbn__trophy_id != null;
                public void Resettrophy_id() => __pbn__trophy_id = null;
                private uint? __pbn__trophy_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint trophy_score
                {
                    get => __pbn__trophy_score.GetValueOrDefault();
                    set => __pbn__trophy_score = value;
                }
                public bool ShouldSerializetrophy_score() => __pbn__trophy_score != null;
                public void Resettrophy_score() => __pbn__trophy_score = null;
                private uint? __pbn__trophy_score;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Stat : 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(CMsgDOTAProfileCard.EStatID.k_eStat_Wins)]
                public CMsgDOTAProfileCard.EStatID stat_id
                {
                    get => __pbn__stat_id ?? CMsgDOTAProfileCard.EStatID.k_eStat_Wins;
                    set => __pbn__stat_id = value;
                }
                public bool ShouldSerializestat_id() => __pbn__stat_id != null;
                public void Resetstat_id() => __pbn__stat_id = null;
                private CMsgDOTAProfileCard.EStatID? __pbn__stat_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint stat_score
                {
                    get => __pbn__stat_score.GetValueOrDefault();
                    set => __pbn__stat_score = value;
                }
                public bool ShouldSerializestat_score() => __pbn__stat_score != null;
                public void Resetstat_score() => __pbn__stat_score = null;
                private uint? __pbn__stat_score;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Item : 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[] serialized_item
                {
                    get => __pbn__serialized_item;
                    set => __pbn__serialized_item = value;
                }
                public bool ShouldSerializeserialized_item() => __pbn__serialized_item != null;
                public void Resetserialized_item() => __pbn__serialized_item = null;
                private byte[] __pbn__serialized_item;

                [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 Hero : 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 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 int? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint hero_wins
                {
                    get => __pbn__hero_wins.GetValueOrDefault();
                    set => __pbn__hero_wins = value;
                }
                public bool ShouldSerializehero_wins() => __pbn__hero_wins != null;
                public void Resethero_wins() => __pbn__hero_wins = null;
                private uint? __pbn__hero_wins;

                [global::ProtoBuf.ProtoMember(3)]
                public uint hero_losses
                {
                    get => __pbn__hero_losses.GetValueOrDefault();
                    set => __pbn__hero_losses = value;
                }
                public bool ShouldSerializehero_losses() => __pbn__hero_losses != null;
                public void Resethero_losses() => __pbn__hero_losses = null;
                private uint? __pbn__hero_losses;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Emoticon : 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 emoticon_id
                {
                    get => __pbn__emoticon_id.GetValueOrDefault();
                    set => __pbn__emoticon_id = value;
                }
                public bool ShouldSerializeemoticon_id() => __pbn__emoticon_id != null;
                public void Resetemoticon_id() => __pbn__emoticon_id = null;
                private uint? __pbn__emoticon_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 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.ProtoContract()]
        public enum EStatID
        {
            k_eStat_Wins = 3,
            k_eStat_Commends = 4,
            k_eStat_GamesPlayed = 5,
            k_eStat_FirstMatchDate = 6,
            k_eStat_PreviousSeasonRank = 7,
            k_eStat_GamesMVP = 8,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSODOTAPlayerChallenge : 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 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 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(5)]
        public uint int_param_0
        {
            get => __pbn__int_param_0.GetValueOrDefault();
            set => __pbn__int_param_0 = value;
        }
        public bool ShouldSerializeint_param_0() => __pbn__int_param_0 != null;
        public void Resetint_param_0() => __pbn__int_param_0 = null;
        private uint? __pbn__int_param_0;

        [global::ProtoBuf.ProtoMember(6)]
        public uint int_param_1
        {
            get => __pbn__int_param_1.GetValueOrDefault();
            set => __pbn__int_param_1 = value;
        }
        public bool ShouldSerializeint_param_1() => __pbn__int_param_1 != null;
        public void Resetint_param_1() => __pbn__int_param_1 = null;
        private uint? __pbn__int_param_1;

        [global::ProtoBuf.ProtoMember(7)]
        public uint created_time
        {
            get => __pbn__created_time.GetValueOrDefault();
            set => __pbn__created_time = value;
        }
        public bool ShouldSerializecreated_time() => __pbn__created_time != null;
        public void Resetcreated_time() => __pbn__created_time = null;
        private uint? __pbn__created_time;

        [global::ProtoBuf.ProtoMember(8)]
        public uint completed
        {
            get => __pbn__completed.GetValueOrDefault();
            set => __pbn__completed = value;
        }
        public bool ShouldSerializecompleted() => __pbn__completed != null;
        public void Resetcompleted() => __pbn__completed = null;
        private uint? __pbn__completed;

        [global::ProtoBuf.ProtoMember(9)]
        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(10)]
        public uint challenge_tier
        {
            get => __pbn__challenge_tier.GetValueOrDefault();
            set => __pbn__challenge_tier = value;
        }
        public bool ShouldSerializechallenge_tier() => __pbn__challenge_tier != null;
        public void Resetchallenge_tier() => __pbn__challenge_tier = null;
        private uint? __pbn__challenge_tier;

        [global::ProtoBuf.ProtoMember(11)]
        public uint flags
        {
            get => __pbn__flags.GetValueOrDefault();
            set => __pbn__flags = value;
        }
        public bool ShouldSerializeflags() => __pbn__flags != null;
        public void Resetflags() => __pbn__flags = null;
        private uint? __pbn__flags;

        [global::ProtoBuf.ProtoMember(12)]
        public uint attempts
        {
            get => __pbn__attempts.GetValueOrDefault();
            set => __pbn__attempts = value;
        }
        public bool ShouldSerializeattempts() => __pbn__attempts != null;
        public void Resetattempts() => __pbn__attempts = null;
        private uint? __pbn__attempts;

        [global::ProtoBuf.ProtoMember(13)]
        public uint complete_limit
        {
            get => __pbn__complete_limit.GetValueOrDefault();
            set => __pbn__complete_limit = value;
        }
        public bool ShouldSerializecomplete_limit() => __pbn__complete_limit != null;
        public void Resetcomplete_limit() => __pbn__complete_limit = null;
        private uint? __pbn__complete_limit;

        [global::ProtoBuf.ProtoMember(14)]
        public uint quest_rank
        {
            get => __pbn__quest_rank.GetValueOrDefault();
            set => __pbn__quest_rank = value;
        }
        public bool ShouldSerializequest_rank() => __pbn__quest_rank != null;
        public void Resetquest_rank() => __pbn__quest_rank = null;
        private uint? __pbn__quest_rank;

        [global::ProtoBuf.ProtoMember(15)]
        public uint max_quest_rank
        {
            get => __pbn__max_quest_rank.GetValueOrDefault();
            set => __pbn__max_quest_rank = value;
        }
        public bool ShouldSerializemax_quest_rank() => __pbn__max_quest_rank != null;
        public void Resetmax_quest_rank() => __pbn__max_quest_rank = null;
        private uint? __pbn__max_quest_rank;

        [global::ProtoBuf.ProtoMember(16)]
        public uint instance_id
        {
            get => __pbn__instance_id.GetValueOrDefault();
            set => __pbn__instance_id = value;
        }
        public bool ShouldSerializeinstance_id() => __pbn__instance_id != null;
        public void Resetinstance_id() => __pbn__instance_id = null;
        private uint? __pbn__instance_id;

        [global::ProtoBuf.ProtoMember(17)]
        public int 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(18)]
        public uint template_id
        {
            get => __pbn__template_id.GetValueOrDefault();
            set => __pbn__template_id = value;
        }
        public bool ShouldSerializetemplate_id() => __pbn__template_id != null;
        public void Resettemplate_id() => __pbn__template_id = null;
        private uint? __pbn__template_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToGCRerollPlayerChallenge : 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(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 int 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 int? __pbn__hero_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCRerollPlayerChallengeResponse : 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(EResult.eResult_Success)]
        public EResult result
        {
            get => __pbn__result ?? EResult.eResult_Success;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private EResult? __pbn__result;

        [global::ProtoBuf.ProtoContract()]
        public enum EResult
        {
            eResult_Success = 0,
            eResult_Dropped = 1,
            eResult_NotFound = 2,
            eResult_CantReroll = 3,
            eResult_ServerError = 4,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCTopCustomGamesList : 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<ulong> top_custom_games { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(2)]
        public ulong game_of_the_day
        {
            get => __pbn__game_of_the_day.GetValueOrDefault();
            set => __pbn__game_of_the_day = value;
        }
        public bool ShouldSerializegame_of_the_day() => __pbn__game_of_the_day != null;
        public void Resetgame_of_the_day() => __pbn__game_of_the_day = null;
        private ulong? __pbn__game_of_the_day;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARealtimeGameStats : 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 MatchDetails match { get; set; }

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

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

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

        [global::ProtoBuf.ProtoMember(5)]
        public bool delta_frame
        {
            get => __pbn__delta_frame.GetValueOrDefault();
            set => __pbn__delta_frame = value;
        }
        public bool ShouldSerializedelta_frame() => __pbn__delta_frame != null;
        public void Resetdelta_frame() => __pbn__delta_frame = null;
        private bool? __pbn__delta_frame;

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamDetails : 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_number
            {
                get => __pbn__team_number.GetValueOrDefault();
                set => __pbn__team_number = value;
            }
            public bool ShouldSerializeteam_number() => __pbn__team_number != null;
            public void Resetteam_number() => __pbn__team_number = null;
            private uint? __pbn__team_number;

            [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)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_name
            {
                get => __pbn__team_name ?? "";
                set => __pbn__team_name = value;
            }
            public bool ShouldSerializeteam_name() => __pbn__team_name != null;
            public void Resetteam_name() => __pbn__team_name = null;
            private string __pbn__team_name;

            [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong team_logo
            {
                get => __pbn__team_logo.GetValueOrDefault();
                set => __pbn__team_logo = value;
            }
            public bool ShouldSerializeteam_logo() => __pbn__team_logo != null;
            public void Resetteam_logo() => __pbn__team_logo = null;
            private ulong? __pbn__team_logo;

            [global::ProtoBuf.ProtoMember(10)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_tag
            {
                get => __pbn__team_tag ?? "";
                set => __pbn__team_tag = value;
            }
            public bool ShouldSerializeteam_tag() => __pbn__team_tag != null;
            public void Resetteam_tag() => __pbn__team_tag = null;
            private string __pbn__team_tag;

            [global::ProtoBuf.ProtoMember(5)]
            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(9)]
            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(6)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PlayerDetails> players { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PlayerDetails>();

            [global::ProtoBuf.ProtoMember(7)]
            public bool only_team
            {
                get => __pbn__only_team.GetValueOrDefault();
                set => __pbn__only_team = value;
            }
            public bool ShouldSerializeonly_team() => __pbn__only_team != null;
            public void Resetonly_team() => __pbn__only_team = null;
            private bool? __pbn__only_team;

            [global::ProtoBuf.ProtoMember(8)]
            public uint cheers
            {
                get => __pbn__cheers.GetValueOrDefault();
                set => __pbn__cheers = value;
            }
            public bool ShouldSerializecheers() => __pbn__cheers != null;
            public void Resetcheers() => __pbn__cheers = null;
            private uint? __pbn__cheers;

            [global::ProtoBuf.ProtoMember(11)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_logo_url
            {
                get => __pbn__team_logo_url ?? "";
                set => __pbn__team_logo_url = value;
            }
            public bool ShouldSerializeteam_logo_url() => __pbn__team_logo_url != null;
            public void Resetteam_logo_url() => __pbn__team_logo_url = null;
            private string __pbn__team_logo_url;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemDetails : 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(-1)]
            public int item_ability_id
            {
                get => __pbn__item_ability_id ?? -1;
                set => __pbn__item_ability_id = value;
            }
            public bool ShouldSerializeitem_ability_id() => __pbn__item_ability_id != null;
            public void Resetitem_ability_id() => __pbn__item_ability_id = null;
            private int? __pbn__item_ability_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

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

            [global::ProtoBuf.ProtoMember(4)]
            public bool sold
            {
                get => __pbn__sold.GetValueOrDefault();
                set => __pbn__sold = value;
            }
            public bool ShouldSerializesold() => __pbn__sold != null;
            public void Resetsold() => __pbn__sold = null;
            private bool? __pbn__sold;

            [global::ProtoBuf.ProtoMember(5)]
            public uint stackcount
            {
                get => __pbn__stackcount.GetValueOrDefault();
                set => __pbn__stackcount = value;
            }
            public bool ShouldSerializestackcount() => __pbn__stackcount != null;
            public void Resetstackcount() => __pbn__stackcount = null;
            private uint? __pbn__stackcount;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class AbilityDetails : 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(-1)]
            public int id
            {
                get => __pbn__id ?? -1;
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private int? __pbn__id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [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 float cooldown
            {
                get => __pbn__cooldown.GetValueOrDefault();
                set => __pbn__cooldown = value;
            }
            public bool ShouldSerializecooldown() => __pbn__cooldown != null;
            public void Resetcooldown() => __pbn__cooldown = null;
            private float? __pbn__cooldown;

            [global::ProtoBuf.ProtoMember(5)]
            public float cooldown_max
            {
                get => __pbn__cooldown_max.GetValueOrDefault();
                set => __pbn__cooldown_max = value;
            }
            public bool ShouldSerializecooldown_max() => __pbn__cooldown_max != null;
            public void Resetcooldown_max() => __pbn__cooldown_max = null;
            private float? __pbn__cooldown_max;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class HeroToHeroStats : 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(-1)]
            public int victimid
            {
                get => __pbn__victimid ?? -1;
                set => __pbn__victimid = value;
            }
            public bool ShouldSerializevictimid() => __pbn__victimid != null;
            public void Resetvictimid() => __pbn__victimid = null;
            private int? __pbn__victimid;

            [global::ProtoBuf.ProtoMember(2)]
            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(3)]
            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 AbilityList : 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<int> id { get; } = new global::System.Collections.Generic.List<int>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerDetails : 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 accountid
            {
                get => __pbn__accountid.GetValueOrDefault();
                set => __pbn__accountid = value;
            }
            public bool ShouldSerializeaccountid() => __pbn__accountid != null;
            public void Resetaccountid() => __pbn__accountid = null;
            private uint? __pbn__accountid;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int playerid
            {
                get => __pbn__playerid ?? -1;
                set => __pbn__playerid = value;
            }
            public bool ShouldSerializeplayerid() => __pbn__playerid != null;
            public void Resetplayerid() => __pbn__playerid = null;
            private int? __pbn__playerid;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(4)]
            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(5)]
            public int heroid
            {
                get => __pbn__heroid.GetValueOrDefault();
                set => __pbn__heroid = value;
            }
            public bool ShouldSerializeheroid() => __pbn__heroid != null;
            public void Resetheroid() => __pbn__heroid = null;
            private int? __pbn__heroid;

            [global::ProtoBuf.ProtoMember(6)]
            public uint healthpoints
            {
                get => __pbn__healthpoints.GetValueOrDefault();
                set => __pbn__healthpoints = value;
            }
            public bool ShouldSerializehealthpoints() => __pbn__healthpoints != null;
            public void Resethealthpoints() => __pbn__healthpoints = null;
            private uint? __pbn__healthpoints;

            [global::ProtoBuf.ProtoMember(7)]
            public uint maxhealthpoints
            {
                get => __pbn__maxhealthpoints.GetValueOrDefault();
                set => __pbn__maxhealthpoints = value;
            }
            public bool ShouldSerializemaxhealthpoints() => __pbn__maxhealthpoints != null;
            public void Resetmaxhealthpoints() => __pbn__maxhealthpoints = null;
            private uint? __pbn__maxhealthpoints;

            [global::ProtoBuf.ProtoMember(8)]
            public float healthregenrate
            {
                get => __pbn__healthregenrate.GetValueOrDefault();
                set => __pbn__healthregenrate = value;
            }
            public bool ShouldSerializehealthregenrate() => __pbn__healthregenrate != null;
            public void Resethealthregenrate() => __pbn__healthregenrate = null;
            private float? __pbn__healthregenrate;

            [global::ProtoBuf.ProtoMember(9)]
            public uint manapoints
            {
                get => __pbn__manapoints.GetValueOrDefault();
                set => __pbn__manapoints = value;
            }
            public bool ShouldSerializemanapoints() => __pbn__manapoints != null;
            public void Resetmanapoints() => __pbn__manapoints = null;
            private uint? __pbn__manapoints;

            [global::ProtoBuf.ProtoMember(10)]
            public uint maxmanapoints
            {
                get => __pbn__maxmanapoints.GetValueOrDefault();
                set => __pbn__maxmanapoints = value;
            }
            public bool ShouldSerializemaxmanapoints() => __pbn__maxmanapoints != null;
            public void Resetmaxmanapoints() => __pbn__maxmanapoints = null;
            private uint? __pbn__maxmanapoints;

            [global::ProtoBuf.ProtoMember(11)]
            public float manaregenrate
            {
                get => __pbn__manaregenrate.GetValueOrDefault();
                set => __pbn__manaregenrate = value;
            }
            public bool ShouldSerializemanaregenrate() => __pbn__manaregenrate != null;
            public void Resetmanaregenrate() => __pbn__manaregenrate = null;
            private float? __pbn__manaregenrate;

            [global::ProtoBuf.ProtoMember(12)]
            public uint base_strength
            {
                get => __pbn__base_strength.GetValueOrDefault();
                set => __pbn__base_strength = value;
            }
            public bool ShouldSerializebase_strength() => __pbn__base_strength != null;
            public void Resetbase_strength() => __pbn__base_strength = null;
            private uint? __pbn__base_strength;

            [global::ProtoBuf.ProtoMember(13)]
            public uint base_agility
            {
                get => __pbn__base_agility.GetValueOrDefault();
                set => __pbn__base_agility = value;
            }
            public bool ShouldSerializebase_agility() => __pbn__base_agility != null;
            public void Resetbase_agility() => __pbn__base_agility = null;
            private uint? __pbn__base_agility;

            [global::ProtoBuf.ProtoMember(14)]
            public uint base_intelligence
            {
                get => __pbn__base_intelligence.GetValueOrDefault();
                set => __pbn__base_intelligence = value;
            }
            public bool ShouldSerializebase_intelligence() => __pbn__base_intelligence != null;
            public void Resetbase_intelligence() => __pbn__base_intelligence = null;
            private uint? __pbn__base_intelligence;

            [global::ProtoBuf.ProtoMember(15)]
            public int base_armor
            {
                get => __pbn__base_armor.GetValueOrDefault();
                set => __pbn__base_armor = value;
            }
            public bool ShouldSerializebase_armor() => __pbn__base_armor != null;
            public void Resetbase_armor() => __pbn__base_armor = null;
            private int? __pbn__base_armor;

            [global::ProtoBuf.ProtoMember(16)]
            public uint base_movespeed
            {
                get => __pbn__base_movespeed.GetValueOrDefault();
                set => __pbn__base_movespeed = value;
            }
            public bool ShouldSerializebase_movespeed() => __pbn__base_movespeed != null;
            public void Resetbase_movespeed() => __pbn__base_movespeed = null;
            private uint? __pbn__base_movespeed;

            [global::ProtoBuf.ProtoMember(17)]
            public uint base_damage
            {
                get => __pbn__base_damage.GetValueOrDefault();
                set => __pbn__base_damage = value;
            }
            public bool ShouldSerializebase_damage() => __pbn__base_damage != null;
            public void Resetbase_damage() => __pbn__base_damage = null;
            private uint? __pbn__base_damage;

            [global::ProtoBuf.ProtoMember(18)]
            public uint strength
            {
                get => __pbn__strength.GetValueOrDefault();
                set => __pbn__strength = value;
            }
            public bool ShouldSerializestrength() => __pbn__strength != null;
            public void Resetstrength() => __pbn__strength = null;
            private uint? __pbn__strength;

            [global::ProtoBuf.ProtoMember(19)]
            public uint agility
            {
                get => __pbn__agility.GetValueOrDefault();
                set => __pbn__agility = value;
            }
            public bool ShouldSerializeagility() => __pbn__agility != null;
            public void Resetagility() => __pbn__agility = null;
            private uint? __pbn__agility;

            [global::ProtoBuf.ProtoMember(20)]
            public uint intelligence
            {
                get => __pbn__intelligence.GetValueOrDefault();
                set => __pbn__intelligence = value;
            }
            public bool ShouldSerializeintelligence() => __pbn__intelligence != null;
            public void Resetintelligence() => __pbn__intelligence = null;
            private uint? __pbn__intelligence;

            [global::ProtoBuf.ProtoMember(21)]
            public int armor
            {
                get => __pbn__armor.GetValueOrDefault();
                set => __pbn__armor = value;
            }
            public bool ShouldSerializearmor() => __pbn__armor != null;
            public void Resetarmor() => __pbn__armor = null;
            private int? __pbn__armor;

            [global::ProtoBuf.ProtoMember(22)]
            public uint movespeed
            {
                get => __pbn__movespeed.GetValueOrDefault();
                set => __pbn__movespeed = value;
            }
            public bool ShouldSerializemovespeed() => __pbn__movespeed != null;
            public void Resetmovespeed() => __pbn__movespeed = null;
            private uint? __pbn__movespeed;

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

            [global::ProtoBuf.ProtoMember(24)]
            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(25)]
            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(26)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.AbilityDetails> abilities { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.AbilityDetails>();

            [global::ProtoBuf.ProtoMember(27)]
            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(28)]
            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.ProtoMember(29)]
            public uint death_count
            {
                get => __pbn__death_count.GetValueOrDefault();
                set => __pbn__death_count = value;
            }
            public bool ShouldSerializedeath_count() => __pbn__death_count != null;
            public void Resetdeath_count() => __pbn__death_count = null;
            private uint? __pbn__death_count;

            [global::ProtoBuf.ProtoMember(30)]
            public uint assists_count
            {
                get => __pbn__assists_count.GetValueOrDefault();
                set => __pbn__assists_count = value;
            }
            public bool ShouldSerializeassists_count() => __pbn__assists_count != null;
            public void Resetassists_count() => __pbn__assists_count = null;
            private uint? __pbn__assists_count;

            [global::ProtoBuf.ProtoMember(31)]
            public uint denies_count
            {
                get => __pbn__denies_count.GetValueOrDefault();
                set => __pbn__denies_count = value;
            }
            public bool ShouldSerializedenies_count() => __pbn__denies_count != null;
            public void Resetdenies_count() => __pbn__denies_count = null;
            private uint? __pbn__denies_count;

            [global::ProtoBuf.ProtoMember(32)]
            public uint lh_count
            {
                get => __pbn__lh_count.GetValueOrDefault();
                set => __pbn__lh_count = value;
            }
            public bool ShouldSerializelh_count() => __pbn__lh_count != null;
            public void Resetlh_count() => __pbn__lh_count = null;
            private uint? __pbn__lh_count;

            [global::ProtoBuf.ProtoMember(33)]
            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(34)]
            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(35)]
            public uint 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 uint? __pbn__xp_per_min;

            [global::ProtoBuf.ProtoMember(36)]
            public uint net_gold
            {
                get => __pbn__net_gold.GetValueOrDefault();
                set => __pbn__net_gold = value;
            }
            public bool ShouldSerializenet_gold() => __pbn__net_gold != null;
            public void Resetnet_gold() => __pbn__net_gold = null;
            private uint? __pbn__net_gold;

            [global::ProtoBuf.ProtoMember(37)]
            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(38)]
            public float x
            {
                get => __pbn__x.GetValueOrDefault();
                set => __pbn__x = value;
            }
            public bool ShouldSerializex() => __pbn__x != null;
            public void Resetx() => __pbn__x = null;
            private float? __pbn__x;

            [global::ProtoBuf.ProtoMember(39)]
            public float y
            {
                get => __pbn__y.GetValueOrDefault();
                set => __pbn__y = value;
            }
            public bool ShouldSerializey() => __pbn__y != null;
            public void Resety() => __pbn__y = null;
            private float? __pbn__y;

            [global::ProtoBuf.ProtoMember(40)]
            public int 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 int? __pbn__respawn_time;

            [global::ProtoBuf.ProtoMember(41)]
            public uint 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 uint? __pbn__ultimate_cooldown;

            [global::ProtoBuf.ProtoMember(42)]
            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(43)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails> items { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails>();

            [global::ProtoBuf.ProtoMember(44)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails> stashitems { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails>();

            [global::ProtoBuf.ProtoMember(45)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails> itemshoppinglist { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.ItemDetails>();

            [global::ProtoBuf.ProtoMember(46)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.AbilityList> levelpoints { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.AbilityList>();

            [global::ProtoBuf.ProtoMember(47)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.HeroToHeroStats> hero_to_hero_stats { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.HeroToHeroStats>();

            [global::ProtoBuf.ProtoMember(48)]
            public bool has_ultimate
            {
                get => __pbn__has_ultimate.GetValueOrDefault();
                set => __pbn__has_ultimate = value;
            }
            public bool ShouldSerializehas_ultimate() => __pbn__has_ultimate != null;
            public void Resethas_ultimate() => __pbn__has_ultimate = null;
            private bool? __pbn__has_ultimate;

            [global::ProtoBuf.ProtoMember(49)]
            public bool has_ultimate_mana
            {
                get => __pbn__has_ultimate_mana.GetValueOrDefault();
                set => __pbn__has_ultimate_mana = value;
            }
            public bool ShouldSerializehas_ultimate_mana() => __pbn__has_ultimate_mana != null;
            public void Resethas_ultimate_mana() => __pbn__has_ultimate_mana = null;
            private bool? __pbn__has_ultimate_mana;

            [global::ProtoBuf.ProtoMember(50)]
            public uint team_slot
            {
                get => __pbn__team_slot.GetValueOrDefault();
                set => __pbn__team_slot = value;
            }
            public bool ShouldSerializeteam_slot() => __pbn__team_slot != null;
            public void Resetteam_slot() => __pbn__team_slot = null;
            private uint? __pbn__team_slot;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class BuildingDetails : 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 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(3)]
            public float heading
            {
                get => __pbn__heading.GetValueOrDefault();
                set => __pbn__heading = value;
            }
            public bool ShouldSerializeheading() => __pbn__heading != null;
            public void Resetheading() => __pbn__heading = null;
            private float? __pbn__heading;

            [global::ProtoBuf.ProtoMember(4)]
            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(5)]
            public uint tier
            {
                get => __pbn__tier.GetValueOrDefault();
                set => __pbn__tier = value;
            }
            public bool ShouldSerializetier() => __pbn__tier != null;
            public void Resettier() => __pbn__tier = null;
            private uint? __pbn__tier;

            [global::ProtoBuf.ProtoMember(6)]
            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(7)]
            public float x
            {
                get => __pbn__x.GetValueOrDefault();
                set => __pbn__x = value;
            }
            public bool ShouldSerializex() => __pbn__x != null;
            public void Resetx() => __pbn__x = null;
            private float? __pbn__x;

            [global::ProtoBuf.ProtoMember(8)]
            public float y
            {
                get => __pbn__y.GetValueOrDefault();
                set => __pbn__y = value;
            }
            public bool ShouldSerializey() => __pbn__y != null;
            public void Resety() => __pbn__y = null;
            private float? __pbn__y;

            [global::ProtoBuf.ProtoMember(9)]
            public bool destroyed
            {
                get => __pbn__destroyed.GetValueOrDefault();
                set => __pbn__destroyed = value;
            }
            public bool ShouldSerializedestroyed() => __pbn__destroyed != null;
            public void Resetdestroyed() => __pbn__destroyed = null;
            private bool? __pbn__destroyed;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class KillDetails : 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(-1)]
            public int player_id
            {
                get => __pbn__player_id ?? -1;
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private int? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(2)]
            public int death_time
            {
                get => __pbn__death_time.GetValueOrDefault();
                set => __pbn__death_time = value;
            }
            public bool ShouldSerializedeath_time() => __pbn__death_time != null;
            public void Resetdeath_time() => __pbn__death_time = null;
            private int? __pbn__death_time;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int killer_player_id
            {
                get => __pbn__killer_player_id ?? -1;
                set => __pbn__killer_player_id = value;
            }
            public bool ShouldSerializekiller_player_id() => __pbn__killer_player_id != null;
            public void Resetkiller_player_id() => __pbn__killer_player_id = null;
            private int? __pbn__killer_player_id;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class BroadcasterDetails : 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(-1)]
            public int player_id
            {
                get => __pbn__player_id ?? -1;
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private int? __pbn__player_id;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PickBanDetails : 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 hero
            {
                get => __pbn__hero.GetValueOrDefault();
                set => __pbn__hero = value;
            }
            public bool ShouldSerializehero() => __pbn__hero != null;
            public void Resethero() => __pbn__hero = null;
            private int? __pbn__hero;

            [global::ProtoBuf.ProtoMember(2)]
            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.ProtoContract()]
        public partial class MatchDetails : 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 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(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 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 float time_of_day
            {
                get => __pbn__time_of_day.GetValueOrDefault();
                set => __pbn__time_of_day = value;
            }
            public bool ShouldSerializetime_of_day() => __pbn__time_of_day != null;
            public void Resettime_of_day() => __pbn__time_of_day = null;
            private float? __pbn__time_of_day;

            [global::ProtoBuf.ProtoMember(5)]
            public bool is_nightstalker_night
            {
                get => __pbn__is_nightstalker_night.GetValueOrDefault();
                set => __pbn__is_nightstalker_night = value;
            }
            public bool ShouldSerializeis_nightstalker_night() => __pbn__is_nightstalker_night != null;
            public void Resetis_nightstalker_night() => __pbn__is_nightstalker_night = null;
            private bool? __pbn__is_nightstalker_night;

            [global::ProtoBuf.ProtoMember(6)]
            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(19)]
            public uint game_state
            {
                get => __pbn__game_state.GetValueOrDefault();
                set => __pbn__game_state = value;
            }
            public bool ShouldSerializegame_state() => __pbn__game_state != null;
            public void Resetgame_state() => __pbn__game_state = null;
            private uint? __pbn__game_state;

            [global::ProtoBuf.ProtoMember(8)]
            public uint teamid_radiant
            {
                get => __pbn__teamid_radiant.GetValueOrDefault();
                set => __pbn__teamid_radiant = value;
            }
            public bool ShouldSerializeteamid_radiant() => __pbn__teamid_radiant != null;
            public void Resetteamid_radiant() => __pbn__teamid_radiant = null;
            private uint? __pbn__teamid_radiant;

            [global::ProtoBuf.ProtoMember(9)]
            public uint teamid_dire
            {
                get => __pbn__teamid_dire.GetValueOrDefault();
                set => __pbn__teamid_dire = value;
            }
            public bool ShouldSerializeteamid_dire() => __pbn__teamid_dire != null;
            public void Resetteamid_dire() => __pbn__teamid_dire = null;
            private uint? __pbn__teamid_dire;

            [global::ProtoBuf.ProtoMember(10)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PickBanDetails> picks { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PickBanDetails>();

            [global::ProtoBuf.ProtoMember(11)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PickBanDetails> bans { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.PickBanDetails>();

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

            [global::ProtoBuf.ProtoMember(13)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.BroadcasterDetails> broadcasters { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.BroadcasterDetails>();

            [global::ProtoBuf.ProtoMember(14)]
            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(15)]
            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(18)]
            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.ProtoMember(16)]
            public bool single_team
            {
                get => __pbn__single_team.GetValueOrDefault();
                set => __pbn__single_team = value;
            }
            public bool ShouldSerializesingle_team() => __pbn__single_team != null;
            public void Resetsingle_team() => __pbn__single_team = null;
            private bool? __pbn__single_team;

            [global::ProtoBuf.ProtoMember(17)]
            public uint cheers_peak
            {
                get => __pbn__cheers_peak.GetValueOrDefault();
                set => __pbn__cheers_peak = value;
            }
            public bool ShouldSerializecheers_peak() => __pbn__cheers_peak != null;
            public void Resetcheers_peak() => __pbn__cheers_peak = null;
            private uint? __pbn__cheers_peak;

            [global::ProtoBuf.ProtoMember(20)]
            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.ProtoMember(21)]
            public uint start_timestamp
            {
                get => __pbn__start_timestamp.GetValueOrDefault();
                set => __pbn__start_timestamp = value;
            }
            public bool ShouldSerializestart_timestamp() => __pbn__start_timestamp != null;
            public void Resetstart_timestamp() => __pbn__start_timestamp = null;
            private uint? __pbn__start_timestamp;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GraphData : 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<int> graph_gold { get; } = new global::System.Collections.Generic.List<int>();

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

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

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

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class LocationStats : 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<int> stats { get; } = new global::System.Collections.Generic.List<int>();

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class TeamLocationStats : 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<CMsgDOTARealtimeGameStats.GraphData.LocationStats> loc_stats { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStats.GraphData.LocationStats>();

            }

            [global::ProtoBuf.ProtoContract()]
            public enum eStat
            {
                CreepGoldEarned = 0,
                KillGoldEarned = 1,
                DeathAndBuybackGoldLost = 2,
                XPEarned = 3,
            }

            [global::ProtoBuf.ProtoContract()]
            public enum eLocation
            {
                BotLane = 0,
                MidLane = 1,
                TopLane = 2,
                Jungle = 3,
                Ancients = 4,
                Other = 5,
            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTARealtimeGameStatsTerse : 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 MatchDetails match { get; set; }

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

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

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

        [global::ProtoBuf.ProtoMember(5)]
        public bool delta_frame
        {
            get => __pbn__delta_frame.GetValueOrDefault();
            set => __pbn__delta_frame = value;
        }
        public bool ShouldSerializedelta_frame() => __pbn__delta_frame != null;
        public void Resetdelta_frame() => __pbn__delta_frame = null;
        private bool? __pbn__delta_frame;

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamDetails : 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_number
            {
                get => __pbn__team_number.GetValueOrDefault();
                set => __pbn__team_number = value;
            }
            public bool ShouldSerializeteam_number() => __pbn__team_number != null;
            public void Resetteam_number() => __pbn__team_number = null;
            private uint? __pbn__team_number;

            [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)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_name
            {
                get => __pbn__team_name ?? "";
                set => __pbn__team_name = value;
            }
            public bool ShouldSerializeteam_name() => __pbn__team_name != null;
            public void Resetteam_name() => __pbn__team_name = null;
            private string __pbn__team_name;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_tag
            {
                get => __pbn__team_tag ?? "";
                set => __pbn__team_tag = value;
            }
            public bool ShouldSerializeteam_tag() => __pbn__team_tag != null;
            public void Resetteam_tag() => __pbn__team_tag = null;
            private string __pbn__team_tag;

            [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong team_logo
            {
                get => __pbn__team_logo.GetValueOrDefault();
                set => __pbn__team_logo = value;
            }
            public bool ShouldSerializeteam_logo() => __pbn__team_logo != null;
            public void Resetteam_logo() => __pbn__team_logo = null;
            private ulong? __pbn__team_logo;

            [global::ProtoBuf.ProtoMember(5)]
            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(7)]
            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(9)]
            [global::System.ComponentModel.DefaultValue("")]
            public string team_logo_url
            {
                get => __pbn__team_logo_url ?? "";
                set => __pbn__team_logo_url = value;
            }
            public bool ShouldSerializeteam_logo_url() => __pbn__team_logo_url != null;
            public void Resetteam_logo_url() => __pbn__team_logo_url = null;
            private string __pbn__team_logo_url;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerDetails : 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 accountid
            {
                get => __pbn__accountid.GetValueOrDefault();
                set => __pbn__accountid = value;
            }
            public bool ShouldSerializeaccountid() => __pbn__accountid != null;
            public void Resetaccountid() => __pbn__accountid = null;
            private uint? __pbn__accountid;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int playerid
            {
                get => __pbn__playerid ?? -1;
                set => __pbn__playerid = value;
            }
            public bool ShouldSerializeplayerid() => __pbn__playerid != null;
            public void Resetplayerid() => __pbn__playerid = null;
            private int? __pbn__playerid;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(4)]
            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(5)]
            public int heroid
            {
                get => __pbn__heroid.GetValueOrDefault();
                set => __pbn__heroid = value;
            }
            public bool ShouldSerializeheroid() => __pbn__heroid != null;
            public void Resetheroid() => __pbn__heroid = null;
            private int? __pbn__heroid;

            [global::ProtoBuf.ProtoMember(6)]
            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(7)]
            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.ProtoMember(8)]
            public uint death_count
            {
                get => __pbn__death_count.GetValueOrDefault();
                set => __pbn__death_count = value;
            }
            public bool ShouldSerializedeath_count() => __pbn__death_count != null;
            public void Resetdeath_count() => __pbn__death_count = null;
            private uint? __pbn__death_count;

            [global::ProtoBuf.ProtoMember(9)]
            public uint assists_count
            {
                get => __pbn__assists_count.GetValueOrDefault();
                set => __pbn__assists_count = value;
            }
            public bool ShouldSerializeassists_count() => __pbn__assists_count != null;
            public void Resetassists_count() => __pbn__assists_count = null;
            private uint? __pbn__assists_count;

            [global::ProtoBuf.ProtoMember(10)]
            public uint denies_count
            {
                get => __pbn__denies_count.GetValueOrDefault();
                set => __pbn__denies_count = value;
            }
            public bool ShouldSerializedenies_count() => __pbn__denies_count != null;
            public void Resetdenies_count() => __pbn__denies_count = null;
            private uint? __pbn__denies_count;

            [global::ProtoBuf.ProtoMember(11)]
            public uint lh_count
            {
                get => __pbn__lh_count.GetValueOrDefault();
                set => __pbn__lh_count = value;
            }
            public bool ShouldSerializelh_count() => __pbn__lh_count != null;
            public void Resetlh_count() => __pbn__lh_count = null;
            private uint? __pbn__lh_count;

            [global::ProtoBuf.ProtoMember(12)]
            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(13)]
            public float x
            {
                get => __pbn__x.GetValueOrDefault();
                set => __pbn__x = value;
            }
            public bool ShouldSerializex() => __pbn__x != null;
            public void Resetx() => __pbn__x = null;
            private float? __pbn__x;

            [global::ProtoBuf.ProtoMember(14)]
            public float y
            {
                get => __pbn__y.GetValueOrDefault();
                set => __pbn__y = value;
            }
            public bool ShouldSerializey() => __pbn__y != null;
            public void Resety() => __pbn__y = null;
            private float? __pbn__y;

            [global::ProtoBuf.ProtoMember(15)]
            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(16)]
            public global::System.Collections.Generic.List<int> abilities { get; } = new global::System.Collections.Generic.List<int>();

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

            [global::ProtoBuf.ProtoMember(18)]
            public uint team_slot
            {
                get => __pbn__team_slot.GetValueOrDefault();
                set => __pbn__team_slot = value;
            }
            public bool ShouldSerializeteam_slot() => __pbn__team_slot != null;
            public void Resetteam_slot() => __pbn__team_slot = null;
            private uint? __pbn__team_slot;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class BuildingDetails : 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 float heading
            {
                get => __pbn__heading.GetValueOrDefault();
                set => __pbn__heading = value;
            }
            public bool ShouldSerializeheading() => __pbn__heading != null;
            public void Resetheading() => __pbn__heading = null;
            private float? __pbn__heading;

            [global::ProtoBuf.ProtoMember(3)]
            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(4)]
            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(5)]
            public uint tier
            {
                get => __pbn__tier.GetValueOrDefault();
                set => __pbn__tier = value;
            }
            public bool ShouldSerializetier() => __pbn__tier != null;
            public void Resettier() => __pbn__tier = null;
            private uint? __pbn__tier;

            [global::ProtoBuf.ProtoMember(6)]
            public float x
            {
                get => __pbn__x.GetValueOrDefault();
                set => __pbn__x = value;
            }
            public bool ShouldSerializex() => __pbn__x != null;
            public void Resetx() => __pbn__x = null;
            private float? __pbn__x;

            [global::ProtoBuf.ProtoMember(7)]
            public float y
            {
                get => __pbn__y.GetValueOrDefault();
                set => __pbn__y = value;
            }
            public bool ShouldSerializey() => __pbn__y != null;
            public void Resety() => __pbn__y = null;
            private float? __pbn__y;

            [global::ProtoBuf.ProtoMember(8)]
            public bool destroyed
            {
                get => __pbn__destroyed.GetValueOrDefault();
                set => __pbn__destroyed = value;
            }
            public bool ShouldSerializedestroyed() => __pbn__destroyed != null;
            public void Resetdestroyed() => __pbn__destroyed = null;
            private bool? __pbn__destroyed;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PickBanDetails : 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 hero
            {
                get => __pbn__hero.GetValueOrDefault();
                set => __pbn__hero = value;
            }
            public bool ShouldSerializehero() => __pbn__hero != null;
            public void Resethero() => __pbn__hero = null;
            private int? __pbn__hero;

            [global::ProtoBuf.ProtoMember(2)]
            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.ProtoContract()]
        public partial class MatchDetails : 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 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(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 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 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(6)]
            public global::System.Collections.Generic.List<uint> steam_broadcaster_account_ids { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(7)]
            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(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 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.ProtoMember(10)]
            public uint game_state
            {
                get => __pbn__game_state.GetValueOrDefault();
                set => __pbn__game_state = value;
            }
            public bool ShouldSerializegame_state() => __pbn__game_state != null;
            public void Resetgame_state() => __pbn__game_state = null;
            private uint? __pbn__game_state;

            [global::ProtoBuf.ProtoMember(11)]
            public global::System.Collections.Generic.List<CMsgDOTARealtimeGameStatsTerse.PickBanDetails> picks { get; } = new global::System.Collections.Generic.List<CMsgDOTARealtimeGameStatsTerse.PickBanDetails>();

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

            [global::ProtoBuf.ProtoMember(13)]
            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.ProtoMember(14)]
            public uint start_timestamp
            {
                get => __pbn__start_timestamp.GetValueOrDefault();
                set => __pbn__start_timestamp = value;
            }
            public bool ShouldSerializestart_timestamp() => __pbn__start_timestamp != null;
            public void Resetstart_timestamp() => __pbn__start_timestamp = null;
            private uint? __pbn__start_timestamp;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GraphData : 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<int> graph_gold { get; } = new global::System.Collections.Generic.List<int>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTABroadcastTimelineEvent : 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(EBroadcastTimelineEvent.EBroadcastTimelineEvent_MatchStarted)]
        public EBroadcastTimelineEvent @event
        {
            get => __pbn__event ?? EBroadcastTimelineEvent.EBroadcastTimelineEvent_MatchStarted;
            set => __pbn__event = value;
        }
        public bool ShouldSerializeevent() => __pbn__event != null;
        public void Resetevent() => __pbn__event = null;
        private EBroadcastTimelineEvent? __pbn__event;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        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 data
        {
            get => __pbn__data.GetValueOrDefault();
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private uint? __pbn__data;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string string_data
        {
            get => __pbn__string_data ?? "";
            set => __pbn__string_data = value;
        }
        public bool ShouldSerializestring_data() => __pbn__string_data != null;
        public void Resetstring_data() => __pbn__string_data = null;
        private string __pbn__string_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToClientMatchGroupsVersion : 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 matchgroups_version
        {
            get => __pbn__matchgroups_version.GetValueOrDefault();
            set => __pbn__matchgroups_version = value;
        }
        public bool ShouldSerializematchgroups_version() => __pbn__matchgroups_version != null;
        public void Resetmatchgroups_version() => __pbn__matchgroups_version = null;
        private uint? __pbn__matchgroups_version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTASDOHeroStatsHistory : 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 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.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 bool won
        {
            get => __pbn__won.GetValueOrDefault();
            set => __pbn__won = value;
        }
        public bool ShouldSerializewon() => __pbn__won != null;
        public void Resetwon() => __pbn__won = null;
        private bool? __pbn__won;

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

        [global::ProtoBuf.ProtoMember(7)]
        public uint xpm
        {
            get => __pbn__xpm.GetValueOrDefault();
            set => __pbn__xpm = value;
        }
        public bool ShouldSerializexpm() => __pbn__xpm != null;
        public void Resetxpm() => __pbn__xpm = null;
        private uint? __pbn__xpm;

        [global::ProtoBuf.ProtoMember(8)]
        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(9)]
        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(10)]
        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 CMsgPredictionChoice : 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 value
        {
            get => __pbn__value.GetValueOrDefault();
            set => __pbn__value = value;
        }
        public bool ShouldSerializevalue() => __pbn__value != null;
        public void Resetvalue() => __pbn__value = null;
        private uint? __pbn__value;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(3)]
        public uint min_raw_value
        {
            get => __pbn__min_raw_value.GetValueOrDefault();
            set => __pbn__min_raw_value = value;
        }
        public bool ShouldSerializemin_raw_value() => __pbn__min_raw_value != null;
        public void Resetmin_raw_value() => __pbn__min_raw_value = null;
        private uint? __pbn__min_raw_value;

        [global::ProtoBuf.ProtoMember(4)]
        public uint max_raw_value
        {
            get => __pbn__max_raw_value.GetValueOrDefault();
            set => __pbn__max_raw_value = value;
        }
        public bool ShouldSerializemax_raw_value() => __pbn__max_raw_value != null;
        public void Resetmax_raw_value() => __pbn__max_raw_value = null;
        private uint? __pbn__max_raw_value;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgInGamePrediction : 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)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(EPredictionType.Generic)]
        public EPredictionType type
        {
            get => __pbn__type ?? EPredictionType.Generic;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private EPredictionType? __pbn__type;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(ERandomSelectionGroup_t.EarlyGame)]
        public ERandomSelectionGroup_t group
        {
            get => __pbn__group ?? ERandomSelectionGroup_t.EarlyGame;
            set => __pbn__group = value;
        }
        public bool ShouldSerializegroup() => __pbn__group != null;
        public void Resetgroup() => __pbn__group = null;
        private ERandomSelectionGroup_t? __pbn__group;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string question
        {
            get => __pbn__question ?? "";
            set => __pbn__question = value;
        }
        public bool ShouldSerializequestion() => __pbn__question != null;
        public void Resetquestion() => __pbn__question = null;
        private string __pbn__question;

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

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

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string query_name
        {
            get => __pbn__query_name ?? "";
            set => __pbn__query_name = value;
        }
        public bool ShouldSerializequery_name() => __pbn__query_name != null;
        public void Resetquery_name() => __pbn__query_name = null;
        private string __pbn__query_name;

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

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue(EResolutionType_t.InvalidQuery)]
        public EResolutionType_t answer_resolution_type
        {
            get => __pbn__answer_resolution_type ?? EResolutionType_t.InvalidQuery;
            set => __pbn__answer_resolution_type = value;
        }
        public bool ShouldSerializeanswer_resolution_type() => __pbn__answer_resolution_type != null;
        public void Resetanswer_resolution_type() => __pbn__answer_resolution_type = null;
        private EResolutionType_t? __pbn__answer_resolution_type;

        [global::ProtoBuf.ProtoMember(11)]
        public uint points_to_grant
        {
            get => __pbn__points_to_grant.GetValueOrDefault();
            set => __pbn__points_to_grant = value;
        }
        public bool ShouldSerializepoints_to_grant() => __pbn__points_to_grant != null;
        public void Resetpoints_to_grant() => __pbn__points_to_grant = null;
        private uint? __pbn__points_to_grant;

        [global::ProtoBuf.ProtoMember(12)]
        public uint reward_action
        {
            get => __pbn__reward_action.GetValueOrDefault();
            set => __pbn__reward_action = value;
        }
        public bool ShouldSerializereward_action() => __pbn__reward_action != null;
        public void Resetreward_action() => __pbn__reward_action = null;
        private uint? __pbn__reward_action;

        [global::ProtoBuf.ProtoMember(13)]
        public uint debug_force_selection
        {
            get => __pbn__debug_force_selection.GetValueOrDefault();
            set => __pbn__debug_force_selection = value;
        }
        public bool ShouldSerializedebug_force_selection() => __pbn__debug_force_selection != null;
        public void Resetdebug_force_selection() => __pbn__debug_force_selection = null;
        private uint? __pbn__debug_force_selection;

        [global::ProtoBuf.ProtoMember(14)]
        [global::System.ComponentModel.DefaultValue(ERawValueType_t.Number)]
        public ERawValueType_t raw_value_type
        {
            get => __pbn__raw_value_type ?? ERawValueType_t.Number;
            set => __pbn__raw_value_type = value;
        }
        public bool ShouldSerializeraw_value_type() => __pbn__raw_value_type != null;
        public void Resetraw_value_type() => __pbn__raw_value_type = null;
        private ERawValueType_t? __pbn__raw_value_type;

        [global::ProtoBuf.ProtoContract()]
        public partial class QueryKeyValues : 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
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public enum ERawValueType_t
        {
            Number = 0,
            Time = 1,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum EPredictionType
        {
            Generic = 0,
            Hero = 1,
            Team = 2,
            Player = 3,
            Special = 4,
            YesNo = 5,
            QualifiersTeam = 6,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum EResolutionType_t
        {
            InvalidQuery = 0,
            FirstToPassQuery = 1,
            LastToPassQuery = 2,
            LastRemainingQuery = 3,
            MaxToPassQuery = 4,
            MinToPassQuery = 5,
            SumQuery = 6,
            MaxTeamSumToPassQuery = 7,
            MinTeamSumToPassQuery = 8,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum ERandomSelectionGroup_t
        {
            EarlyGame = 0,
            MidGame = 1,
            LateGame = 2,
            Count = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTASeasonPredictions : 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<Prediction> predictions { get; } = new global::System.Collections.Generic.List<Prediction>();

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint in_game_prediction_count_per_game
        {
            get => __pbn__in_game_prediction_count_per_game.GetValueOrDefault();
            set => __pbn__in_game_prediction_count_per_game = value;
        }
        public bool ShouldSerializein_game_prediction_count_per_game() => __pbn__in_game_prediction_count_per_game != null;
        public void Resetin_game_prediction_count_per_game() => __pbn__in_game_prediction_count_per_game = null;
        private uint? __pbn__in_game_prediction_count_per_game;

        [global::ProtoBuf.ProtoMember(4)]
        public uint in_game_prediction_voting_period_minutes
        {
            get => __pbn__in_game_prediction_voting_period_minutes.GetValueOrDefault();
            set => __pbn__in_game_prediction_voting_period_minutes = value;
        }
        public bool ShouldSerializein_game_prediction_voting_period_minutes() => __pbn__in_game_prediction_voting_period_minutes != null;
        public void Resetin_game_prediction_voting_period_minutes() => __pbn__in_game_prediction_voting_period_minutes = null;
        private uint? __pbn__in_game_prediction_voting_period_minutes;

        [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)]
            [global::System.ComponentModel.DefaultValue(EPredictionType.Generic)]
            public EPredictionType type
            {
                get => __pbn__type ?? EPredictionType.Generic;
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private EPredictionType? __pbn__type;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string question
            {
                get => __pbn__question ?? "";
                set => __pbn__question = value;
            }
            public bool ShouldSerializequestion() => __pbn__question != null;
            public void Resetquestion() => __pbn__question = null;
            private string __pbn__question;

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

            [global::ProtoBuf.ProtoMember(4)]
            public uint selection_id
            {
                get => __pbn__selection_id.GetValueOrDefault();
                set => __pbn__selection_id = value;
            }
            public bool ShouldSerializeselection_id() => __pbn__selection_id != null;
            public void Resetselection_id() => __pbn__selection_id = null;
            private uint? __pbn__selection_id;

            [global::ProtoBuf.ProtoMember(5)]
            public uint start_date
            {
                get => __pbn__start_date.GetValueOrDefault();
                set => __pbn__start_date = value;
            }
            public bool ShouldSerializestart_date() => __pbn__start_date != null;
            public void Resetstart_date() => __pbn__start_date = null;
            private uint? __pbn__start_date;

            [global::ProtoBuf.ProtoMember(6)]
            public uint lock_date
            {
                get => __pbn__lock_date.GetValueOrDefault();
                set => __pbn__lock_date = value;
            }
            public bool ShouldSerializelock_date() => __pbn__lock_date != null;
            public void Resetlock_date() => __pbn__lock_date = null;
            private uint? __pbn__lock_date;

            [global::ProtoBuf.ProtoMember(7)]
            public uint reward
            {
                get => __pbn__reward.GetValueOrDefault();
                set => __pbn__reward = value;
            }
            public bool ShouldSerializereward() => __pbn__reward != null;
            public void Resetreward() => __pbn__reward = null;
            private uint? __pbn__reward;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue(EAnswerType.SingleInt)]
            public EAnswerType answer_type
            {
                get => __pbn__answer_type ?? EAnswerType.SingleInt;
                set => __pbn__answer_type = value;
            }
            public bool ShouldSerializeanswer_type() => __pbn__answer_type != null;
            public void Resetanswer_type() => __pbn__answer_type = null;
            private EAnswerType? __pbn__answer_type;

            [global::ProtoBuf.ProtoMember(9)]
            public uint answer_id
            {
                get => __pbn__answer_id.GetValueOrDefault();
                set => __pbn__answer_id = value;
            }
            public bool ShouldSerializeanswer_id() => __pbn__answer_id != null;
            public void Resetanswer_id() => __pbn__answer_id = null;
            private uint? __pbn__answer_id;

            [global::ProtoBuf.ProtoMember(10)]
            public global::System.Collections.Generic.List<Answers> answers { get; } = new global::System.Collections.Generic.List<Answers>();

            [global::ProtoBuf.ProtoMember(11)]
            [global::System.ComponentModel.DefaultValue("")]
            public string query_name
            {
                get => __pbn__query_name ?? "";
                set => __pbn__query_name = value;
            }
            public bool ShouldSerializequery_name() => __pbn__query_name != null;
            public void Resetquery_name() => __pbn__query_name = null;
            private string __pbn__query_name;

            [global::ProtoBuf.ProtoMember(13)]
            public uint lock_on_selection_id
            {
                get => __pbn__lock_on_selection_id.GetValueOrDefault();
                set => __pbn__lock_on_selection_id = value;
            }
            public bool ShouldSerializelock_on_selection_id() => __pbn__lock_on_selection_id != null;
            public void Resetlock_on_selection_id() => __pbn__lock_on_selection_id = null;
            private uint? __pbn__lock_on_selection_id;

            [global::ProtoBuf.ProtoMember(14)]
            public uint lock_on_selection_value
            {
                get => __pbn__lock_on_selection_value.GetValueOrDefault();
                set => __pbn__lock_on_selection_value = value;
            }
            public bool ShouldSerializelock_on_selection_value() => __pbn__lock_on_selection_value != null;
            public void Resetlock_on_selection_value() => __pbn__lock_on_selection_value = null;
            private uint? __pbn__lock_on_selection_value;

            [global::ProtoBuf.ProtoMember(15)]
            public bool lock_on_selection_set
            {
                get => __pbn__lock_on_selection_set.GetValueOrDefault();
                set => __pbn__lock_on_selection_set = value;
            }
            public bool ShouldSerializelock_on_selection_set() => __pbn__lock_on_selection_set != null;
            public void Resetlock_on_selection_set() => __pbn__lock_on_selection_set = null;
            private bool? __pbn__lock_on_selection_set;

            [global::ProtoBuf.ProtoMember(16)]
            public bool use_answer_value_ranges
            {
                get => __pbn__use_answer_value_ranges.GetValueOrDefault();
                set => __pbn__use_answer_value_ranges = value;
            }
            public bool ShouldSerializeuse_answer_value_ranges() => __pbn__use_answer_value_ranges != null;
            public void Resetuse_answer_value_ranges() => __pbn__use_answer_value_ranges = null;
            private bool? __pbn__use_answer_value_ranges;

            [global::ProtoBuf.ProtoMember(17)]
            [global::System.ComponentModel.DefaultValue(ELeagueRegion.LEAGUE_REGION_UNSET)]
            public ELeagueRegion region
            {
                get => __pbn__region ?? ELeagueRegion.LEAGUE_REGION_UNSET;
                set => __pbn__region = value;
            }
            public bool ShouldSerializeregion() => __pbn__region != null;
            public void Resetregion() => __pbn__region = null;
            private ELeagueRegion? __pbn__region;

            [global::ProtoBuf.ProtoMember(18)]
            public global::System.Collections.Generic.List<ELeaguePhase> phases { get; } = new global::System.Collections.Generic.List<ELeaguePhase>();

            [global::ProtoBuf.ProtoMember(19)]
            [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
            public EEvent reward_event
            {
                get => __pbn__reward_event ?? EEvent.EVENT_ID_NONE;
                set => __pbn__reward_event = value;
            }
            public bool ShouldSerializereward_event() => __pbn__reward_event != null;
            public void Resetreward_event() => __pbn__reward_event = null;
            private EEvent? __pbn__reward_event;

            [global::ProtoBuf.ProtoMember(20)]
            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 Answers : 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 answer_id
                {
                    get => __pbn__answer_id.GetValueOrDefault();
                    set => __pbn__answer_id = value;
                }
                public bool ShouldSerializeanswer_id() => __pbn__answer_id != null;
                public void Resetanswer_id() => __pbn__answer_id = null;
                private uint? __pbn__answer_id;

            }

            [global::ProtoBuf.ProtoContract()]
            public enum EPredictionType
            {
                Generic = 0,
                Hero = 1,
                Team = 2,
                Player = 3,
                Special = 4,
                YesNo = 5,
                QualifiersTeam = 6,
                LastChanceTeam = 7,
            }

            [global::ProtoBuf.ProtoContract()]
            public enum EAnswerType
            {
                SingleInt = 0,
                SingleFloat = 1,
                MultipleInt = 2,
                MultipleFloat = 3,
                AnswerTeam = 4,
                SingleTime = 5,
                MultipleTime = 6,
                NoAnswer = 7,
            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgAvailablePredictions : 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<MatchPrediction> match_predictions { get; } = new global::System.Collections.Generic.List<MatchPrediction>();

        [global::ProtoBuf.ProtoContract()]
        public partial class MatchPrediction : 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<CMsgInGamePrediction> predictions { get; } = new global::System.Collections.Generic.List<CMsgInGamePrediction>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeagueWatchedGames : 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<League> leagues { get; } = new global::System.Collections.Generic.List<League>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Series : 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 node_id
            {
                get => __pbn__node_id.GetValueOrDefault();
                set => __pbn__node_id = value;
            }
            public bool ShouldSerializenode_id() => __pbn__node_id != null;
            public void Resetnode_id() => __pbn__node_id = null;
            private uint? __pbn__node_id;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class League : 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 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(2)]
            public global::System.Collections.Generic.List<CMsgLeagueWatchedGames.Series> series { get; } = new global::System.Collections.Generic.List<CMsgLeagueWatchedGames.Series>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAMatch : 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(3)]
        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(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint starttime
        {
            get => __pbn__starttime.GetValueOrDefault();
            set => __pbn__starttime = value;
        }
        public bool ShouldSerializestarttime() => __pbn__starttime != null;
        public void Resetstarttime() => __pbn__starttime = null;
        private uint? __pbn__starttime;

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

        [global::ProtoBuf.ProtoMember(6)]
        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(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(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(13, 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(14, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_ip
        {
            get => __pbn__server_ip.GetValueOrDefault();
            set => __pbn__server_ip = value;
        }
        public bool ShouldSerializeserver_ip() => __pbn__server_ip != null;
        public void Resetserver_ip() => __pbn__server_ip = null;
        private uint? __pbn__server_ip;

        [global::ProtoBuf.ProtoMember(15)]
        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(16)]
        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.ProtoMember(17)]
        public uint human_players
        {
            get => __pbn__human_players.GetValueOrDefault();
            set => __pbn__human_players = value;
        }
        public bool ShouldSerializehuman_players() => __pbn__human_players != null;
        public void Resethuman_players() => __pbn__human_players = null;
        private uint? __pbn__human_players;

        [global::ProtoBuf.ProtoMember(18)]
        public uint average_skill
        {
            get => __pbn__average_skill.GetValueOrDefault();
            set => __pbn__average_skill = value;
        }
        public bool ShouldSerializeaverage_skill() => __pbn__average_skill != null;
        public void Resetaverage_skill() => __pbn__average_skill = null;
        private uint? __pbn__average_skill;

        [global::ProtoBuf.ProtoMember(19)]
        public float game_balance
        {
            get => __pbn__game_balance.GetValueOrDefault();
            set => __pbn__game_balance = value;
        }
        public bool ShouldSerializegame_balance() => __pbn__game_balance != null;
        public void Resetgame_balance() => __pbn__game_balance = null;
        private float? __pbn__game_balance;

        [global::ProtoBuf.ProtoMember(20)]
        public uint radiant_team_id
        {
            get => __pbn__radiant_team_id.GetValueOrDefault();
            set => __pbn__radiant_team_id = value;
        }
        public bool ShouldSerializeradiant_team_id() => __pbn__radiant_team_id != null;
        public void Resetradiant_team_id() => __pbn__radiant_team_id = null;
        private uint? __pbn__radiant_team_id;

        [global::ProtoBuf.ProtoMember(21)]
        public uint dire_team_id
        {
            get => __pbn__dire_team_id.GetValueOrDefault();
            set => __pbn__dire_team_id = value;
        }
        public bool ShouldSerializedire_team_id() => __pbn__dire_team_id != null;
        public void Resetdire_team_id() => __pbn__dire_team_id = null;
        private uint? __pbn__dire_team_id;

        [global::ProtoBuf.ProtoMember(22)]
        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(23)]
        [global::System.ComponentModel.DefaultValue("")]
        public string radiant_team_name
        {
            get => __pbn__radiant_team_name ?? "";
            set => __pbn__radiant_team_name = value;
        }
        public bool ShouldSerializeradiant_team_name() => __pbn__radiant_team_name != null;
        public void Resetradiant_team_name() => __pbn__radiant_team_name = null;
        private string __pbn__radiant_team_name;

        [global::ProtoBuf.ProtoMember(24)]
        [global::System.ComponentModel.DefaultValue("")]
        public string dire_team_name
        {
            get => __pbn__dire_team_name ?? "";
            set => __pbn__dire_team_name = value;
        }
        public bool ShouldSerializedire_team_name() => __pbn__dire_team_name != null;
        public void Resetdire_team_name() => __pbn__dire_team_name = null;
        private string __pbn__dire_team_name;

        [global::ProtoBuf.ProtoMember(25)]
        public ulong radiant_team_logo
        {
            get => __pbn__radiant_team_logo.GetValueOrDefault();
            set => __pbn__radiant_team_logo = value;
        }
        public bool ShouldSerializeradiant_team_logo() => __pbn__radiant_team_logo != null;
        public void Resetradiant_team_logo() => __pbn__radiant_team_logo = null;
        private ulong? __pbn__radiant_team_logo;

        [global::ProtoBuf.ProtoMember(26)]
        public ulong dire_team_logo
        {
            get => __pbn__dire_team_logo.GetValueOrDefault();
            set => __pbn__dire_team_logo = value;
        }
        public bool ShouldSerializedire_team_logo() => __pbn__dire_team_logo != null;
        public void Resetdire_team_logo() => __pbn__dire_team_logo = null;
        private ulong? __pbn__dire_team_logo;

        [global::ProtoBuf.ProtoMember(54)]
        [global::System.ComponentModel.DefaultValue("")]
        public string radiant_team_logo_url
        {
            get => __pbn__radiant_team_logo_url ?? "";
            set => __pbn__radiant_team_logo_url = value;
        }
        public bool ShouldSerializeradiant_team_logo_url() => __pbn__radiant_team_logo_url != null;
        public void Resetradiant_team_logo_url() => __pbn__radiant_team_logo_url = null;
        private string __pbn__radiant_team_logo_url;

        [global::ProtoBuf.ProtoMember(55)]
        [global::System.ComponentModel.DefaultValue("")]
        public string dire_team_logo_url
        {
            get => __pbn__dire_team_logo_url ?? "";
            set => __pbn__dire_team_logo_url = value;
        }
        public bool ShouldSerializedire_team_logo_url() => __pbn__dire_team_logo_url != null;
        public void Resetdire_team_logo_url() => __pbn__dire_team_logo_url = null;
        private string __pbn__dire_team_logo_url;

        [global::ProtoBuf.ProtoMember(27)]
        public uint radiant_team_complete
        {
            get => __pbn__radiant_team_complete.GetValueOrDefault();
            set => __pbn__radiant_team_complete = value;
        }
        public bool ShouldSerializeradiant_team_complete() => __pbn__radiant_team_complete != null;
        public void Resetradiant_team_complete() => __pbn__radiant_team_complete = null;
        private uint? __pbn__radiant_team_complete;

        [global::ProtoBuf.ProtoMember(28)]
        public uint dire_team_complete
        {
            get => __pbn__dire_team_complete.GetValueOrDefault();
            set => __pbn__dire_team_complete = value;
        }
        public bool ShouldSerializedire_team_complete() => __pbn__dire_team_complete != null;
        public void Resetdire_team_complete() => __pbn__dire_team_complete = null;
        private uint? __pbn__dire_team_complete;

        [global::ProtoBuf.ProtoMember(31)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameMode.DOTA_GAMEMODE_NONE)]
        public DOTA_GameMode game_mode
        {
            get => __pbn__game_mode ?? DOTA_GameMode.DOTA_GAMEMODE_NONE;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private DOTA_GameMode? __pbn__game_mode;

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

        [global::ProtoBuf.ProtoMember(33)]
        public ulong match_seq_num
        {
            get => __pbn__match_seq_num.GetValueOrDefault();
            set => __pbn__match_seq_num = value;
        }
        public bool ShouldSerializematch_seq_num() => __pbn__match_seq_num != null;
        public void Resetmatch_seq_num() => __pbn__match_seq_num = null;
        private ulong? __pbn__match_seq_num;

        [global::ProtoBuf.ProtoMember(34)]
        [global::System.ComponentModel.DefaultValue(ReplayState.REPLAY_AVAILABLE)]
        public ReplayState replay_state
        {
            get => __pbn__replay_state ?? ReplayState.REPLAY_AVAILABLE;
            set => __pbn__replay_state = value;
        }
        public bool ShouldSerializereplay_state() => __pbn__replay_state != null;
        public void Resetreplay_state() => __pbn__replay_state = null;
        private ReplayState? __pbn__replay_state;

        [global::ProtoBuf.ProtoMember(35)]
        public uint radiant_guild_id
        {
            get => __pbn__radiant_guild_id.GetValueOrDefault();
            set => __pbn__radiant_guild_id = value;
        }
        public bool ShouldSerializeradiant_guild_id() => __pbn__radiant_guild_id != null;
        public void Resetradiant_guild_id() => __pbn__radiant_guild_id = null;
        private uint? __pbn__radiant_guild_id;

        [global::ProtoBuf.ProtoMember(36)]
        public uint dire_guild_id
        {
            get => __pbn__dire_guild_id.GetValueOrDefault();
            set => __pbn__dire_guild_id = value;
        }
        public bool ShouldSerializedire_guild_id() => __pbn__dire_guild_id != null;
        public void Resetdire_guild_id() => __pbn__dire_guild_id = null;
        private uint? __pbn__dire_guild_id;

        [global::ProtoBuf.ProtoMember(37)]
        [global::System.ComponentModel.DefaultValue("")]
        public string radiant_team_tag
        {
            get => __pbn__radiant_team_tag ?? "";
            set => __pbn__radiant_team_tag = value;
        }
        public bool ShouldSerializeradiant_team_tag() => __pbn__radiant_team_tag != null;
        public void Resetradiant_team_tag() => __pbn__radiant_team_tag = null;
        private string __pbn__radiant_team_tag;

        [global::ProtoBuf.ProtoMember(38)]
        [global::System.ComponentModel.DefaultValue("")]
        public string dire_team_tag
        {
            get => __pbn__dire_team_tag ?? "";
            set => __pbn__dire_team_tag = value;
        }
        public bool ShouldSerializedire_team_tag() => __pbn__dire_team_tag != null;
        public void Resetdire_team_tag() => __pbn__dire_team_tag = null;
        private string __pbn__dire_team_tag;

        [global::ProtoBuf.ProtoMember(39)]
        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(40)]
        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(43)]
        public global::System.Collections.Generic.List<BroadcasterChannel> broadcaster_channels { get; } = new global::System.Collections.Generic.List<BroadcasterChannel>();

        [global::ProtoBuf.ProtoMember(44)]
        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.ProtoMember(45)]
        public CustomGameData custom_game_data { get; set; }

        [global::ProtoBuf.ProtoMember(46)]
        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(47, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint private_metadata_key
        {
            get => __pbn__private_metadata_key.GetValueOrDefault();
            set => __pbn__private_metadata_key = value;
        }
        public bool ShouldSerializeprivate_metadata_key() => __pbn__private_metadata_key != null;
        public void Resetprivate_metadata_key() => __pbn__private_metadata_key = null;
        private uint? __pbn__private_metadata_key;

        [global::ProtoBuf.ProtoMember(48)]
        public uint radiant_team_score
        {
            get => __pbn__radiant_team_score.GetValueOrDefault();
            set => __pbn__radiant_team_score = value;
        }
        public bool ShouldSerializeradiant_team_score() => __pbn__radiant_team_score != null;
        public void Resetradiant_team_score() => __pbn__radiant_team_score = null;
        private uint? __pbn__radiant_team_score;

        [global::ProtoBuf.ProtoMember(49)]
        public uint dire_team_score
        {
            get => __pbn__dire_team_score.GetValueOrDefault();
            set => __pbn__dire_team_score = value;
        }
        public bool ShouldSerializedire_team_score() => __pbn__dire_team_score != null;
        public void Resetdire_team_score() => __pbn__dire_team_score = null;
        private uint? __pbn__dire_team_score;

        [global::ProtoBuf.ProtoMember(50)]
        [global::System.ComponentModel.DefaultValue(EMatchOutcome.k_EMatchOutcome_Unknown)]
        public EMatchOutcome match_outcome
        {
            get => __pbn__match_outcome ?? EMatchOutcome.k_EMatchOutcome_Unknown;
            set => __pbn__match_outcome = value;
        }
        public bool ShouldSerializematch_outcome() => __pbn__match_outcome != null;
        public void Resetmatch_outcome() => __pbn__match_outcome = null;
        private EMatchOutcome? __pbn__match_outcome;

        [global::ProtoBuf.ProtoMember(51)]
        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(52)]
        public uint tournament_round
        {
            get => __pbn__tournament_round.GetValueOrDefault();
            set => __pbn__tournament_round = value;
        }
        public bool ShouldSerializetournament_round() => __pbn__tournament_round != null;
        public void Resettournament_round() => __pbn__tournament_round = null;
        private uint? __pbn__tournament_round;

        [global::ProtoBuf.ProtoMember(53)]
        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(57)]
        public global::System.Collections.Generic.List<Coach> coaches { get; } = new global::System.Collections.Generic.List<Coach>();

        [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 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 int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_0
            {
                get => __pbn__item_0 ?? -1;
                set => __pbn__item_0 = value;
            }
            public bool ShouldSerializeitem_0() => __pbn__item_0 != null;
            public void Resetitem_0() => __pbn__item_0 = null;
            private int? __pbn__item_0;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_1
            {
                get => __pbn__item_1 ?? -1;
                set => __pbn__item_1 = value;
            }
            public bool ShouldSerializeitem_1() => __pbn__item_1 != null;
            public void Resetitem_1() => __pbn__item_1 = null;
            private int? __pbn__item_1;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_2
            {
                get => __pbn__item_2 ?? -1;
                set => __pbn__item_2 = value;
            }
            public bool ShouldSerializeitem_2() => __pbn__item_2 != null;
            public void Resetitem_2() => __pbn__item_2 = null;
            private int? __pbn__item_2;

            [global::ProtoBuf.ProtoMember(7)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_3
            {
                get => __pbn__item_3 ?? -1;
                set => __pbn__item_3 = value;
            }
            public bool ShouldSerializeitem_3() => __pbn__item_3 != null;
            public void Resetitem_3() => __pbn__item_3 = null;
            private int? __pbn__item_3;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_4
            {
                get => __pbn__item_4 ?? -1;
                set => __pbn__item_4 = value;
            }
            public bool ShouldSerializeitem_4() => __pbn__item_4 != null;
            public void Resetitem_4() => __pbn__item_4 = null;
            private int? __pbn__item_4;

            [global::ProtoBuf.ProtoMember(9)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_5
            {
                get => __pbn__item_5 ?? -1;
                set => __pbn__item_5 = value;
            }
            public bool ShouldSerializeitem_5() => __pbn__item_5 != null;
            public void Resetitem_5() => __pbn__item_5 = null;
            private int? __pbn__item_5;

            [global::ProtoBuf.ProtoMember(59)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_6
            {
                get => __pbn__item_6 ?? -1;
                set => __pbn__item_6 = value;
            }
            public bool ShouldSerializeitem_6() => __pbn__item_6 != null;
            public void Resetitem_6() => __pbn__item_6 = null;
            private int? __pbn__item_6;

            [global::ProtoBuf.ProtoMember(60)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_7
            {
                get => __pbn__item_7 ?? -1;
                set => __pbn__item_7 = value;
            }
            public bool ShouldSerializeitem_7() => __pbn__item_7 != null;
            public void Resetitem_7() => __pbn__item_7 = null;
            private int? __pbn__item_7;

            [global::ProtoBuf.ProtoMember(61)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_8
            {
                get => __pbn__item_8 ?? -1;
                set => __pbn__item_8 = value;
            }
            public bool ShouldSerializeitem_8() => __pbn__item_8 != null;
            public void Resetitem_8() => __pbn__item_8 = null;
            private int? __pbn__item_8;

            [global::ProtoBuf.ProtoMember(76)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_9
            {
                get => __pbn__item_9 ?? -1;
                set => __pbn__item_9 = value;
            }
            public bool ShouldSerializeitem_9() => __pbn__item_9 != null;
            public void Resetitem_9() => __pbn__item_9 = null;
            private int? __pbn__item_9;

            [global::ProtoBuf.ProtoMember(10)]
            public float expected_team_contribution
            {
                get => __pbn__expected_team_contribution.GetValueOrDefault();
                set => __pbn__expected_team_contribution = value;
            }
            public bool ShouldSerializeexpected_team_contribution() => __pbn__expected_team_contribution != null;
            public void Resetexpected_team_contribution() => __pbn__expected_team_contribution = null;
            private float? __pbn__expected_team_contribution;

            [global::ProtoBuf.ProtoMember(11)]
            public float scaled_metric
            {
                get => __pbn__scaled_metric.GetValueOrDefault();
                set => __pbn__scaled_metric = value;
            }
            public bool ShouldSerializescaled_metric() => __pbn__scaled_metric != null;
            public void Resetscaled_metric() => __pbn__scaled_metric = null;
            private float? __pbn__scaled_metric;

            [global::ProtoBuf.ProtoMember(12)]
            public uint previous_rank
            {
                get => __pbn__previous_rank.GetValueOrDefault();
                set => __pbn__previous_rank = value;
            }
            public bool ShouldSerializeprevious_rank() => __pbn__previous_rank != null;
            public void Resetprevious_rank() => __pbn__previous_rank = null;
            private uint? __pbn__previous_rank;

            [global::ProtoBuf.ProtoMember(13, DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
            public int rank_change
            {
                get => __pbn__rank_change.GetValueOrDefault();
                set => __pbn__rank_change = value;
            }
            public bool ShouldSerializerank_change() => __pbn__rank_change != null;
            public void Resetrank_change() => __pbn__rank_change = null;
            private int? __pbn__rank_change;

            [global::ProtoBuf.ProtoMember(74)]
            public uint mmr_type
            {
                get => __pbn__mmr_type.GetValueOrDefault();
                set => __pbn__mmr_type = value;
            }
            public bool ShouldSerializemmr_type() => __pbn__mmr_type != null;
            public void Resetmmr_type() => __pbn__mmr_type = null;
            private uint? __pbn__mmr_type;

            [global::ProtoBuf.ProtoMember(14)]
            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(15)]
            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(16)]
            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(17)]
            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(18)]
            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(19)]
            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(20)]
            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(21)]
            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(22)]
            public uint 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 uint? __pbn__xp_per_min;

            [global::ProtoBuf.ProtoMember(23)]
            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(24)]
            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(25)]
            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(26)]
            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(27)]
            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(28)]
            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(29)]
            [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(30)]
            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(32)]
            public bool feeding_detected
            {
                get => __pbn__feeding_detected.GetValueOrDefault();
                set => __pbn__feeding_detected = value;
            }
            public bool ShouldSerializefeeding_detected() => __pbn__feeding_detected != null;
            public void Resetfeeding_detected() => __pbn__feeding_detected = null;
            private bool? __pbn__feeding_detected;

            [global::ProtoBuf.ProtoMember(34)]
            public uint search_rank
            {
                get => __pbn__search_rank.GetValueOrDefault();
                set => __pbn__search_rank = value;
            }
            public bool ShouldSerializesearch_rank() => __pbn__search_rank != null;
            public void Resetsearch_rank() => __pbn__search_rank = null;
            private uint? __pbn__search_rank;

            [global::ProtoBuf.ProtoMember(35)]
            public uint search_rank_uncertainty
            {
                get => __pbn__search_rank_uncertainty.GetValueOrDefault();
                set => __pbn__search_rank_uncertainty = value;
            }
            public bool ShouldSerializesearch_rank_uncertainty() => __pbn__search_rank_uncertainty != null;
            public void Resetsearch_rank_uncertainty() => __pbn__search_rank_uncertainty = null;
            private uint? __pbn__search_rank_uncertainty;

            [global::ProtoBuf.ProtoMember(36)]
            public int rank_uncertainty_change
            {
                get => __pbn__rank_uncertainty_change.GetValueOrDefault();
                set => __pbn__rank_uncertainty_change = value;
            }
            public bool ShouldSerializerank_uncertainty_change() => __pbn__rank_uncertainty_change != null;
            public void Resetrank_uncertainty_change() => __pbn__rank_uncertainty_change = null;
            private int? __pbn__rank_uncertainty_change;

            [global::ProtoBuf.ProtoMember(37)]
            public uint hero_play_count
            {
                get => __pbn__hero_play_count.GetValueOrDefault();
                set => __pbn__hero_play_count = value;
            }
            public bool ShouldSerializehero_play_count() => __pbn__hero_play_count != null;
            public void Resethero_play_count() => __pbn__hero_play_count = null;
            private uint? __pbn__hero_play_count;

            [global::ProtoBuf.ProtoMember(38, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            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(54)]
            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(55)]
            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(56)]
            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(39)]
            public float scaled_kills
            {
                get => __pbn__scaled_kills.GetValueOrDefault();
                set => __pbn__scaled_kills = value;
            }
            public bool ShouldSerializescaled_kills() => __pbn__scaled_kills != null;
            public void Resetscaled_kills() => __pbn__scaled_kills = null;
            private float? __pbn__scaled_kills;

            [global::ProtoBuf.ProtoMember(40)]
            public float scaled_deaths
            {
                get => __pbn__scaled_deaths.GetValueOrDefault();
                set => __pbn__scaled_deaths = value;
            }
            public bool ShouldSerializescaled_deaths() => __pbn__scaled_deaths != null;
            public void Resetscaled_deaths() => __pbn__scaled_deaths = null;
            private float? __pbn__scaled_deaths;

            [global::ProtoBuf.ProtoMember(41)]
            public float scaled_assists
            {
                get => __pbn__scaled_assists.GetValueOrDefault();
                set => __pbn__scaled_assists = value;
            }
            public bool ShouldSerializescaled_assists() => __pbn__scaled_assists != null;
            public void Resetscaled_assists() => __pbn__scaled_assists = null;
            private float? __pbn__scaled_assists;

            [global::ProtoBuf.ProtoMember(42)]
            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(43)]
            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(44)]
            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(45)]
            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(46)]
            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(47)]
            public global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade> ability_upgrades { get; } = new global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade>();

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

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

            [global::ProtoBuf.ProtoMember(72)]
            [global::System.ComponentModel.DefaultValue("")]
            public string pro_name
            {
                get => __pbn__pro_name ?? "";
                set => __pbn__pro_name = value;
            }
            public bool ShouldSerializepro_name() => __pbn__pro_name != null;
            public void Resetpro_name() => __pbn__pro_name = null;
            private string __pbn__pro_name;

            [global::ProtoBuf.ProtoMember(73)]
            [global::System.ComponentModel.DefaultValue("")]
            public string real_name
            {
                get => __pbn__real_name ?? "";
                set => __pbn__real_name = value;
            }
            public bool ShouldSerializereal_name() => __pbn__real_name != null;
            public void Resetreal_name() => __pbn__real_name = null;
            private string __pbn__real_name;

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

            [global::ProtoBuf.ProtoMember(51)]
            public bool active_plus_subscription
            {
                get => __pbn__active_plus_subscription.GetValueOrDefault();
                set => __pbn__active_plus_subscription = value;
            }
            public bool ShouldSerializeactive_plus_subscription() => __pbn__active_plus_subscription != null;
            public void Resetactive_plus_subscription() => __pbn__active_plus_subscription = null;
            private bool? __pbn__active_plus_subscription;

            [global::ProtoBuf.ProtoMember(52)]
            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(58)]
            public uint bot_difficulty
            {
                get => __pbn__bot_difficulty.GetValueOrDefault();
                set => __pbn__bot_difficulty = value;
            }
            public bool ShouldSerializebot_difficulty() => __pbn__bot_difficulty != null;
            public void Resetbot_difficulty() => __pbn__bot_difficulty = null;
            private uint? __pbn__bot_difficulty;

            [global::ProtoBuf.ProtoMember(63)]
            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(64)]
            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(69)]
            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(67)]
            public global::System.Collections.Generic.List<HeroDamageReceived> hero_damage_received { get; } = new global::System.Collections.Generic.List<HeroDamageReceived>();

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

            [global::ProtoBuf.ProtoMember(70)]
            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(71)]
            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(75)]
            public uint lane_selection_flags
            {
                get => __pbn__lane_selection_flags.GetValueOrDefault();
                set => __pbn__lane_selection_flags = value;
            }
            public bool ShouldSerializelane_selection_flags() => __pbn__lane_selection_flags != null;
            public void Resetlane_selection_flags() => __pbn__lane_selection_flags = null;
            private uint? __pbn__lane_selection_flags;

            [global::ProtoBuf.ProtoMember(77)]
            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(78)]
            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(80)]
            [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
            public DOTA_GC_TEAM team_number
            {
                get => __pbn__team_number ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
                set => __pbn__team_number = value;
            }
            public bool ShouldSerializeteam_number() => __pbn__team_number != null;
            public void Resetteam_number() => __pbn__team_number = null;
            private DOTA_GC_TEAM? __pbn__team_number;

            [global::ProtoBuf.ProtoMember(81)]
            public uint team_slot
            {
                get => __pbn__team_slot.GetValueOrDefault();
                set => __pbn__team_slot = value;
            }
            public bool ShouldSerializeteam_slot() => __pbn__team_slot != null;
            public void Resetteam_slot() => __pbn__team_slot = null;
            private uint? __pbn__team_slot;

            [global::ProtoBuf.ProtoMember(82)]
            public uint selected_facet
            {
                get => __pbn__selected_facet.GetValueOrDefault();
                set => __pbn__selected_facet = value;
            }
            public bool ShouldSerializeselected_facet() => __pbn__selected_facet != null;
            public void Resetselected_facet() => __pbn__selected_facet = null;
            private uint? __pbn__selected_facet;

            [global::ProtoBuf.ProtoContract()]
            public partial class CustomGameData : 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(CMsgDOTAMatch.Player.HeroDamageType.HERO_DAMAGE_PHYSICAL)]
                public CMsgDOTAMatch.Player.HeroDamageType damage_type
                {
                    get => __pbn__damage_type ?? CMsgDOTAMatch.Player.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 CMsgDOTAMatch.Player.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 BroadcasterInfo : 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("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class BroadcasterChannel : 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 country_code
            {
                get => __pbn__country_code ?? "";
                set => __pbn__country_code = value;
            }
            public bool ShouldSerializecountry_code() => __pbn__country_code != null;
            public void Resetcountry_code() => __pbn__country_code = null;
            private string __pbn__country_code;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string description
            {
                get => __pbn__description ?? "";
                set => __pbn__description = value;
            }
            public bool ShouldSerializedescription() => __pbn__description != null;
            public void Resetdescription() => __pbn__description = null;
            private string __pbn__description;

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

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string language_code
            {
                get => __pbn__language_code ?? "";
                set => __pbn__language_code = value;
            }
            public bool ShouldSerializelanguage_code() => __pbn__language_code != null;
            public void Resetlanguage_code() => __pbn__language_code = null;
            private string __pbn__language_code;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Coach : 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("")]
            public string coach_name
            {
                get => __pbn__coach_name ?? "";
                set => __pbn__coach_name = value;
            }
            public bool ShouldSerializecoach_name() => __pbn__coach_name != null;
            public void Resetcoach_name() => __pbn__coach_name = null;
            private string __pbn__coach_name;

            [global::ProtoBuf.ProtoMember(3)]
            public uint coach_rating
            {
                get => __pbn__coach_rating.GetValueOrDefault();
                set => __pbn__coach_rating = value;
            }
            public bool ShouldSerializecoach_rating() => __pbn__coach_rating != null;
            public void Resetcoach_rating() => __pbn__coach_rating = null;
            private uint? __pbn__coach_rating;

            [global::ProtoBuf.ProtoMember(4)]
            public uint coach_team
            {
                get => __pbn__coach_team.GetValueOrDefault();
                set => __pbn__coach_team = value;
            }
            public bool ShouldSerializecoach_team() => __pbn__coach_team != null;
            public void Resetcoach_team() => __pbn__coach_team = null;
            private uint? __pbn__coach_team;

            [global::ProtoBuf.ProtoMember(5)]
            public ulong coach_party_id
            {
                get => __pbn__coach_party_id.GetValueOrDefault();
                set => __pbn__coach_party_id = value;
            }
            public bool ShouldSerializecoach_party_id() => __pbn__coach_party_id != null;
            public void Resetcoach_party_id() => __pbn__coach_party_id = null;
            private ulong? __pbn__coach_party_id;

            [global::ProtoBuf.ProtoMember(6)]
            public bool is_private_coach
            {
                get => __pbn__is_private_coach.GetValueOrDefault();
                set => __pbn__is_private_coach = value;
            }
            public bool ShouldSerializeis_private_coach() => __pbn__is_private_coach != null;
            public void Resetis_private_coach() => __pbn__is_private_coach = null;
            private bool? __pbn__is_private_coach;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CustomGameData : 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 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(2)]
            [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.ProtoContract()]
        public enum ReplayState
        {
            REPLAY_AVAILABLE = 0,
            REPLAY_NOT_RECORDED = 1,
            REPLAY_EXPIRED = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerCard : 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<StatModifier> stat_modifier { get; } = new global::System.Collections.Generic.List<StatModifier>();

        [global::ProtoBuf.ProtoContract()]
        public partial class StatModifier : 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 stat
            {
                get => __pbn__stat.GetValueOrDefault();
                set => __pbn__stat = value;
            }
            public bool ShouldSerializestat() => __pbn__stat != null;
            public void Resetstat() => __pbn__stat = null;
            private uint? __pbn__stat;

            [global::ProtoBuf.ProtoMember(2)]
            public uint value
            {
                get => __pbn__value.GetValueOrDefault();
                set => __pbn__value = value;
            }
            public bool ShouldSerializevalue() => __pbn__value != null;
            public void Resetvalue() => __pbn__value = null;
            private uint? __pbn__value;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyPlayerStats : 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_account_id
        {
            get => __pbn__player_account_id.GetValueOrDefault();
            set => __pbn__player_account_id = value;
        }
        public bool ShouldSerializeplayer_account_id() => __pbn__player_account_id != null;
        public void Resetplayer_account_id() => __pbn__player_account_id = null;
        private uint? __pbn__player_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 match_completed
        {
            get => __pbn__match_completed.GetValueOrDefault();
            set => __pbn__match_completed = value;
        }
        public bool ShouldSerializematch_completed() => __pbn__match_completed != null;
        public void Resetmatch_completed() => __pbn__match_completed = null;
        private bool? __pbn__match_completed;

        [global::ProtoBuf.ProtoMember(4)]
        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(5)]
        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(6)]
        public uint delay
        {
            get => __pbn__delay.GetValueOrDefault();
            set => __pbn__delay = value;
        }
        public bool ShouldSerializedelay() => __pbn__delay != null;
        public void Resetdelay() => __pbn__delay = null;
        private uint? __pbn__delay;

        [global::ProtoBuf.ProtoMember(7)]
        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(8)]
        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(10)]
        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(11)]
        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(12)]
        public uint cs
        {
            get => __pbn__cs.GetValueOrDefault();
            set => __pbn__cs = value;
        }
        public bool ShouldSerializecs() => __pbn__cs != null;
        public void Resetcs() => __pbn__cs = null;
        private uint? __pbn__cs;

        [global::ProtoBuf.ProtoMember(13)]
        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(14)]
        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(15)]
        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(16)]
        public float teamfight_participation
        {
            get => __pbn__teamfight_participation.GetValueOrDefault();
            set => __pbn__teamfight_participation = value;
        }
        public bool ShouldSerializeteamfight_participation() => __pbn__teamfight_participation != null;
        public void Resetteamfight_participation() => __pbn__teamfight_participation = null;
        private float? __pbn__teamfight_participation;

        [global::ProtoBuf.ProtoMember(17)]
        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(18)]
        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.ProtoMember(19)]
        public uint runes_grabbed
        {
            get => __pbn__runes_grabbed.GetValueOrDefault();
            set => __pbn__runes_grabbed = value;
        }
        public bool ShouldSerializerunes_grabbed() => __pbn__runes_grabbed != null;
        public void Resetrunes_grabbed() => __pbn__runes_grabbed = null;
        private uint? __pbn__runes_grabbed;

        [global::ProtoBuf.ProtoMember(20)]
        public uint 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 uint? __pbn__first_blood;

        [global::ProtoBuf.ProtoMember(21)]
        public float stuns
        {
            get => __pbn__stuns.GetValueOrDefault();
            set => __pbn__stuns = value;
        }
        public bool ShouldSerializestuns() => __pbn__stuns != null;
        public void Resetstuns() => __pbn__stuns = null;
        private float? __pbn__stuns;

        [global::ProtoBuf.ProtoMember(22)]
        public uint smokes
        {
            get => __pbn__smokes.GetValueOrDefault();
            set => __pbn__smokes = value;
        }
        public bool ShouldSerializesmokes() => __pbn__smokes != null;
        public void Resetsmokes() => __pbn__smokes = null;
        private uint? __pbn__smokes;

        [global::ProtoBuf.ProtoMember(23)]
        public uint neutral_tokens
        {
            get => __pbn__neutral_tokens.GetValueOrDefault();
            set => __pbn__neutral_tokens = value;
        }
        public bool ShouldSerializeneutral_tokens() => __pbn__neutral_tokens != null;
        public void Resetneutral_tokens() => __pbn__neutral_tokens = null;
        private uint? __pbn__neutral_tokens;

        [global::ProtoBuf.ProtoMember(24)]
        public uint watchers
        {
            get => __pbn__watchers.GetValueOrDefault();
            set => __pbn__watchers = value;
        }
        public bool ShouldSerializewatchers() => __pbn__watchers != null;
        public void Resetwatchers() => __pbn__watchers = null;
        private uint? __pbn__watchers;

        [global::ProtoBuf.ProtoMember(25)]
        public uint lotuses
        {
            get => __pbn__lotuses.GetValueOrDefault();
            set => __pbn__lotuses = value;
        }
        public bool ShouldSerializelotuses() => __pbn__lotuses != null;
        public void Resetlotuses() => __pbn__lotuses = null;
        private uint? __pbn__lotuses;

        [global::ProtoBuf.ProtoMember(26)]
        public uint tormentors
        {
            get => __pbn__tormentors.GetValueOrDefault();
            set => __pbn__tormentors = value;
        }
        public bool ShouldSerializetormentors() => __pbn__tormentors != null;
        public void Resettormentors() => __pbn__tormentors = null;
        private uint? __pbn__tormentors;

        [global::ProtoBuf.ProtoMember(27)]
        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(28, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong title_stats
        {
            get => __pbn__title_stats.GetValueOrDefault();
            set => __pbn__title_stats = value;
        }
        public bool ShouldSerializetitle_stats() => __pbn__title_stats != null;
        public void Resettitle_stats() => __pbn__title_stats = null;
        private ulong? __pbn__title_stats;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyPlayerMatchStats : 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<CMsgDOTAFantasyPlayerStats> matches { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTABotDebugInfo : 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<Bot> bots { get; } = new global::System.Collections.Generic.List<Bot>();

        [global::ProtoBuf.ProtoMember(2)]
        public float desire_push_lane_top
        {
            get => __pbn__desire_push_lane_top.GetValueOrDefault();
            set => __pbn__desire_push_lane_top = value;
        }
        public bool ShouldSerializedesire_push_lane_top() => __pbn__desire_push_lane_top != null;
        public void Resetdesire_push_lane_top() => __pbn__desire_push_lane_top = null;
        private float? __pbn__desire_push_lane_top;

        [global::ProtoBuf.ProtoMember(3)]
        public float desire_push_lane_mid
        {
            get => __pbn__desire_push_lane_mid.GetValueOrDefault();
            set => __pbn__desire_push_lane_mid = value;
        }
        public bool ShouldSerializedesire_push_lane_mid() => __pbn__desire_push_lane_mid != null;
        public void Resetdesire_push_lane_mid() => __pbn__desire_push_lane_mid = null;
        private float? __pbn__desire_push_lane_mid;

        [global::ProtoBuf.ProtoMember(4)]
        public float desire_push_lane_bot
        {
            get => __pbn__desire_push_lane_bot.GetValueOrDefault();
            set => __pbn__desire_push_lane_bot = value;
        }
        public bool ShouldSerializedesire_push_lane_bot() => __pbn__desire_push_lane_bot != null;
        public void Resetdesire_push_lane_bot() => __pbn__desire_push_lane_bot = null;
        private float? __pbn__desire_push_lane_bot;

        [global::ProtoBuf.ProtoMember(5)]
        public float desire_defend_lane_top
        {
            get => __pbn__desire_defend_lane_top.GetValueOrDefault();
            set => __pbn__desire_defend_lane_top = value;
        }
        public bool ShouldSerializedesire_defend_lane_top() => __pbn__desire_defend_lane_top != null;
        public void Resetdesire_defend_lane_top() => __pbn__desire_defend_lane_top = null;
        private float? __pbn__desire_defend_lane_top;

        [global::ProtoBuf.ProtoMember(6)]
        public float desire_defend_lane_mid
        {
            get => __pbn__desire_defend_lane_mid.GetValueOrDefault();
            set => __pbn__desire_defend_lane_mid = value;
        }
        public bool ShouldSerializedesire_defend_lane_mid() => __pbn__desire_defend_lane_mid != null;
        public void Resetdesire_defend_lane_mid() => __pbn__desire_defend_lane_mid = null;
        private float? __pbn__desire_defend_lane_mid;

        [global::ProtoBuf.ProtoMember(7)]
        public float desire_defend_lane_bot
        {
            get => __pbn__desire_defend_lane_bot.GetValueOrDefault();
            set => __pbn__desire_defend_lane_bot = value;
        }
        public bool ShouldSerializedesire_defend_lane_bot() => __pbn__desire_defend_lane_bot != null;
        public void Resetdesire_defend_lane_bot() => __pbn__desire_defend_lane_bot = null;
        private float? __pbn__desire_defend_lane_bot;

        [global::ProtoBuf.ProtoMember(8)]
        public float desire_farm_lane_top
        {
            get => __pbn__desire_farm_lane_top.GetValueOrDefault();
            set => __pbn__desire_farm_lane_top = value;
        }
        public bool ShouldSerializedesire_farm_lane_top() => __pbn__desire_farm_lane_top != null;
        public void Resetdesire_farm_lane_top() => __pbn__desire_farm_lane_top = null;
        private float? __pbn__desire_farm_lane_top;

        [global::ProtoBuf.ProtoMember(9)]
        public float desire_farm_lane_mid
        {
            get => __pbn__desire_farm_lane_mid.GetValueOrDefault();
            set => __pbn__desire_farm_lane_mid = value;
        }
        public bool ShouldSerializedesire_farm_lane_mid() => __pbn__desire_farm_lane_mid != null;
        public void Resetdesire_farm_lane_mid() => __pbn__desire_farm_lane_mid = null;
        private float? __pbn__desire_farm_lane_mid;

        [global::ProtoBuf.ProtoMember(10)]
        public float desire_farm_lane_bot
        {
            get => __pbn__desire_farm_lane_bot.GetValueOrDefault();
            set => __pbn__desire_farm_lane_bot = value;
        }
        public bool ShouldSerializedesire_farm_lane_bot() => __pbn__desire_farm_lane_bot != null;
        public void Resetdesire_farm_lane_bot() => __pbn__desire_farm_lane_bot = null;
        private float? __pbn__desire_farm_lane_bot;

        [global::ProtoBuf.ProtoMember(11)]
        public float desire_farm_roshan
        {
            get => __pbn__desire_farm_roshan.GetValueOrDefault();
            set => __pbn__desire_farm_roshan = value;
        }
        public bool ShouldSerializedesire_farm_roshan() => __pbn__desire_farm_roshan != null;
        public void Resetdesire_farm_roshan() => __pbn__desire_farm_roshan = null;
        private float? __pbn__desire_farm_roshan;

        [global::ProtoBuf.ProtoMember(12)]
        public float execution_time
        {
            get => __pbn__execution_time.GetValueOrDefault();
            set => __pbn__execution_time = value;
        }
        public bool ShouldSerializeexecution_time() => __pbn__execution_time != null;
        public void Resetexecution_time() => __pbn__execution_time = null;
        private float? __pbn__execution_time;

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

        [global::ProtoBuf.ProtoContract()]
        public partial class Bot : 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(-1)]
            public int player_owner_id
            {
                get => __pbn__player_owner_id ?? -1;
                set => __pbn__player_owner_id = value;
            }
            public bool ShouldSerializeplayer_owner_id() => __pbn__player_owner_id != null;
            public void Resetplayer_owner_id() => __pbn__player_owner_id = null;
            private int? __pbn__player_owner_id;

            [global::ProtoBuf.ProtoMember(2)]
            public int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint difficulty
            {
                get => __pbn__difficulty.GetValueOrDefault();
                set => __pbn__difficulty = value;
            }
            public bool ShouldSerializedifficulty() => __pbn__difficulty != null;
            public void Resetdifficulty() => __pbn__difficulty = null;
            private uint? __pbn__difficulty;

            [global::ProtoBuf.ProtoMember(4)]
            public uint power_current
            {
                get => __pbn__power_current.GetValueOrDefault();
                set => __pbn__power_current = value;
            }
            public bool ShouldSerializepower_current() => __pbn__power_current != null;
            public void Resetpower_current() => __pbn__power_current = null;
            private uint? __pbn__power_current;

            [global::ProtoBuf.ProtoMember(5)]
            public uint power_max
            {
                get => __pbn__power_max.GetValueOrDefault();
                set => __pbn__power_max = value;
            }
            public bool ShouldSerializepower_max() => __pbn__power_max != null;
            public void Resetpower_max() => __pbn__power_max = null;
            private uint? __pbn__power_max;

            [global::ProtoBuf.ProtoMember(6)]
            public uint move_target_x
            {
                get => __pbn__move_target_x.GetValueOrDefault();
                set => __pbn__move_target_x = value;
            }
            public bool ShouldSerializemove_target_x() => __pbn__move_target_x != null;
            public void Resetmove_target_x() => __pbn__move_target_x = null;
            private uint? __pbn__move_target_x;

            [global::ProtoBuf.ProtoMember(7)]
            public uint move_target_y
            {
                get => __pbn__move_target_y.GetValueOrDefault();
                set => __pbn__move_target_y = value;
            }
            public bool ShouldSerializemove_target_y() => __pbn__move_target_y != null;
            public void Resetmove_target_y() => __pbn__move_target_y = null;
            private uint? __pbn__move_target_y;

            [global::ProtoBuf.ProtoMember(8)]
            public uint move_target_z
            {
                get => __pbn__move_target_z.GetValueOrDefault();
                set => __pbn__move_target_z = value;
            }
            public bool ShouldSerializemove_target_z() => __pbn__move_target_z != null;
            public void Resetmove_target_z() => __pbn__move_target_z = null;
            private uint? __pbn__move_target_z;

            [global::ProtoBuf.ProtoMember(9)]
            public uint active_mode_id
            {
                get => __pbn__active_mode_id.GetValueOrDefault();
                set => __pbn__active_mode_id = value;
            }
            public bool ShouldSerializeactive_mode_id() => __pbn__active_mode_id != null;
            public void Resetactive_mode_id() => __pbn__active_mode_id = null;
            private uint? __pbn__active_mode_id;

            [global::ProtoBuf.ProtoMember(10)]
            public float execution_time
            {
                get => __pbn__execution_time.GetValueOrDefault();
                set => __pbn__execution_time = value;
            }
            public bool ShouldSerializeexecution_time() => __pbn__execution_time != null;
            public void Resetexecution_time() => __pbn__execution_time = null;
            private float? __pbn__execution_time;

            [global::ProtoBuf.ProtoMember(11)]
            public global::System.Collections.Generic.List<Mode> modes { get; } = new global::System.Collections.Generic.List<Mode>();

            [global::ProtoBuf.ProtoMember(12)]
            public Action action { get; set; }

            [global::ProtoBuf.ProtoContract()]
            public partial class Mode : 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 mode_id
                {
                    get => __pbn__mode_id.GetValueOrDefault();
                    set => __pbn__mode_id = value;
                }
                public bool ShouldSerializemode_id() => __pbn__mode_id != null;
                public void Resetmode_id() => __pbn__mode_id = null;
                private uint? __pbn__mode_id;

                [global::ProtoBuf.ProtoMember(2)]
                public float desire
                {
                    get => __pbn__desire.GetValueOrDefault();
                    set => __pbn__desire = value;
                }
                public bool ShouldSerializedesire() => __pbn__desire != null;
                public void Resetdesire() => __pbn__desire = null;
                private float? __pbn__desire;

                [global::ProtoBuf.ProtoMember(3)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int target_entity
                {
                    get => __pbn__target_entity ?? -1;
                    set => __pbn__target_entity = value;
                }
                public bool ShouldSerializetarget_entity() => __pbn__target_entity != null;
                public void Resettarget_entity() => __pbn__target_entity = null;
                private int? __pbn__target_entity;

                [global::ProtoBuf.ProtoMember(4)]
                public uint target_x
                {
                    get => __pbn__target_x.GetValueOrDefault();
                    set => __pbn__target_x = value;
                }
                public bool ShouldSerializetarget_x() => __pbn__target_x != null;
                public void Resettarget_x() => __pbn__target_x = null;
                private uint? __pbn__target_x;

                [global::ProtoBuf.ProtoMember(5)]
                public uint target_y
                {
                    get => __pbn__target_y.GetValueOrDefault();
                    set => __pbn__target_y = value;
                }
                public bool ShouldSerializetarget_y() => __pbn__target_y != null;
                public void Resettarget_y() => __pbn__target_y = null;
                private uint? __pbn__target_y;

                [global::ProtoBuf.ProtoMember(6)]
                public uint target_z
                {
                    get => __pbn__target_z.GetValueOrDefault();
                    set => __pbn__target_z = value;
                }
                public bool ShouldSerializetarget_z() => __pbn__target_z != null;
                public void Resettarget_z() => __pbn__target_z = null;
                private uint? __pbn__target_z;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Action : 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 action_id
                {
                    get => __pbn__action_id.GetValueOrDefault();
                    set => __pbn__action_id = value;
                }
                public bool ShouldSerializeaction_id() => __pbn__action_id != null;
                public void Resetaction_id() => __pbn__action_id = null;
                private uint? __pbn__action_id;

                [global::ProtoBuf.ProtoMember(2)]
                [global::System.ComponentModel.DefaultValue("")]
                public string action_target
                {
                    get => __pbn__action_target ?? "";
                    set => __pbn__action_target = value;
                }
                public bool ShouldSerializeaction_target() => __pbn__action_target != null;
                public void Resetaction_target() => __pbn__action_target = null;
                private string __pbn__action_target;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSuccessfulHero : 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 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(2)]
        public float win_percent
        {
            get => __pbn__win_percent.GetValueOrDefault();
            set => __pbn__win_percent = value;
        }
        public bool ShouldSerializewin_percent() => __pbn__win_percent != null;
        public void Resetwin_percent() => __pbn__win_percent = null;
        private float? __pbn__win_percent;

        [global::ProtoBuf.ProtoMember(3)]
        public uint longest_streak
        {
            get => __pbn__longest_streak.GetValueOrDefault();
            set => __pbn__longest_streak = value;
        }
        public bool ShouldSerializelongest_streak() => __pbn__longest_streak != null;
        public void Resetlongest_streak() => __pbn__longest_streak = null;
        private uint? __pbn__longest_streak;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRecentMatchInfo : 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)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameMode.DOTA_GAMEMODE_NONE)]
        public DOTA_GameMode game_mode
        {
            get => __pbn__game_mode ?? DOTA_GameMode.DOTA_GAMEMODE_NONE;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private DOTA_GameMode? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(3)]
        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(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 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(6)]
        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(7)]
        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(8)]
        [global::System.ComponentModel.DefaultValue(EMatchOutcome.k_EMatchOutcome_Unknown)]
        public EMatchOutcome match_outcome
        {
            get => __pbn__match_outcome ?? EMatchOutcome.k_EMatchOutcome_Unknown;
            set => __pbn__match_outcome = value;
        }
        public bool ShouldSerializematch_outcome() => __pbn__match_outcome != null;
        public void Resetmatch_outcome() => __pbn__match_outcome = null;
        private EMatchOutcome? __pbn__match_outcome;

        [global::ProtoBuf.ProtoMember(9)]
        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(10)]
        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.ProtoMember(11)]
        public uint team_number
        {
            get => __pbn__team_number.GetValueOrDefault();
            set => __pbn__team_number = value;
        }
        public bool ShouldSerializeteam_number() => __pbn__team_number != null;
        public void Resetteam_number() => __pbn__team_number = null;
        private uint? __pbn__team_number;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchTips : 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<SingleTip> tips { get; } = new global::System.Collections.Generic.List<SingleTip>();

        [global::ProtoBuf.ProtoContract()]
        public partial class SingleTip : 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_account_id
            {
                get => __pbn__source_account_id.GetValueOrDefault();
                set => __pbn__source_account_id = value;
            }
            public bool ShouldSerializesource_account_id() => __pbn__source_account_id != null;
            public void Resetsource_account_id() => __pbn__source_account_id = null;
            private uint? __pbn__source_account_id;

            [global::ProtoBuf.ProtoMember(2)]
            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.ProtoMember(3)]
            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.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.ProtoContract()]
    public partial class CMsgDOTAMatchMinimal : 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 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(3)]
        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(4)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameMode.DOTA_GAMEMODE_NONE)]
        public DOTA_GameMode game_mode
        {
            get => __pbn__game_mode ?? DOTA_GameMode.DOTA_GAMEMODE_NONE;
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private DOTA_GameMode? __pbn__game_mode;

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

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

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(EMatchOutcome.k_EMatchOutcome_Unknown)]
        public EMatchOutcome match_outcome
        {
            get => __pbn__match_outcome ?? EMatchOutcome.k_EMatchOutcome_Unknown;
            set => __pbn__match_outcome = value;
        }
        public bool ShouldSerializematch_outcome() => __pbn__match_outcome != null;
        public void Resetmatch_outcome() => __pbn__match_outcome = null;
        private EMatchOutcome? __pbn__match_outcome;

        [global::ProtoBuf.ProtoMember(9)]
        public uint radiant_score
        {
            get => __pbn__radiant_score.GetValueOrDefault();
            set => __pbn__radiant_score = value;
        }
        public bool ShouldSerializeradiant_score() => __pbn__radiant_score != null;
        public void Resetradiant_score() => __pbn__radiant_score = null;
        private uint? __pbn__radiant_score;

        [global::ProtoBuf.ProtoMember(10)]
        public uint dire_score
        {
            get => __pbn__dire_score.GetValueOrDefault();
            set => __pbn__dire_score = value;
        }
        public bool ShouldSerializedire_score() => __pbn__dire_score != null;
        public void Resetdire_score() => __pbn__dire_score = null;
        private uint? __pbn__dire_score;

        [global::ProtoBuf.ProtoMember(11)]
        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 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 int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            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(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 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(6)]
            public global::System.Collections.Generic.List<int> items { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(7)]
            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(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string pro_name
            {
                get => __pbn__pro_name ?? "";
                set => __pbn__pro_name = value;
            }
            public bool ShouldSerializepro_name() => __pbn__pro_name != null;
            public void Resetpro_name() => __pbn__pro_name = null;
            private string __pbn__pro_name;

            [global::ProtoBuf.ProtoMember(9)]
            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(10)]
            [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
            public DOTA_GC_TEAM team_number
            {
                get => __pbn__team_number ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
                set => __pbn__team_number = value;
            }
            public bool ShouldSerializeteam_number() => __pbn__team_number != null;
            public void Resetteam_number() => __pbn__team_number = null;
            private DOTA_GC_TEAM? __pbn__team_number;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Tourney : 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 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(8)]
            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(9)]
            public uint series_game
            {
                get => __pbn__series_game.GetValueOrDefault();
                set => __pbn__series_game = value;
            }
            public bool ShouldSerializeseries_game() => __pbn__series_game != null;
            public void Resetseries_game() => __pbn__series_game = null;
            private uint? __pbn__series_game;

            [global::ProtoBuf.ProtoMember(10)]
            public uint weekend_tourney_tournament_id
            {
                get => __pbn__weekend_tourney_tournament_id.GetValueOrDefault();
                set => __pbn__weekend_tourney_tournament_id = value;
            }
            public bool ShouldSerializeweekend_tourney_tournament_id() => __pbn__weekend_tourney_tournament_id != null;
            public void Resetweekend_tourney_tournament_id() => __pbn__weekend_tourney_tournament_id = null;
            private uint? __pbn__weekend_tourney_tournament_id;

            [global::ProtoBuf.ProtoMember(11)]
            public uint weekend_tourney_season_trophy_id
            {
                get => __pbn__weekend_tourney_season_trophy_id.GetValueOrDefault();
                set => __pbn__weekend_tourney_season_trophy_id = value;
            }
            public bool ShouldSerializeweekend_tourney_season_trophy_id() => __pbn__weekend_tourney_season_trophy_id != null;
            public void Resetweekend_tourney_season_trophy_id() => __pbn__weekend_tourney_season_trophy_id = null;
            private uint? __pbn__weekend_tourney_season_trophy_id;

            [global::ProtoBuf.ProtoMember(12)]
            public uint weekend_tourney_division
            {
                get => __pbn__weekend_tourney_division.GetValueOrDefault();
                set => __pbn__weekend_tourney_division = value;
            }
            public bool ShouldSerializeweekend_tourney_division() => __pbn__weekend_tourney_division != null;
            public void Resetweekend_tourney_division() => __pbn__weekend_tourney_division = null;
            private uint? __pbn__weekend_tourney_division;

            [global::ProtoBuf.ProtoMember(13)]
            public uint weekend_tourney_skill_level
            {
                get => __pbn__weekend_tourney_skill_level.GetValueOrDefault();
                set => __pbn__weekend_tourney_skill_level = value;
            }
            public bool ShouldSerializeweekend_tourney_skill_level() => __pbn__weekend_tourney_skill_level != null;
            public void Resetweekend_tourney_skill_level() => __pbn__weekend_tourney_skill_level = null;
            private uint? __pbn__weekend_tourney_skill_level;

            [global::ProtoBuf.ProtoMember(2)]
            public uint radiant_team_id
            {
                get => __pbn__radiant_team_id.GetValueOrDefault();
                set => __pbn__radiant_team_id = value;
            }
            public bool ShouldSerializeradiant_team_id() => __pbn__radiant_team_id != null;
            public void Resetradiant_team_id() => __pbn__radiant_team_id = null;
            private uint? __pbn__radiant_team_id;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string radiant_team_name
            {
                get => __pbn__radiant_team_name ?? "";
                set => __pbn__radiant_team_name = value;
            }
            public bool ShouldSerializeradiant_team_name() => __pbn__radiant_team_name != null;
            public void Resetradiant_team_name() => __pbn__radiant_team_name = null;
            private string __pbn__radiant_team_name;

            [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong radiant_team_logo
            {
                get => __pbn__radiant_team_logo.GetValueOrDefault();
                set => __pbn__radiant_team_logo = value;
            }
            public bool ShouldSerializeradiant_team_logo() => __pbn__radiant_team_logo != null;
            public void Resetradiant_team_logo() => __pbn__radiant_team_logo = null;
            private ulong? __pbn__radiant_team_logo;

            [global::ProtoBuf.ProtoMember(14)]
            [global::System.ComponentModel.DefaultValue("")]
            public string radiant_team_logo_url
            {
                get => __pbn__radiant_team_logo_url ?? "";
                set => __pbn__radiant_team_logo_url = value;
            }
            public bool ShouldSerializeradiant_team_logo_url() => __pbn__radiant_team_logo_url != null;
            public void Resetradiant_team_logo_url() => __pbn__radiant_team_logo_url = null;
            private string __pbn__radiant_team_logo_url;

            [global::ProtoBuf.ProtoMember(5)]
            public uint dire_team_id
            {
                get => __pbn__dire_team_id.GetValueOrDefault();
                set => __pbn__dire_team_id = value;
            }
            public bool ShouldSerializedire_team_id() => __pbn__dire_team_id != null;
            public void Resetdire_team_id() => __pbn__dire_team_id = null;
            private uint? __pbn__dire_team_id;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue("")]
            public string dire_team_name
            {
                get => __pbn__dire_team_name ?? "";
                set => __pbn__dire_team_name = value;
            }
            public bool ShouldSerializedire_team_name() => __pbn__dire_team_name != null;
            public void Resetdire_team_name() => __pbn__dire_team_name = null;
            private string __pbn__dire_team_name;

            [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong dire_team_logo
            {
                get => __pbn__dire_team_logo.GetValueOrDefault();
                set => __pbn__dire_team_logo = value;
            }
            public bool ShouldSerializedire_team_logo() => __pbn__dire_team_logo != null;
            public void Resetdire_team_logo() => __pbn__dire_team_logo = null;
            private ulong? __pbn__dire_team_logo;

            [global::ProtoBuf.ProtoMember(15)]
            [global::System.ComponentModel.DefaultValue("")]
            public string dire_team_logo_url
            {
                get => __pbn__dire_team_logo_url ?? "";
                set => __pbn__dire_team_logo_url = value;
            }
            public bool ShouldSerializedire_team_logo_url() => __pbn__dire_team_logo_url != null;
            public void Resetdire_team_logo_url() => __pbn__dire_team_logo_url = null;
            private string __pbn__dire_team_logo_url;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgConsumableUsage : 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 int quantity_change
        {
            get => __pbn__quantity_change.GetValueOrDefault();
            set => __pbn__quantity_change = value;
        }
        public bool ShouldSerializequantity_change() => __pbn__quantity_change != null;
        public void Resetquantity_change() => __pbn__quantity_change = null;
        private int? __pbn__quantity_change;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchConsumableUsage : 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<PlayerUsage> player_consumables_used { get; } = new global::System.Collections.Generic.List<PlayerUsage>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerUsage : 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<CMsgConsumableUsage> consumables_used { get; } = new global::System.Collections.Generic.List<CMsgConsumableUsage>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchEventActionGrants : 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<PlayerGrants> player_grants { get; } = new global::System.Collections.Generic.List<PlayerGrants>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerGrants : 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(3)]
            public global::System.Collections.Generic.List<CMsgPendingEventAward> actions_granted { get; } = new global::System.Collections.Generic.List<CMsgPendingEventAward>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCustomGameWhitelist : 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 global::System.Collections.Generic.List<ulong> custom_games_whitelist { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(3)]
        public bool disable_whitelist
        {
            get => __pbn__disable_whitelist.GetValueOrDefault();
            set => __pbn__disable_whitelist = value;
        }
        public bool ShouldSerializedisable_whitelist() => __pbn__disable_whitelist != null;
        public void Resetdisable_whitelist() => __pbn__disable_whitelist = null;
        private bool? __pbn__disable_whitelist;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCustomGameWhitelistForEdit : 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<WhitelistEntry> whitelist_entries { get; } = new global::System.Collections.Generic.List<WhitelistEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class WhitelistEntry : 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 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(2)]
            [global::System.ComponentModel.DefaultValue(ECustomGameWhitelistState.CUSTOM_GAME_WHITELIST_STATE_UNKNOWN)]
            public ECustomGameWhitelistState whitelist_state
            {
                get => __pbn__whitelist_state ?? ECustomGameWhitelistState.CUSTOM_GAME_WHITELIST_STATE_UNKNOWN;
                set => __pbn__whitelist_state = value;
            }
            public bool ShouldSerializewhitelist_state() => __pbn__whitelist_state != null;
            public void Resetwhitelist_state() => __pbn__whitelist_state = null;
            private ECustomGameWhitelistState? __pbn__whitelist_state;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerRecentMatchInfo : 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 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 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(4)]
        public bool win
        {
            get => __pbn__win.GetValueOrDefault();
            set => __pbn__win = value;
        }
        public bool ShouldSerializewin() => __pbn__win != null;
        public void Resetwin() => __pbn__win = null;
        private bool? __pbn__win;

        [global::ProtoBuf.ProtoMember(5)]
        public int 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 int? __pbn__hero_id;

        [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.ProtoContract()]
    public partial class CMsgPlayerMatchRecord : 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 wins
        {
            get => __pbn__wins.GetValueOrDefault();
            set => __pbn__wins = value;
        }
        public bool ShouldSerializewins() => __pbn__wins != null;
        public void Resetwins() => __pbn__wins = null;
        private uint? __pbn__wins;

        [global::ProtoBuf.ProtoMember(2)]
        public uint losses
        {
            get => __pbn__losses.GetValueOrDefault();
            set => __pbn__losses = value;
        }
        public bool ShouldSerializelosses() => __pbn__losses != null;
        public void Resetlosses() => __pbn__losses = null;
        private uint? __pbn__losses;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerRecentMatchOutcomes : 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 outcomes
        {
            get => __pbn__outcomes.GetValueOrDefault();
            set => __pbn__outcomes = value;
        }
        public bool ShouldSerializeoutcomes() => __pbn__outcomes != null;
        public void Resetoutcomes() => __pbn__outcomes = null;
        private uint? __pbn__outcomes;

        [global::ProtoBuf.ProtoMember(2)]
        public uint match_count
        {
            get => __pbn__match_count.GetValueOrDefault();
            set => __pbn__match_count = value;
        }
        public bool ShouldSerializematch_count() => __pbn__match_count != null;
        public void Resetmatch_count() => __pbn__match_count = null;
        private uint? __pbn__match_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerRecentCommends : 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 commends
        {
            get => __pbn__commends.GetValueOrDefault();
            set => __pbn__commends = value;
        }
        public bool ShouldSerializecommends() => __pbn__commends != null;
        public void Resetcommends() => __pbn__commends = null;
        private uint? __pbn__commends;

        [global::ProtoBuf.ProtoMember(2)]
        public uint match_count
        {
            get => __pbn__match_count.GetValueOrDefault();
            set => __pbn__match_count = value;
        }
        public bool ShouldSerializematch_count() => __pbn__match_count != null;
        public void Resetmatch_count() => __pbn__match_count = null;
        private uint? __pbn__match_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerRecentAccomplishments : 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 CMsgPlayerRecentMatchOutcomes recent_outcomes { get; set; }

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint prediction_streak
        {
            get => __pbn__prediction_streak.GetValueOrDefault();
            set => __pbn__prediction_streak = value;
        }
        public bool ShouldSerializeprediction_streak() => __pbn__prediction_streak != null;
        public void Resetprediction_streak() => __pbn__prediction_streak = null;
        private uint? __pbn__prediction_streak;

        [global::ProtoBuf.ProtoMember(4)]
        public uint plus_prediction_streak
        {
            get => __pbn__plus_prediction_streak.GetValueOrDefault();
            set => __pbn__plus_prediction_streak = value;
        }
        public bool ShouldSerializeplus_prediction_streak() => __pbn__plus_prediction_streak != null;
        public void Resetplus_prediction_streak() => __pbn__plus_prediction_streak = null;
        private uint? __pbn__plus_prediction_streak;

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

        [global::ProtoBuf.ProtoMember(6)]
        public uint first_match_timestamp
        {
            get => __pbn__first_match_timestamp.GetValueOrDefault();
            set => __pbn__first_match_timestamp = value;
        }
        public bool ShouldSerializefirst_match_timestamp() => __pbn__first_match_timestamp != null;
        public void Resetfirst_match_timestamp() => __pbn__first_match_timestamp = null;
        private uint? __pbn__first_match_timestamp;

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerHeroRecentAccomplishments : 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 CMsgPlayerRecentMatchOutcomes recent_outcomes { get; set; }

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRecentAccomplishments : 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 CMsgPlayerRecentAccomplishments player_accomplishments { get; set; }

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestPlayerRecentAccomplishments : 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 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 int? __pbn__hero_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse : 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(EResponse.k_eInternalError)]
        public EResponse result
        {
            get => __pbn__result ?? EResponse.k_eInternalError;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private EResponse? __pbn__result;

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

        [global::ProtoBuf.ProtoContract()]
        public enum EResponse
        {
            k_eInternalError = 0,
            k_eSuccess = 1,
            k_eTooBusy = 2,
            k_eDisabled = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgArcanaVoteMatchVotes : 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 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 uint? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public int 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint vote_count
        {
            get => __pbn__vote_count.GetValueOrDefault();
            set => __pbn__vote_count = value;
        }
        public bool ShouldSerializevote_count() => __pbn__vote_count != null;
        public void Resetvote_count() => __pbn__vote_count = null;
        private uint? __pbn__vote_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCtoGCAssociatedExploiterAccountInfo : 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 num_matches_to_search
        {
            get => __pbn__num_matches_to_search.GetValueOrDefault();
            set => __pbn__num_matches_to_search = value;
        }
        public bool ShouldSerializenum_matches_to_search() => __pbn__num_matches_to_search != null;
        public void Resetnum_matches_to_search() => __pbn__num_matches_to_search = null;
        private uint? __pbn__num_matches_to_search;

        [global::ProtoBuf.ProtoMember(3)]
        public uint min_shared_match_count
        {
            get => __pbn__min_shared_match_count.GetValueOrDefault();
            set => __pbn__min_shared_match_count = value;
        }
        public bool ShouldSerializemin_shared_match_count() => __pbn__min_shared_match_count != null;
        public void Resetmin_shared_match_count() => __pbn__min_shared_match_count = null;
        private uint? __pbn__min_shared_match_count;

        [global::ProtoBuf.ProtoMember(4)]
        public uint num_additional_players
        {
            get => __pbn__num_additional_players.GetValueOrDefault();
            set => __pbn__num_additional_players = value;
        }
        public bool ShouldSerializenum_additional_players() => __pbn__num_additional_players != null;
        public void Resetnum_additional_players() => __pbn__num_additional_players = null;
        private uint? __pbn__num_additional_players;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCtoGCAssociatedExploiterAccountInfoResponse : 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<Account> accounts { get; } = new global::System.Collections.Generic.List<Account>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Account : 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 num_common_matches
            {
                get => __pbn__num_common_matches.GetValueOrDefault();
                set => __pbn__num_common_matches = value;
            }
            public bool ShouldSerializenum_common_matches() => __pbn__num_common_matches != null;
            public void Resetnum_common_matches() => __pbn__num_common_matches = null;
            private uint? __pbn__num_common_matches;

            [global::ProtoBuf.ProtoMember(3)]
            public uint earliest_common_match
            {
                get => __pbn__earliest_common_match.GetValueOrDefault();
                set => __pbn__earliest_common_match = value;
            }
            public bool ShouldSerializeearliest_common_match() => __pbn__earliest_common_match != null;
            public void Resetearliest_common_match() => __pbn__earliest_common_match = null;
            private uint? __pbn__earliest_common_match;

            [global::ProtoBuf.ProtoMember(4)]
            public uint latest_common_match
            {
                get => __pbn__latest_common_match.GetValueOrDefault();
                set => __pbn__latest_common_match = value;
            }
            public bool ShouldSerializelatest_common_match() => __pbn__latest_common_match != null;
            public void Resetlatest_common_match() => __pbn__latest_common_match = null;
            private uint? __pbn__latest_common_match;

            [global::ProtoBuf.ProtoMember(5)]
            public uint generation
            {
                get => __pbn__generation.GetValueOrDefault();
                set => __pbn__generation = value;
            }
            public bool ShouldSerializegeneration() => __pbn__generation != null;
            public void Resetgeneration() => __pbn__generation = null;
            private uint? __pbn__generation;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue("")]
            public string persona
            {
                get => __pbn__persona ?? "";
                set => __pbn__persona = value;
            }
            public bool ShouldSerializepersona() => __pbn__persona != null;
            public void Resetpersona() => __pbn__persona = null;
            private string __pbn__persona;

            [global::ProtoBuf.ProtoMember(7)]
            public bool already_banned
            {
                get => __pbn__already_banned.GetValueOrDefault();
                set => __pbn__already_banned = value;
            }
            public bool ShouldSerializealready_banned() => __pbn__already_banned != null;
            public void Resetalready_banned() => __pbn__already_banned = null;
            private bool? __pbn__already_banned;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPullTabsData : 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<Slot> slots { get; } = new global::System.Collections.Generic.List<Slot>();

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint last_board
        {
            get => __pbn__last_board.GetValueOrDefault();
            set => __pbn__last_board = value;
        }
        public bool ShouldSerializelast_board() => __pbn__last_board != null;
        public void Resetlast_board() => __pbn__last_board = null;
        private uint? __pbn__last_board;

        [global::ProtoBuf.ProtoContract()]
        public partial class Slot : 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 board_id
            {
                get => __pbn__board_id.GetValueOrDefault();
                set => __pbn__board_id = value;
            }
            public bool ShouldSerializeboard_id() => __pbn__board_id != null;
            public void Resetboard_id() => __pbn__board_id = null;
            private uint? __pbn__board_id;

            [global::ProtoBuf.ProtoMember(3)]
            public int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint action_id
            {
                get => __pbn__action_id.GetValueOrDefault();
                set => __pbn__action_id = value;
            }
            public bool ShouldSerializeaction_id() => __pbn__action_id != null;
            public void Resetaction_id() => __pbn__action_id = null;
            private uint? __pbn__action_id;

            [global::ProtoBuf.ProtoMember(5)]
            public bool redeemed
            {
                get => __pbn__redeemed.GetValueOrDefault();
                set => __pbn__redeemed = value;
            }
            public bool ShouldSerializeredeemed() => __pbn__redeemed != null;
            public void Resetredeemed() => __pbn__redeemed = null;
            private bool? __pbn__redeemed;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Jackpot : 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 board_id
            {
                get => __pbn__board_id.GetValueOrDefault();
                set => __pbn__board_id = value;
            }
            public bool ShouldSerializeboard_id() => __pbn__board_id != null;
            public void Resetboard_id() => __pbn__board_id = null;
            private uint? __pbn__board_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint action_id
            {
                get => __pbn__action_id.GetValueOrDefault();
                set => __pbn__action_id = value;
            }
            public bool ShouldSerializeaction_id() => __pbn__action_id != null;
            public void Resetaction_id() => __pbn__action_id = null;
            private uint? __pbn__action_id;

            [global::ProtoBuf.ProtoMember(3)]
            public int 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 int? __pbn__hero_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgUnderDraftData : 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<BenchSlot> bench_slots { get; } = new global::System.Collections.Generic.List<BenchSlot>();

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

        [global::ProtoBuf.ProtoMember(3)]
        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(4)]
        public uint total_gold
        {
            get => __pbn__total_gold.GetValueOrDefault();
            set => __pbn__total_gold = value;
        }
        public bool ShouldSerializetotal_gold() => __pbn__total_gold != null;
        public void Resettotal_gold() => __pbn__total_gold = null;
        private uint? __pbn__total_gold;

        [global::ProtoBuf.ProtoMember(5)]
        public bool not_restorable
        {
            get => __pbn__not_restorable.GetValueOrDefault();
            set => __pbn__not_restorable = value;
        }
        public bool ShouldSerializenot_restorable() => __pbn__not_restorable != null;
        public void Resetnot_restorable() => __pbn__not_restorable = null;
        private bool? __pbn__not_restorable;

        [global::ProtoBuf.ProtoContract()]
        public partial class BenchSlot : 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 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(2)]
            public int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint stars
            {
                get => __pbn__stars.GetValueOrDefault();
                set => __pbn__stars = value;
            }
            public bool ShouldSerializestars() => __pbn__stars != null;
            public void Resetstars() => __pbn__stars = null;
            private uint? __pbn__stars;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ShopSlot : 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 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(2)]
            public int 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 int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public bool is_special_reward
            {
                get => __pbn__is_special_reward.GetValueOrDefault();
                set => __pbn__is_special_reward = value;
            }
            public bool ShouldSerializeis_special_reward() => __pbn__is_special_reward != null;
            public void Resetis_special_reward() => __pbn__is_special_reward = null;
            private bool? __pbn__is_special_reward;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPlayerTitleData : 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> title { get; } = new global::System.Collections.Generic.List<uint>();

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTATriviaQuestion : 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 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(2)]
        [global::System.ComponentModel.DefaultValue(EDOTATriviaQuestionCategory.k_EDOTATriviaQuestionCategory_AbilityIcon)]
        public EDOTATriviaQuestionCategory category
        {
            get => __pbn__category ?? EDOTATriviaQuestionCategory.k_EDOTATriviaQuestionCategory_AbilityIcon;
            set => __pbn__category = value;
        }
        public bool ShouldSerializecategory() => __pbn__category != null;
        public void Resetcategory() => __pbn__category = null;
        private EDOTATriviaQuestionCategory? __pbn__category;

        [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)]
        [global::System.ComponentModel.DefaultValue("")]
        public string question_value
        {
            get => __pbn__question_value ?? "";
            set => __pbn__question_value = value;
        }
        public bool ShouldSerializequestion_value() => __pbn__question_value != null;
        public void Resetquestion_value() => __pbn__question_value = null;
        private string __pbn__question_value;

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

        [global::ProtoBuf.ProtoMember(6)]
        public uint correct_answer_index
        {
            get => __pbn__correct_answer_index.GetValueOrDefault();
            set => __pbn__correct_answer_index = value;
        }
        public bool ShouldSerializecorrect_answer_index() => __pbn__correct_answer_index != null;
        public void Resetcorrect_answer_index() => __pbn__correct_answer_index = null;
        private uint? __pbn__correct_answer_index;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTATriviaQuestionAnswersSummary : 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 summary_available
        {
            get => __pbn__summary_available.GetValueOrDefault();
            set => __pbn__summary_available = value;
        }
        public bool ShouldSerializesummary_available() => __pbn__summary_available != null;
        public void Resetsummary_available() => __pbn__summary_available = null;
        private bool? __pbn__summary_available;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataSpecialValueBonus : 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
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public float value
        {
            get => __pbn__value.GetValueOrDefault();
            set => __pbn__value = value;
        }
        public bool ShouldSerializevalue() => __pbn__value != null;
        public void Resetvalue() => __pbn__value = null;
        private float? __pbn__value;

        [global::ProtoBuf.ProtoMember(3)]
        public uint operation
        {
            get => __pbn__operation.GetValueOrDefault();
            set => __pbn__operation = value;
        }
        public bool ShouldSerializeoperation() => __pbn__operation != null;
        public void Resetoperation() => __pbn__operation = null;
        private uint? __pbn__operation;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataSpecialValues : 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
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

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

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_percentage
        {
            get => __pbn__is_percentage.GetValueOrDefault();
            set => __pbn__is_percentage = value;
        }
        public bool ShouldSerializeis_percentage() => __pbn__is_percentage != null;
        public void Resetis_percentage() => __pbn__is_percentage = null;
        private bool? __pbn__is_percentage;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string heading_loc
        {
            get => __pbn__heading_loc ?? "";
            set => __pbn__heading_loc = value;
        }
        public bool ShouldSerializeheading_loc() => __pbn__heading_loc != null;
        public void Resetheading_loc() => __pbn__heading_loc = null;
        private string __pbn__heading_loc;

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

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

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

        [global::ProtoBuf.ProtoMember(9)]
        public CMsgGameDataFacetAbilityBonus facet_bonus { get; set; }

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string required_facet
        {
            get => __pbn__required_facet ?? "";
            set => __pbn__required_facet = value;
        }
        public bool ShouldSerializerequired_facet() => __pbn__required_facet != null;
        public void Resetrequired_facet() => __pbn__required_facet = null;
        private string __pbn__required_facet;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataFacetAbilityBonus : 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
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint operation
        {
            get => __pbn__operation.GetValueOrDefault();
            set => __pbn__operation = value;
        }
        public bool ShouldSerializeoperation() => __pbn__operation != null;
        public void Resetoperation() => __pbn__operation = null;
        private uint? __pbn__operation;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataAbilityOrItem : 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(-1)]
        public int id
        {
            get => __pbn__id ?? -1;
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private int? __pbn__id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name_loc
        {
            get => __pbn__name_loc ?? "";
            set => __pbn__name_loc = value;
        }
        public bool ShouldSerializename_loc() => __pbn__name_loc != null;
        public void Resetname_loc() => __pbn__name_loc = null;
        private string __pbn__name_loc;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string desc_loc
        {
            get => __pbn__desc_loc ?? "";
            set => __pbn__desc_loc = value;
        }
        public bool ShouldSerializedesc_loc() => __pbn__desc_loc != null;
        public void Resetdesc_loc() => __pbn__desc_loc = null;
        private string __pbn__desc_loc;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string lore_loc
        {
            get => __pbn__lore_loc ?? "";
            set => __pbn__lore_loc = value;
        }
        public bool ShouldSerializelore_loc() => __pbn__lore_loc != null;
        public void Resetlore_loc() => __pbn__lore_loc = null;
        private string __pbn__lore_loc;

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

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue("")]
        public string shard_loc
        {
            get => __pbn__shard_loc ?? "";
            set => __pbn__shard_loc = value;
        }
        public bool ShouldSerializeshard_loc() => __pbn__shard_loc != null;
        public void Resetshard_loc() => __pbn__shard_loc = null;
        private string __pbn__shard_loc;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string scepter_loc
        {
            get => __pbn__scepter_loc ?? "";
            set => __pbn__scepter_loc = value;
        }
        public bool ShouldSerializescepter_loc() => __pbn__scepter_loc != null;
        public void Resetscepter_loc() => __pbn__scepter_loc = null;
        private string __pbn__scepter_loc;

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<string> facets_loc { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(20)]
        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(21)]
        public ulong behavior
        {
            get => __pbn__behavior.GetValueOrDefault();
            set => __pbn__behavior = value;
        }
        public bool ShouldSerializebehavior() => __pbn__behavior != null;
        public void Resetbehavior() => __pbn__behavior = null;
        private ulong? __pbn__behavior;

        [global::ProtoBuf.ProtoMember(22)]
        public uint target_team
        {
            get => __pbn__target_team.GetValueOrDefault();
            set => __pbn__target_team = value;
        }
        public bool ShouldSerializetarget_team() => __pbn__target_team != null;
        public void Resettarget_team() => __pbn__target_team = null;
        private uint? __pbn__target_team;

        [global::ProtoBuf.ProtoMember(23)]
        public uint target_type
        {
            get => __pbn__target_type.GetValueOrDefault();
            set => __pbn__target_type = value;
        }
        public bool ShouldSerializetarget_type() => __pbn__target_type != null;
        public void Resettarget_type() => __pbn__target_type = null;
        private uint? __pbn__target_type;

        [global::ProtoBuf.ProtoMember(24)]
        public uint flags
        {
            get => __pbn__flags.GetValueOrDefault();
            set => __pbn__flags = value;
        }
        public bool ShouldSerializeflags() => __pbn__flags != null;
        public void Resetflags() => __pbn__flags = null;
        private uint? __pbn__flags;

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

        [global::ProtoBuf.ProtoMember(26)]
        public uint immunity
        {
            get => __pbn__immunity.GetValueOrDefault();
            set => __pbn__immunity = value;
        }
        public bool ShouldSerializeimmunity() => __pbn__immunity != null;
        public void Resetimmunity() => __pbn__immunity = null;
        private uint? __pbn__immunity;

        [global::ProtoBuf.ProtoMember(27)]
        public uint dispellable
        {
            get => __pbn__dispellable.GetValueOrDefault();
            set => __pbn__dispellable = value;
        }
        public bool ShouldSerializedispellable() => __pbn__dispellable != null;
        public void Resetdispellable() => __pbn__dispellable = null;
        private uint? __pbn__dispellable;

        [global::ProtoBuf.ProtoMember(28)]
        public uint max_level
        {
            get => __pbn__max_level.GetValueOrDefault();
            set => __pbn__max_level = value;
        }
        public bool ShouldSerializemax_level() => __pbn__max_level != null;
        public void Resetmax_level() => __pbn__max_level = null;
        private uint? __pbn__max_level;

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

        [global::ProtoBuf.ProtoMember(31)]
        public global::System.Collections.Generic.List<float> cast_points { get; } = new global::System.Collections.Generic.List<float>();

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

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

        [global::ProtoBuf.ProtoMember(34)]
        public global::System.Collections.Generic.List<float> durations { get; } = new global::System.Collections.Generic.List<float>();

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

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

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

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

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

        [global::ProtoBuf.ProtoMember(50)]
        public bool is_item
        {
            get => __pbn__is_item.GetValueOrDefault();
            set => __pbn__is_item = value;
        }
        public bool ShouldSerializeis_item() => __pbn__is_item != null;
        public void Resetis_item() => __pbn__is_item = null;
        private bool? __pbn__is_item;

        [global::ProtoBuf.ProtoMember(60)]
        public bool ability_has_scepter
        {
            get => __pbn__ability_has_scepter.GetValueOrDefault();
            set => __pbn__ability_has_scepter = value;
        }
        public bool ShouldSerializeability_has_scepter() => __pbn__ability_has_scepter != null;
        public void Resetability_has_scepter() => __pbn__ability_has_scepter = null;
        private bool? __pbn__ability_has_scepter;

        [global::ProtoBuf.ProtoMember(61)]
        public bool ability_has_shard
        {
            get => __pbn__ability_has_shard.GetValueOrDefault();
            set => __pbn__ability_has_shard = value;
        }
        public bool ShouldSerializeability_has_shard() => __pbn__ability_has_shard != null;
        public void Resetability_has_shard() => __pbn__ability_has_shard = null;
        private bool? __pbn__ability_has_shard;

        [global::ProtoBuf.ProtoMember(62)]
        public bool ability_is_granted_by_scepter
        {
            get => __pbn__ability_is_granted_by_scepter.GetValueOrDefault();
            set => __pbn__ability_is_granted_by_scepter = value;
        }
        public bool ShouldSerializeability_is_granted_by_scepter() => __pbn__ability_is_granted_by_scepter != null;
        public void Resetability_is_granted_by_scepter() => __pbn__ability_is_granted_by_scepter = null;
        private bool? __pbn__ability_is_granted_by_scepter;

        [global::ProtoBuf.ProtoMember(63)]
        public bool ability_is_granted_by_shard
        {
            get => __pbn__ability_is_granted_by_shard.GetValueOrDefault();
            set => __pbn__ability_is_granted_by_shard = value;
        }
        public bool ShouldSerializeability_is_granted_by_shard() => __pbn__ability_is_granted_by_shard != null;
        public void Resetability_is_granted_by_shard() => __pbn__ability_is_granted_by_shard = null;
        private bool? __pbn__ability_is_granted_by_shard;

        [global::ProtoBuf.ProtoMember(64)]
        public bool ability_is_innate
        {
            get => __pbn__ability_is_innate.GetValueOrDefault();
            set => __pbn__ability_is_innate = value;
        }
        public bool ShouldSerializeability_is_innate() => __pbn__ability_is_innate != null;
        public void Resetability_is_innate() => __pbn__ability_is_innate = null;
        private bool? __pbn__ability_is_innate;

        [global::ProtoBuf.ProtoMember(70)]
        public uint item_cost
        {
            get => __pbn__item_cost.GetValueOrDefault();
            set => __pbn__item_cost = value;
        }
        public bool ShouldSerializeitem_cost() => __pbn__item_cost != null;
        public void Resetitem_cost() => __pbn__item_cost = null;
        private uint? __pbn__item_cost;

        [global::ProtoBuf.ProtoMember(71)]
        public uint item_initial_charges
        {
            get => __pbn__item_initial_charges.GetValueOrDefault();
            set => __pbn__item_initial_charges = value;
        }
        public bool ShouldSerializeitem_initial_charges() => __pbn__item_initial_charges != null;
        public void Resetitem_initial_charges() => __pbn__item_initial_charges = null;
        private uint? __pbn__item_initial_charges;

        [global::ProtoBuf.ProtoMember(72)]
        public uint item_neutral_tier
        {
            get => __pbn__item_neutral_tier.GetValueOrDefault();
            set => __pbn__item_neutral_tier = value;
        }
        public bool ShouldSerializeitem_neutral_tier() => __pbn__item_neutral_tier != null;
        public void Resetitem_neutral_tier() => __pbn__item_neutral_tier = null;
        private uint? __pbn__item_neutral_tier;

        [global::ProtoBuf.ProtoMember(73)]
        public uint item_stock_max
        {
            get => __pbn__item_stock_max.GetValueOrDefault();
            set => __pbn__item_stock_max = value;
        }
        public bool ShouldSerializeitem_stock_max() => __pbn__item_stock_max != null;
        public void Resetitem_stock_max() => __pbn__item_stock_max = null;
        private uint? __pbn__item_stock_max;

        [global::ProtoBuf.ProtoMember(74)]
        public float item_stock_time
        {
            get => __pbn__item_stock_time.GetValueOrDefault();
            set => __pbn__item_stock_time = value;
        }
        public bool ShouldSerializeitem_stock_time() => __pbn__item_stock_time != null;
        public void Resetitem_stock_time() => __pbn__item_stock_time = null;
        private float? __pbn__item_stock_time;

        [global::ProtoBuf.ProtoMember(85)]
        public uint item_quality
        {
            get => __pbn__item_quality.GetValueOrDefault();
            set => __pbn__item_quality = value;
        }
        public bool ShouldSerializeitem_quality() => __pbn__item_quality != null;
        public void Resetitem_quality() => __pbn__item_quality = null;
        private uint? __pbn__item_quality;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataAbilityOrItemList : 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<CMsgGameDataAbilityOrItem> abilities { get; } = new global::System.Collections.Generic.List<CMsgGameDataAbilityOrItem>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataHero : 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 id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private int? __pbn__id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(3)]
        public uint order_id
        {
            get => __pbn__order_id.GetValueOrDefault();
            set => __pbn__order_id = value;
        }
        public bool ShouldSerializeorder_id() => __pbn__order_id != null;
        public void Resetorder_id() => __pbn__order_id = null;
        private uint? __pbn__order_id;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name_loc
        {
            get => __pbn__name_loc ?? "";
            set => __pbn__name_loc = value;
        }
        public bool ShouldSerializename_loc() => __pbn__name_loc != null;
        public void Resetname_loc() => __pbn__name_loc = null;
        private string __pbn__name_loc;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string bio_loc
        {
            get => __pbn__bio_loc ?? "";
            set => __pbn__bio_loc = value;
        }
        public bool ShouldSerializebio_loc() => __pbn__bio_loc != null;
        public void Resetbio_loc() => __pbn__bio_loc = null;
        private string __pbn__bio_loc;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string hype_loc
        {
            get => __pbn__hype_loc ?? "";
            set => __pbn__hype_loc = value;
        }
        public bool ShouldSerializehype_loc() => __pbn__hype_loc != null;
        public void Resethype_loc() => __pbn__hype_loc = null;
        private string __pbn__hype_loc;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string npe_desc_loc
        {
            get => __pbn__npe_desc_loc ?? "";
            set => __pbn__npe_desc_loc = value;
        }
        public bool ShouldSerializenpe_desc_loc() => __pbn__npe_desc_loc != null;
        public void Resetnpe_desc_loc() => __pbn__npe_desc_loc = null;
        private string __pbn__npe_desc_loc;

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

        [global::ProtoBuf.ProtoMember(10)]
        public uint str_base
        {
            get => __pbn__str_base.GetValueOrDefault();
            set => __pbn__str_base = value;
        }
        public bool ShouldSerializestr_base() => __pbn__str_base != null;
        public void Resetstr_base() => __pbn__str_base = null;
        private uint? __pbn__str_base;

        [global::ProtoBuf.ProtoMember(11)]
        public float str_gain
        {
            get => __pbn__str_gain.GetValueOrDefault();
            set => __pbn__str_gain = value;
        }
        public bool ShouldSerializestr_gain() => __pbn__str_gain != null;
        public void Resetstr_gain() => __pbn__str_gain = null;
        private float? __pbn__str_gain;

        [global::ProtoBuf.ProtoMember(12)]
        public uint agi_base
        {
            get => __pbn__agi_base.GetValueOrDefault();
            set => __pbn__agi_base = value;
        }
        public bool ShouldSerializeagi_base() => __pbn__agi_base != null;
        public void Resetagi_base() => __pbn__agi_base = null;
        private uint? __pbn__agi_base;

        [global::ProtoBuf.ProtoMember(13)]
        public float agi_gain
        {
            get => __pbn__agi_gain.GetValueOrDefault();
            set => __pbn__agi_gain = value;
        }
        public bool ShouldSerializeagi_gain() => __pbn__agi_gain != null;
        public void Resetagi_gain() => __pbn__agi_gain = null;
        private float? __pbn__agi_gain;

        [global::ProtoBuf.ProtoMember(14)]
        public uint int_base
        {
            get => __pbn__int_base.GetValueOrDefault();
            set => __pbn__int_base = value;
        }
        public bool ShouldSerializeint_base() => __pbn__int_base != null;
        public void Resetint_base() => __pbn__int_base = null;
        private uint? __pbn__int_base;

        [global::ProtoBuf.ProtoMember(15)]
        public float int_gain
        {
            get => __pbn__int_gain.GetValueOrDefault();
            set => __pbn__int_gain = value;
        }
        public bool ShouldSerializeint_gain() => __pbn__int_gain != null;
        public void Resetint_gain() => __pbn__int_gain = null;
        private float? __pbn__int_gain;

        [global::ProtoBuf.ProtoMember(20)]
        public uint primary_attr
        {
            get => __pbn__primary_attr.GetValueOrDefault();
            set => __pbn__primary_attr = value;
        }
        public bool ShouldSerializeprimary_attr() => __pbn__primary_attr != null;
        public void Resetprimary_attr() => __pbn__primary_attr = null;
        private uint? __pbn__primary_attr;

        [global::ProtoBuf.ProtoMember(21)]
        public uint complexity
        {
            get => __pbn__complexity.GetValueOrDefault();
            set => __pbn__complexity = value;
        }
        public bool ShouldSerializecomplexity() => __pbn__complexity != null;
        public void Resetcomplexity() => __pbn__complexity = null;
        private uint? __pbn__complexity;

        [global::ProtoBuf.ProtoMember(22)]
        public uint attack_capability
        {
            get => __pbn__attack_capability.GetValueOrDefault();
            set => __pbn__attack_capability = value;
        }
        public bool ShouldSerializeattack_capability() => __pbn__attack_capability != null;
        public void Resetattack_capability() => __pbn__attack_capability = null;
        private uint? __pbn__attack_capability;

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

        [global::ProtoBuf.ProtoMember(24)]
        public int damage_min
        {
            get => __pbn__damage_min.GetValueOrDefault();
            set => __pbn__damage_min = value;
        }
        public bool ShouldSerializedamage_min() => __pbn__damage_min != null;
        public void Resetdamage_min() => __pbn__damage_min = null;
        private int? __pbn__damage_min;

        [global::ProtoBuf.ProtoMember(25)]
        public int damage_max
        {
            get => __pbn__damage_max.GetValueOrDefault();
            set => __pbn__damage_max = value;
        }
        public bool ShouldSerializedamage_max() => __pbn__damage_max != null;
        public void Resetdamage_max() => __pbn__damage_max = null;
        private int? __pbn__damage_max;

        [global::ProtoBuf.ProtoMember(26)]
        public float attack_rate
        {
            get => __pbn__attack_rate.GetValueOrDefault();
            set => __pbn__attack_rate = value;
        }
        public bool ShouldSerializeattack_rate() => __pbn__attack_rate != null;
        public void Resetattack_rate() => __pbn__attack_rate = null;
        private float? __pbn__attack_rate;

        [global::ProtoBuf.ProtoMember(27)]
        public uint attack_range
        {
            get => __pbn__attack_range.GetValueOrDefault();
            set => __pbn__attack_range = value;
        }
        public bool ShouldSerializeattack_range() => __pbn__attack_range != null;
        public void Resetattack_range() => __pbn__attack_range = null;
        private uint? __pbn__attack_range;

        [global::ProtoBuf.ProtoMember(28)]
        public uint projectile_speed
        {
            get => __pbn__projectile_speed.GetValueOrDefault();
            set => __pbn__projectile_speed = value;
        }
        public bool ShouldSerializeprojectile_speed() => __pbn__projectile_speed != null;
        public void Resetprojectile_speed() => __pbn__projectile_speed = null;
        private uint? __pbn__projectile_speed;

        [global::ProtoBuf.ProtoMember(29)]
        public float armor
        {
            get => __pbn__armor.GetValueOrDefault();
            set => __pbn__armor = value;
        }
        public bool ShouldSerializearmor() => __pbn__armor != null;
        public void Resetarmor() => __pbn__armor = null;
        private float? __pbn__armor;

        [global::ProtoBuf.ProtoMember(30)]
        public uint magic_resistance
        {
            get => __pbn__magic_resistance.GetValueOrDefault();
            set => __pbn__magic_resistance = value;
        }
        public bool ShouldSerializemagic_resistance() => __pbn__magic_resistance != null;
        public void Resetmagic_resistance() => __pbn__magic_resistance = null;
        private uint? __pbn__magic_resistance;

        [global::ProtoBuf.ProtoMember(31)]
        public uint movement_speed
        {
            get => __pbn__movement_speed.GetValueOrDefault();
            set => __pbn__movement_speed = value;
        }
        public bool ShouldSerializemovement_speed() => __pbn__movement_speed != null;
        public void Resetmovement_speed() => __pbn__movement_speed = null;
        private uint? __pbn__movement_speed;

        [global::ProtoBuf.ProtoMember(32)]
        public float turn_rate
        {
            get => __pbn__turn_rate.GetValueOrDefault();
            set => __pbn__turn_rate = value;
        }
        public bool ShouldSerializeturn_rate() => __pbn__turn_rate != null;
        public void Resetturn_rate() => __pbn__turn_rate = null;
        private float? __pbn__turn_rate;

        [global::ProtoBuf.ProtoMember(33)]
        public uint sight_range_day
        {
            get => __pbn__sight_range_day.GetValueOrDefault();
            set => __pbn__sight_range_day = value;
        }
        public bool ShouldSerializesight_range_day() => __pbn__sight_range_day != null;
        public void Resetsight_range_day() => __pbn__sight_range_day = null;
        private uint? __pbn__sight_range_day;

        [global::ProtoBuf.ProtoMember(34)]
        public uint sight_range_night
        {
            get => __pbn__sight_range_night.GetValueOrDefault();
            set => __pbn__sight_range_night = value;
        }
        public bool ShouldSerializesight_range_night() => __pbn__sight_range_night != null;
        public void Resetsight_range_night() => __pbn__sight_range_night = null;
        private uint? __pbn__sight_range_night;

        [global::ProtoBuf.ProtoMember(35)]
        public uint max_health
        {
            get => __pbn__max_health.GetValueOrDefault();
            set => __pbn__max_health = value;
        }
        public bool ShouldSerializemax_health() => __pbn__max_health != null;
        public void Resetmax_health() => __pbn__max_health = null;
        private uint? __pbn__max_health;

        [global::ProtoBuf.ProtoMember(36)]
        public float 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 float? __pbn__health_regen;

        [global::ProtoBuf.ProtoMember(37)]
        public uint max_mana
        {
            get => __pbn__max_mana.GetValueOrDefault();
            set => __pbn__max_mana = value;
        }
        public bool ShouldSerializemax_mana() => __pbn__max_mana != null;
        public void Resetmax_mana() => __pbn__max_mana = null;
        private uint? __pbn__max_mana;

        [global::ProtoBuf.ProtoMember(38)]
        public float 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 float? __pbn__mana_regen;

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

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

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

        [global::ProtoBuf.ProtoContract()]
        public partial class Facet : 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 color
            {
                get => __pbn__color.GetValueOrDefault();
                set => __pbn__color = value;
            }
            public bool ShouldSerializecolor() => __pbn__color != null;
            public void Resetcolor() => __pbn__color = null;
            private uint? __pbn__color;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string title_loc
            {
                get => __pbn__title_loc ?? "";
                set => __pbn__title_loc = value;
            }
            public bool ShouldSerializetitle_loc() => __pbn__title_loc != null;
            public void Resettitle_loc() => __pbn__title_loc = null;
            private string __pbn__title_loc;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string description_loc
            {
                get => __pbn__description_loc ?? "";
                set => __pbn__description_loc = value;
            }
            public bool ShouldSerializedescription_loc() => __pbn__description_loc != null;
            public void Resetdescription_loc() => __pbn__description_loc = null;
            private string __pbn__description_loc;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue("")]
            public string icon
            {
                get => __pbn__icon ?? "";
                set => __pbn__icon = value;
            }
            public bool ShouldSerializeicon() => __pbn__icon != null;
            public void Reseticon() => __pbn__icon = null;
            private string __pbn__icon;

            [global::ProtoBuf.ProtoMember(6)]
            public int gradient_id
            {
                get => __pbn__gradient_id.GetValueOrDefault();
                set => __pbn__gradient_id = value;
            }
            public bool ShouldSerializegradient_id() => __pbn__gradient_id != null;
            public void Resetgradient_id() => __pbn__gradient_id = null;
            private int? __pbn__gradient_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataAbilities : 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<CMsgGameDataAbilityOrItem> abilities { get; } = new global::System.Collections.Generic.List<CMsgGameDataAbilityOrItem>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataItems : 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<CMsgGameDataAbilityOrItem> items { get; } = new global::System.Collections.Generic.List<CMsgGameDataAbilityOrItem>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataHeroes : 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<CMsgGameDataHero> heroes { get; } = new global::System.Collections.Generic.List<CMsgGameDataHero>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataHeroList : 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<HeroInfo> heroes { get; } = new global::System.Collections.Generic.List<HeroInfo>();

        [global::ProtoBuf.ProtoContract()]
        public partial class HeroInfo : 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 id
            {
                get => __pbn__id.GetValueOrDefault();
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private int? __pbn__id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_loc
            {
                get => __pbn__name_loc ?? "";
                set => __pbn__name_loc = value;
            }
            public bool ShouldSerializename_loc() => __pbn__name_loc != null;
            public void Resetname_loc() => __pbn__name_loc = null;
            private string __pbn__name_loc;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_english_loc
            {
                get => __pbn__name_english_loc ?? "";
                set => __pbn__name_english_loc = value;
            }
            public bool ShouldSerializename_english_loc() => __pbn__name_english_loc != null;
            public void Resetname_english_loc() => __pbn__name_english_loc = null;
            private string __pbn__name_english_loc;

            [global::ProtoBuf.ProtoMember(5)]
            public uint primary_attr
            {
                get => __pbn__primary_attr.GetValueOrDefault();
                set => __pbn__primary_attr = value;
            }
            public bool ShouldSerializeprimary_attr() => __pbn__primary_attr != null;
            public void Resetprimary_attr() => __pbn__primary_attr = null;
            private uint? __pbn__primary_attr;

            [global::ProtoBuf.ProtoMember(6)]
            public uint complexity
            {
                get => __pbn__complexity.GetValueOrDefault();
                set => __pbn__complexity = value;
            }
            public bool ShouldSerializecomplexity() => __pbn__complexity != null;
            public void Resetcomplexity() => __pbn__complexity = null;
            private uint? __pbn__complexity;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameDataItemAbilityList : 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<ItemAbilityInfo> itemabilities { get; } = new global::System.Collections.Generic.List<ItemAbilityInfo>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemAbilityInfo : 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(-1)]
            public int id
            {
                get => __pbn__id ?? -1;
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private int? __pbn__id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_loc
            {
                get => __pbn__name_loc ?? "";
                set => __pbn__name_loc = value;
            }
            public bool ShouldSerializename_loc() => __pbn__name_loc != null;
            public void Resetname_loc() => __pbn__name_loc = null;
            private string __pbn__name_loc;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_english_loc
            {
                get => __pbn__name_english_loc ?? "";
                set => __pbn__name_english_loc = value;
            }
            public bool ShouldSerializename_english_loc() => __pbn__name_english_loc != null;
            public void Resetname_english_loc() => __pbn__name_english_loc = null;
            private string __pbn__name_english_loc;

            [global::ProtoBuf.ProtoMember(5)]
            public int neutral_item_tier
            {
                get => __pbn__neutral_item_tier.GetValueOrDefault();
                set => __pbn__neutral_item_tier = value;
            }
            public bool ShouldSerializeneutral_item_tier() => __pbn__neutral_item_tier != null;
            public void Resetneutral_item_tier() => __pbn__neutral_item_tier = null;
            private int? __pbn__neutral_item_tier;

            [global::ProtoBuf.ProtoMember(6)]
            public bool is_pregame_suggested
            {
                get => __pbn__is_pregame_suggested.GetValueOrDefault();
                set => __pbn__is_pregame_suggested = value;
            }
            public bool ShouldSerializeis_pregame_suggested() => __pbn__is_pregame_suggested != null;
            public void Resetis_pregame_suggested() => __pbn__is_pregame_suggested = null;
            private bool? __pbn__is_pregame_suggested;

            [global::ProtoBuf.ProtoMember(7)]
            public bool is_earlygame_suggested
            {
                get => __pbn__is_earlygame_suggested.GetValueOrDefault();
                set => __pbn__is_earlygame_suggested = value;
            }
            public bool ShouldSerializeis_earlygame_suggested() => __pbn__is_earlygame_suggested != null;
            public void Resetis_earlygame_suggested() => __pbn__is_earlygame_suggested = null;
            private bool? __pbn__is_earlygame_suggested;

            [global::ProtoBuf.ProtoMember(8)]
            public bool is_lategame_suggested
            {
                get => __pbn__is_lategame_suggested.GetValueOrDefault();
                set => __pbn__is_lategame_suggested = value;
            }
            public bool ShouldSerializeis_lategame_suggested() => __pbn__is_lategame_suggested != null;
            public void Resetis_lategame_suggested() => __pbn__is_lategame_suggested = null;
            private bool? __pbn__is_lategame_suggested;

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

            [global::ProtoBuf.ProtoContract()]
            public partial class Recipe : 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<int> items { get; } = new global::System.Collections.Generic.List<int>();

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLobbyAbilityDraftData : 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 shuffle_draft_order
        {
            get => __pbn__shuffle_draft_order.GetValueOrDefault();
            set => __pbn__shuffle_draft_order = value;
        }
        public bool ShouldSerializeshuffle_draft_order() => __pbn__shuffle_draft_order != null;
        public void Resetshuffle_draft_order() => __pbn__shuffle_draft_order = null;
        private bool? __pbn__shuffle_draft_order;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSOEconItemDropRateBonus : 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 expiration_date
        {
            get => __pbn__expiration_date.GetValueOrDefault();
            set => __pbn__expiration_date = value;
        }
        public bool ShouldSerializeexpiration_date() => __pbn__expiration_date != null;
        public void Resetexpiration_date() => __pbn__expiration_date = null;
        private uint? __pbn__expiration_date;

        [global::ProtoBuf.ProtoMember(3)]
        public float bonus
        {
            get => __pbn__bonus.GetValueOrDefault();
            set => __pbn__bonus = value;
        }
        public bool ShouldSerializebonus() => __pbn__bonus != null;
        public void Resetbonus() => __pbn__bonus = null;
        private float? __pbn__bonus;

        [global::ProtoBuf.ProtoMember(4)]
        public uint bonus_count
        {
            get => __pbn__bonus_count.GetValueOrDefault();
            set => __pbn__bonus_count = value;
        }
        public bool ShouldSerializebonus_count() => __pbn__bonus_count != null;
        public void Resetbonus_count() => __pbn__bonus_count = null;
        private uint? __pbn__bonus_count;

        [global::ProtoBuf.ProtoMember(5)]
        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(6)]
        public uint def_index
        {
            get => __pbn__def_index.GetValueOrDefault();
            set => __pbn__def_index = value;
        }
        public bool ShouldSerializedef_index() => __pbn__def_index != null;
        public void Resetdef_index() => __pbn__def_index = null;
        private uint? __pbn__def_index;

        [global::ProtoBuf.ProtoMember(7)]
        public uint seconds_left
        {
            get => __pbn__seconds_left.GetValueOrDefault();
            set => __pbn__seconds_left = value;
        }
        public bool ShouldSerializeseconds_left() => __pbn__seconds_left != null;
        public void Resetseconds_left() => __pbn__seconds_left = null;
        private uint? __pbn__seconds_left;

        [global::ProtoBuf.ProtoMember(8)]
        public uint booster_type
        {
            get => __pbn__booster_type.GetValueOrDefault();
            set => __pbn__booster_type = value;
        }
        public bool ShouldSerializebooster_type() => __pbn__booster_type != null;
        public void Resetbooster_type() => __pbn__booster_type = null;
        private uint? __pbn__booster_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSOEconItemTournamentPassport : 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 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 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(4)]
        public uint original_purchaser_id
        {
            get => __pbn__original_purchaser_id.GetValueOrDefault();
            set => __pbn__original_purchaser_id = value;
        }
        public bool ShouldSerializeoriginal_purchaser_id() => __pbn__original_purchaser_id != null;
        public void Resetoriginal_purchaser_id() => __pbn__original_purchaser_id = null;
        private uint? __pbn__original_purchaser_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint passports_bought
        {
            get => __pbn__passports_bought.GetValueOrDefault();
            set => __pbn__passports_bought = value;
        }
        public bool ShouldSerializepassports_bought() => __pbn__passports_bought != null;
        public void Resetpassports_bought() => __pbn__passports_bought = null;
        private uint? __pbn__passports_bought;

        [global::ProtoBuf.ProtoMember(6)]
        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(7)]
        public uint def_index
        {
            get => __pbn__def_index.GetValueOrDefault();
            set => __pbn__def_index = value;
        }
        public bool ShouldSerializedef_index() => __pbn__def_index != null;
        public void Resetdef_index() => __pbn__def_index = null;
        private uint? __pbn__def_index;

        [global::ProtoBuf.ProtoMember(8)]
        public uint reward_flags
        {
            get => __pbn__reward_flags.GetValueOrDefault();
            set => __pbn__reward_flags = value;
        }
        public bool ShouldSerializereward_flags() => __pbn__reward_flags != null;
        public void Resetreward_flags() => __pbn__reward_flags = null;
        private uint? __pbn__reward_flags;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerbookSticker : 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_id
        {
            get => __pbn__item_def_id.GetValueOrDefault();
            set => __pbn__item_def_id = value;
        }
        public bool ShouldSerializeitem_def_id() => __pbn__item_def_id != null;
        public void Resetitem_def_id() => __pbn__item_def_id = null;
        private uint? __pbn__item_def_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint sticker_num
        {
            get => __pbn__sticker_num.GetValueOrDefault();
            set => __pbn__sticker_num = value;
        }
        public bool ShouldSerializesticker_num() => __pbn__sticker_num != null;
        public void Resetsticker_num() => __pbn__sticker_num = null;
        private uint? __pbn__sticker_num;

        [global::ProtoBuf.ProtoMember(3)]
        public uint quality
        {
            get => __pbn__quality.GetValueOrDefault();
            set => __pbn__quality = value;
        }
        public bool ShouldSerializequality() => __pbn__quality != null;
        public void Resetquality() => __pbn__quality = null;
        private uint? __pbn__quality;

        [global::ProtoBuf.ProtoMember(4)]
        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(5)]
        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(8)]
        public float position_z
        {
            get => __pbn__position_z.GetValueOrDefault();
            set => __pbn__position_z = value;
        }
        public bool ShouldSerializeposition_z() => __pbn__position_z != null;
        public void Resetposition_z() => __pbn__position_z = null;
        private float? __pbn__position_z;

        [global::ProtoBuf.ProtoMember(6)]
        public float rotation
        {
            get => __pbn__rotation.GetValueOrDefault();
            set => __pbn__rotation = value;
        }
        public bool ShouldSerializerotation() => __pbn__rotation != null;
        public void Resetrotation() => __pbn__rotation = null;
        private float? __pbn__rotation;

        [global::ProtoBuf.ProtoMember(7)]
        public float scale
        {
            get => __pbn__scale.GetValueOrDefault();
            set => __pbn__scale = value;
        }
        public bool ShouldSerializescale() => __pbn__scale != null;
        public void Resetscale() => __pbn__scale = null;
        private float? __pbn__scale;

        [global::ProtoBuf.ProtoMember(9)]
        public ulong source_item_id
        {
            get => __pbn__source_item_id.GetValueOrDefault();
            set => __pbn__source_item_id = value;
        }
        public bool ShouldSerializesource_item_id() => __pbn__source_item_id != null;
        public void Resetsource_item_id() => __pbn__source_item_id = null;
        private ulong? __pbn__source_item_id;

        [global::ProtoBuf.ProtoMember(10)]
        public uint depth_bias
        {
            get => __pbn__depth_bias.GetValueOrDefault();
            set => __pbn__depth_bias = value;
        }
        public bool ShouldSerializedepth_bias() => __pbn__depth_bias != null;
        public void Resetdepth_bias() => __pbn__depth_bias = null;
        private uint? __pbn__depth_bias;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerbookPage : 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 page_num
        {
            get => __pbn__page_num.GetValueOrDefault();
            set => __pbn__page_num = value;
        }
        public bool ShouldSerializepage_num() => __pbn__page_num != null;
        public void Resetpage_num() => __pbn__page_num = null;
        private uint? __pbn__page_num;

        [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 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(4)]
        public global::System.Collections.Generic.List<CMsgStickerbookSticker> stickers { get; } = new global::System.Collections.Generic.List<CMsgStickerbookSticker>();

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EStickerbookPageType.STICKER_PAGE_GENERIC)]
        public EStickerbookPageType page_type
        {
            get => __pbn__page_type ?? EStickerbookPageType.STICKER_PAGE_GENERIC;
            set => __pbn__page_type = value;
        }
        public bool ShouldSerializepage_type() => __pbn__page_type != null;
        public void Resetpage_type() => __pbn__page_type = null;
        private EStickerbookPageType? __pbn__page_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerbookTeamPageOrderSequence : 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> page_numbers { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerbook : 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<CMsgStickerbookPage> pages { get; } = new global::System.Collections.Generic.List<CMsgStickerbookPage>();

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint favorite_page_num
        {
            get => __pbn__favorite_page_num.GetValueOrDefault();
            set => __pbn__favorite_page_num = value;
        }
        public bool ShouldSerializefavorite_page_num() => __pbn__favorite_page_num != null;
        public void Resetfavorite_page_num() => __pbn__favorite_page_num = null;
        private uint? __pbn__favorite_page_num;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerHero : 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 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 int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint item_def_id
        {
            get => __pbn__item_def_id.GetValueOrDefault();
            set => __pbn__item_def_id = value;
        }
        public bool ShouldSerializeitem_def_id() => __pbn__item_def_id != null;
        public void Resetitem_def_id() => __pbn__item_def_id = null;
        private uint? __pbn__item_def_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint quality
        {
            get => __pbn__quality.GetValueOrDefault();
            set => __pbn__quality = value;
        }
        public bool ShouldSerializequality() => __pbn__quality != null;
        public void Resetquality() => __pbn__quality = null;
        private uint? __pbn__quality;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong source_item_id
        {
            get => __pbn__source_item_id.GetValueOrDefault();
            set => __pbn__source_item_id = value;
        }
        public bool ShouldSerializesource_item_id() => __pbn__source_item_id != null;
        public void Resetsource_item_id() => __pbn__source_item_id = null;
        private ulong? __pbn__source_item_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgStickerHeroes : 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<CMsgStickerHero> heroes { get; } = new global::System.Collections.Generic.List<CMsgStickerHero>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgHeroRoleStats : 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 lane_selection_flags
        {
            get => __pbn__lane_selection_flags.GetValueOrDefault();
            set => __pbn__lane_selection_flags = value;
        }
        public bool ShouldSerializelane_selection_flags() => __pbn__lane_selection_flags != null;
        public void Resetlane_selection_flags() => __pbn__lane_selection_flags = null;
        private uint? __pbn__lane_selection_flags;

        [global::ProtoBuf.ProtoMember(2)]
        public uint match_count
        {
            get => __pbn__match_count.GetValueOrDefault();
            set => __pbn__match_count = value;
        }
        public bool ShouldSerializematch_count() => __pbn__match_count != null;
        public void Resetmatch_count() => __pbn__match_count = null;
        private uint? __pbn__match_count;

        [global::ProtoBuf.ProtoMember(3)]
        public uint win_count
        {
            get => __pbn__win_count.GetValueOrDefault();
            set => __pbn__win_count = value;
        }
        public bool ShouldSerializewin_count() => __pbn__win_count != null;
        public void Resetwin_count() => __pbn__win_count = null;
        private uint? __pbn__win_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgHeroRoleHeroStats : 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 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 int? __pbn__hero_id;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgHeroRoleRankStats : 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 rank_tier
        {
            get => __pbn__rank_tier.GetValueOrDefault();
            set => __pbn__rank_tier = value;
        }
        public bool ShouldSerializerank_tier() => __pbn__rank_tier != null;
        public void Resetrank_tier() => __pbn__rank_tier = null;
        private uint? __pbn__rank_tier;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgHeroRoleAllRanksStats : 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 start_timestamp
        {
            get => __pbn__start_timestamp.GetValueOrDefault();
            set => __pbn__start_timestamp = value;
        }
        public bool ShouldSerializestart_timestamp() => __pbn__start_timestamp != null;
        public void Resetstart_timestamp() => __pbn__start_timestamp = null;
        private uint? __pbn__start_timestamp;

        [global::ProtoBuf.ProtoMember(2)]
        public uint end_timestamp
        {
            get => __pbn__end_timestamp.GetValueOrDefault();
            set => __pbn__end_timestamp = value;
        }
        public bool ShouldSerializeend_timestamp() => __pbn__end_timestamp != null;
        public void Resetend_timestamp() => __pbn__end_timestamp = null;
        private uint? __pbn__end_timestamp;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMapStatsSnapshot : 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 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(2)]
        public ulong lotuses_gained
        {
            get => __pbn__lotuses_gained.GetValueOrDefault();
            set => __pbn__lotuses_gained = value;
        }
        public bool ShouldSerializelotuses_gained() => __pbn__lotuses_gained != null;
        public void Resetlotuses_gained() => __pbn__lotuses_gained = null;
        private ulong? __pbn__lotuses_gained;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong wisdom_runes_gained
        {
            get => __pbn__wisdom_runes_gained.GetValueOrDefault();
            set => __pbn__wisdom_runes_gained = value;
        }
        public bool ShouldSerializewisdom_runes_gained() => __pbn__wisdom_runes_gained != null;
        public void Resetwisdom_runes_gained() => __pbn__wisdom_runes_gained = null;
        private ulong? __pbn__wisdom_runes_gained;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong roshan_kills_day
        {
            get => __pbn__roshan_kills_day.GetValueOrDefault();
            set => __pbn__roshan_kills_day = value;
        }
        public bool ShouldSerializeroshan_kills_day() => __pbn__roshan_kills_day != null;
        public void Resetroshan_kills_day() => __pbn__roshan_kills_day = null;
        private ulong? __pbn__roshan_kills_day;

        [global::ProtoBuf.ProtoMember(5)]
        public ulong roshan_kills_night
        {
            get => __pbn__roshan_kills_night.GetValueOrDefault();
            set => __pbn__roshan_kills_night = value;
        }
        public bool ShouldSerializeroshan_kills_night() => __pbn__roshan_kills_night != null;
        public void Resetroshan_kills_night() => __pbn__roshan_kills_night = null;
        private ulong? __pbn__roshan_kills_night;

        [global::ProtoBuf.ProtoMember(6)]
        public ulong portals_used
        {
            get => __pbn__portals_used.GetValueOrDefault();
            set => __pbn__portals_used = value;
        }
        public bool ShouldSerializeportals_used() => __pbn__portals_used != null;
        public void Resetportals_used() => __pbn__portals_used = null;
        private ulong? __pbn__portals_used;

        [global::ProtoBuf.ProtoMember(7)]
        public ulong watchers_taken
        {
            get => __pbn__watchers_taken.GetValueOrDefault();
            set => __pbn__watchers_taken = value;
        }
        public bool ShouldSerializewatchers_taken() => __pbn__watchers_taken != null;
        public void Resetwatchers_taken() => __pbn__watchers_taken = null;
        private ulong? __pbn__watchers_taken;

        [global::ProtoBuf.ProtoMember(8)]
        public ulong tormentor_kills
        {
            get => __pbn__tormentor_kills.GetValueOrDefault();
            set => __pbn__tormentor_kills = value;
        }
        public bool ShouldSerializetormentor_kills() => __pbn__tormentor_kills != null;
        public void Resettormentor_kills() => __pbn__tormentor_kills = null;
        private ulong? __pbn__tormentor_kills;

        [global::ProtoBuf.ProtoMember(9)]
        public ulong 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 ulong? __pbn__outposts_captured;

        [global::ProtoBuf.ProtoMember(10)]
        public ulong shield_runes_gained
        {
            get => __pbn__shield_runes_gained.GetValueOrDefault();
            set => __pbn__shield_runes_gained = value;
        }
        public bool ShouldSerializeshield_runes_gained() => __pbn__shield_runes_gained != null;
        public void Resetshield_runes_gained() => __pbn__shield_runes_gained = null;
        private ulong? __pbn__shield_runes_gained;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGlobalMapStats : 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 CMsgMapStatsSnapshot current { get; set; }

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTrackedStat : 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 tracked_stat_id
        {
            get => __pbn__tracked_stat_id.GetValueOrDefault();
            set => __pbn__tracked_stat_id = value;
        }
        public bool ShouldSerializetracked_stat_id() => __pbn__tracked_stat_id != null;
        public void Resettracked_stat_id() => __pbn__tracked_stat_id = null;
        private uint? __pbn__tracked_stat_id;

        [global::ProtoBuf.ProtoMember(2)]
        public int tracked_stat_value
        {
            get => __pbn__tracked_stat_value.GetValueOrDefault();
            set => __pbn__tracked_stat_value = value;
        }
        public bool ShouldSerializetracked_stat_value() => __pbn__tracked_stat_value != null;
        public void Resettracked_stat_value() => __pbn__tracked_stat_value = null;
        private int? __pbn__tracked_stat_value;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAClaimEventActionResponse : 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(ResultCode.Success)]
        public ResultCode result
        {
            get => __pbn__result ?? ResultCode.Success;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ResultCode? __pbn__result;

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint action_id
        {
            get => __pbn__action_id.GetValueOrDefault();
            set => __pbn__action_id = value;
        }
        public bool ShouldSerializeaction_id() => __pbn__action_id != null;
        public void Resetaction_id() => __pbn__action_id = null;
        private uint? __pbn__action_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class MysteryItemRewardData : 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 item_category
            {
                get => __pbn__item_category.GetValueOrDefault();
                set => __pbn__item_category = value;
            }
            public bool ShouldSerializeitem_category() => __pbn__item_category != null;
            public void Resetitem_category() => __pbn__item_category = null;
            private uint? __pbn__item_category;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class LootListRewardData : 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_def { get; } = new global::System.Collections.Generic.List<uint>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ActionListRewardData : 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 action_id
            {
                get => __pbn__action_id.GetValueOrDefault();
                set => __pbn__action_id = value;
            }
            public bool ShouldSerializeaction_id() => __pbn__action_id != null;
            public void Resetaction_id() => __pbn__action_id = null;
            private uint? __pbn__action_id;

            [global::ProtoBuf.ProtoMember(2)]
            public byte[] result_reward_data
            {
                get => __pbn__result_reward_data;
                set => __pbn__result_reward_data = value;
            }
            public bool ShouldSerializeresult_reward_data() => __pbn__result_reward_data != null;
            public void Resetresult_reward_data() => __pbn__result_reward_data = null;
            private byte[] __pbn__result_reward_data;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class OverworldTokenRewardData : 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<TokenQuantity> tokens { get; } = new global::System.Collections.Generic.List<TokenQuantity>();

            [global::ProtoBuf.ProtoContract()]
            public partial class TokenQuantity : 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 token_id
                {
                    get => __pbn__token_id.GetValueOrDefault();
                    set => __pbn__token_id = value;
                }
                public bool ShouldSerializetoken_id() => __pbn__token_id != null;
                public void Resettoken_id() => __pbn__token_id = null;
                private uint? __pbn__token_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint token_count
                {
                    get => __pbn__token_count.GetValueOrDefault();
                    set => __pbn__token_count = value;
                }
                public bool ShouldSerializetoken_count() => __pbn__token_count != null;
                public void Resettoken_count() => __pbn__token_count = null;
                private uint? __pbn__token_count;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GrantedRewardData : 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 grant_index
            {
                get => __pbn__grant_index.GetValueOrDefault();
                set => __pbn__grant_index = value;
            }
            public bool ShouldSerializegrant_index() => __pbn__grant_index != null;
            public void Resetgrant_index() => __pbn__grant_index = null;
            private uint? __pbn__grant_index;

            [global::ProtoBuf.ProtoMember(2)]
            public uint score_index
            {
                get => __pbn__score_index.GetValueOrDefault();
                set => __pbn__score_index = value;
            }
            public bool ShouldSerializescore_index() => __pbn__score_index != null;
            public void Resetscore_index() => __pbn__score_index = null;
            private uint? __pbn__score_index;

            [global::ProtoBuf.ProtoMember(3)]
            public uint reward_index
            {
                get => __pbn__reward_index.GetValueOrDefault();
                set => __pbn__reward_index = value;
            }
            public bool ShouldSerializereward_index() => __pbn__reward_index != null;
            public void Resetreward_index() => __pbn__reward_index = null;
            private uint? __pbn__reward_index;

            [global::ProtoBuf.ProtoMember(4)]
            public byte[] reward_data
            {
                get => __pbn__reward_data;
                set => __pbn__reward_data = value;
            }
            public bool ShouldSerializereward_data() => __pbn__reward_data != null;
            public void Resetreward_data() => __pbn__reward_data = null;
            private byte[] __pbn__reward_data;

            [global::ProtoBuf.ProtoMember(5)]
            public uint action_id
            {
                get => __pbn__action_id.GetValueOrDefault();
                set => __pbn__action_id = value;
            }
            public bool ShouldSerializeaction_id() => __pbn__action_id != null;
            public void Resetaction_id() => __pbn__action_id = null;
            private uint? __pbn__action_id;

        }

        [global::ProtoBuf.ProtoContract()]
        public enum ResultCode
        {
            Success = 0,
            InvalidEvent = 1,
            EventNotActive = 2,
            InvalidAction = 3,
            ServerError = 4,
            InsufficientPoints = 5,
            InsufficentLevel = 6,
            AlreadyClaimed = 7,
            SDOLockFailure = 8,
            SDOLoadFailure = 9,
            EventNotOwned = 10,
            Timeout = 11,
            RequiresPlusSubscription = 12,
            InvalidItem = 13,
            AsyncRewards = 14,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToGCDotaLabsFeedback : 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 language
        {
            get => __pbn__language.GetValueOrDefault();
            set => __pbn__language = value;
        }
        public bool ShouldSerializelanguage() => __pbn__language != null;
        public void Resetlanguage() => __pbn__language = null;
        private uint? __pbn__language;

        [global::ProtoBuf.ProtoMember(2)]
        public uint feedback_item
        {
            get => __pbn__feedback_item.GetValueOrDefault();
            set => __pbn__feedback_item = value;
        }
        public bool ShouldSerializefeedback_item() => __pbn__feedback_item != null;
        public void Resetfeedback_item() => __pbn__feedback_item = null;
        private uint? __pbn__feedback_item;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string feedback
        {
            get => __pbn__feedback ?? "";
            set => __pbn__feedback = value;
        }
        public bool ShouldSerializefeedback() => __pbn__feedback != null;
        public void Resetfeedback() => __pbn__feedback = null;
        private string __pbn__feedback;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientToGCDotaLabsFeedbackResponse : 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(EResponse.k_eInternalError)]
        public EResponse response
        {
            get => __pbn__response ?? EResponse.k_eInternalError;
            set => __pbn__response = value;
        }
        public bool ShouldSerializeresponse() => __pbn__response != null;
        public void Resetresponse() => __pbn__response = null;
        private EResponse? __pbn__response;

        [global::ProtoBuf.ProtoContract()]
        public enum EResponse
        {
            k_eInternalError = 0,
            k_eSuccess = 1,
            k_eTooBusy = 2,
            k_eDisabled = 3,
            k_eTimeout = 4,
            k_eNotAllowed = 5,
            k_eInvalidItem = 6,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CDotaMsg_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 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 enum ESpecialPingValue
    {
        k_ESpecialPingValue_NoData = 16382,
        k_ESpecialPingValue_Failed = 16383,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDOTAGCSessionNeed
    {
        k_EDOTAGCSessionNeed_Unknown = 0,
        k_EDOTAGCSessionNeed_UserNoSessionNeeded = 100,
        k_EDOTAGCSessionNeed_UserInOnlineGame = 101,
        k_EDOTAGCSessionNeed_UserInLocalGame = 102,
        k_EDOTAGCSessionNeed_UserInUIWasConnected = 103,
        k_EDOTAGCSessionNeed_UserInUINeverConnected = 104,
        k_EDOTAGCSessionNeed_UserTutorials = 105,
        k_EDOTAGCSessionNeed_UserInUIWasConnectedIdle = 106,
        k_EDOTAGCSessionNeed_UserInUINeverConnectedIdle = 107,
        k_EDOTAGCSessionNeed_GameServerOnline = 200,
        k_EDOTAGCSessionNeed_GameServerLocal = 201,
        k_EDOTAGCSessionNeed_GameServerIdle = 202,
        k_EDOTAGCSessionNeed_GameServerRelay = 203,
        k_EDOTAGCSessionNeed_GameServerLocalUpload = 204,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDOTAMatchPlayerTimeCustomStat
    {
        k_EDOTA_MatchPlayerTimeCustomStat_HPRegenUnderT1Towers = 1,
        k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_Absolute = 2,
        k_EDOTA_MatchPlayerTimeCustomStat_MagicDamageReducedWithNewFormula_PercentOfTotalHP = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_TournamentEvents
    {
        TE_FIRST_BLOOD = 0,
        TE_GAME_END = 1,
        TE_MULTI_KILL = 2,
        TE_HERO_DENY = 3,
        TE_AEGIS_DENY = 4,
        TE_AEGIS_STOLEN = 5,
        TE_GODLIKE = 6,
        TE_COURIER_KILL = 7,
        TE_ECHOSLAM = 8,
        TE_RAPIER = 9,
        TE_EARLY_ROSHAN = 10,
        TE_BLACK_HOLE = 11,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EBroadcastTimelineEvent
    {
        EBroadcastTimelineEvent_MatchStarted = 1,
        EBroadcastTimelineEvent_GameStateChanged = 2,
        EBroadcastTimelineEvent_TowerDeath = 3,
        EBroadcastTimelineEvent_BarracksDeath = 4,
        EBroadcastTimelineEvent_AncientDeath = 5,
        EBroadcastTimelineEvent_RoshanDeath = 6,
        EBroadcastTimelineEvent_HeroDeath = 7,
        EBroadcastTimelineEvent_TeamFight = 8,
        EBroadcastTimelineEvent_FirstBlood = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ECustomGameWhitelistState
    {
        CUSTOM_GAME_WHITELIST_STATE_UNKNOWN = 0,
        CUSTOM_GAME_WHITELIST_STATE_APPROVED = 1,
        CUSTOM_GAME_WHITELIST_STATE_REJECTED = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDOTATriviaQuestionCategory
    {
        k_EDOTATriviaQuestionCategory_AbilityIcon = 0,
        k_EDOTATriviaQuestionCategory_AbilityCooldown = 1,
        k_EDOTATriviaQuestionCategory_HeroAttributes = 2,
        k_EDOTATriviaQuestionCategory_HeroMovementSpeed = 3,
        k_EDOTATriviaQuestionCategory_TalentTree = 4,
        k_EDOTATriviaQuestionCategory_HeroStats = 5,
        k_EDOTATriviaQuestionCategory_ItemPrice = 6,
        k_EDOTATriviaQuestionCategory_AbilitySound = 7,
        k_EDOTATriviaQuestionCategory_InvokerSpells = 8,
        k_EDOTATriviaQuestionCategory_AbilityManaCost = 9,
        k_EDOTATriviaQuestionCategory_HeroAttackSound = 10,
        k_EDOTATriviaQuestionCategory_AbilityName = 11,
        k_EDOTATriviaQuestionCategory_ItemComponents = 12,
        k_EDOTATriviaQuestionCategory_ItemLore = 13,
        k_EDOTATriviaQuestionCategory_ItemPassives = 14,
        k_EDOTATriviaQuestionCategory_STATIC_QUESTIONS_END = 15,
        k_EDOTATriviaQuestionCategory_DYNAMIC_QUESTIONS_START = 99,
        k_EDOTATriviaQuestionCategory_Dynamic_ItemBuild = 100,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EOverwatchConviction
    {
        k_EOverwatchConviction_None = 0,
        k_EOverwatchConviction_NotGuilty = 1,
        k_EOverwatchConviction_GuiltUnclear = 2,
        k_EOverwatchConviction_Guilty = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EHeroRelicRarity
    {
        HERO_RELIC_RARITY_INVALID = -1,
        HERO_RELIC_RARITY_COMMON = 0,
        HERO_RELIC_RARITY_RARE = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStickerbookAuditAction
    {
        STICKERBOOK_AUDIT_CREATE_PAGE = 0,
        STICKERBOOK_AUDIT_DELETE_PAGE = 1,
        STICKERBOOK_AUDIT_STICK_STICKERS = 2,
        STICKERBOOK_AUDIT_REPLACE_STICKERS = 3,
        STICKERBOOK_AUDIT_HERO_STICKER = 4,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStickerbookPageType
    {
        STICKER_PAGE_GENERIC = 0,
        STICKER_PAGE_TEAM = 1,
        STICKER_PAGE_TALENT = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ENewBloomGiftingResponse
    {
        kENewBloomGifting_Success = 0,
        kENewBloomGifting_UnknownFailure = 1,
        kENewBloomGifting_MalformedRequest = 2,
        kENewBloomGifting_FeatureDisabled = 3,
        kENewBloomGifting_ItemNotFound = 4,
        kENewBloomGifting_PlayerNotAllowedToGiveGifts = 5,
        kENewBloomGifting_TargetNotAllowedToReceiveGifts = 6,
        kENewBloomGifting_ServerNotAuthorized = 100,
        kENewBloomGifting_PlayerNotInLobby = 101,
        kENewBloomGifting_TargetNotInLobby = 102,
        kENewBloomGifting_LobbyNotEligible = 103,
        kENewBloomGifting_TargetNotFriend = 200,
        kENewBloomGifting_TargetFriendDurationTooShort = 201,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
