// <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, 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(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(44)]
        [global::System.ComponentModel.DefaultValue(PartnerAccountType.PARTNER_NONE)]
        public PartnerAccountType partner_account_type
        {
            get => __pbn__partner_account_type ?? PartnerAccountType.PARTNER_NONE;
            set => __pbn__partner_account_type = value;
        }
        public bool ShouldSerializepartner_account_type() => __pbn__partner_account_type != null;
        public void Resetpartner_account_type() => __pbn__partner_account_type = null;
        private PartnerAccountType? __pbn__partner_account_type;

        [global::ProtoBuf.ProtoMember(45)]
        public uint partner_account_state
        {
            get => __pbn__partner_account_state.GetValueOrDefault();
            set => __pbn__partner_account_state = value;
        }
        public bool ShouldSerializepartner_account_state() => __pbn__partner_account_state != null;
        public void Resetpartner_account_state() => __pbn__partner_account_state = null;
        private uint? __pbn__partner_account_state;

        [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(49)]
        public uint competitive_rank
        {
            get => __pbn__competitive_rank.GetValueOrDefault();
            set => __pbn__competitive_rank = value;
        }
        public bool ShouldSerializecompetitive_rank() => __pbn__competitive_rank != null;
        public void Resetcompetitive_rank() => __pbn__competitive_rank = null;
        private uint? __pbn__competitive_rank;

        [global::ProtoBuf.ProtoMember(51)]
        public uint competitive_calibration_games_remaining
        {
            get => __pbn__competitive_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__competitive_calibration_games_remaining = value;
        }
        public bool ShouldSerializecompetitive_calibration_games_remaining() => __pbn__competitive_calibration_games_remaining != null;
        public void Resetcompetitive_calibration_games_remaining() => __pbn__competitive_calibration_games_remaining = null;
        private uint? __pbn__competitive_calibration_games_remaining;

        [global::ProtoBuf.ProtoMember(52)]
        public uint solo_competitive_2019_rank
        {
            get => __pbn__solo_competitive_2019_rank.GetValueOrDefault();
            set => __pbn__solo_competitive_2019_rank = value;
        }
        public bool ShouldSerializesolo_competitive_2019_rank() => __pbn__solo_competitive_2019_rank != null;
        public void Resetsolo_competitive_2019_rank() => __pbn__solo_competitive_2019_rank = null;
        private uint? __pbn__solo_competitive_2019_rank;

        [global::ProtoBuf.ProtoMember(54)]
        public uint solo_competitive_2019_calibration_games_remaining
        {
            get => __pbn__solo_competitive_2019_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__solo_competitive_2019_calibration_games_remaining = value;
        }
        public bool ShouldSerializesolo_competitive_2019_calibration_games_remaining() => __pbn__solo_competitive_2019_calibration_games_remaining != null;
        public void Resetsolo_competitive_2019_calibration_games_remaining() => __pbn__solo_competitive_2019_calibration_games_remaining = null;
        private uint? __pbn__solo_competitive_2019_calibration_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 uint 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 uint? __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(87)]
        public uint favorite_team
        {
            get => __pbn__favorite_team.GetValueOrDefault();
            set => __pbn__favorite_team = value;
        }
        public bool ShouldSerializefavorite_team() => __pbn__favorite_team != null;
        public void Resetfavorite_team() => __pbn__favorite_team = null;
        private uint? __pbn__favorite_team;

        [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(93)]
        public uint general_seasonal_ranked_rank
        {
            get => __pbn__general_seasonal_ranked_rank.GetValueOrDefault();
            set => __pbn__general_seasonal_ranked_rank = value;
        }
        public bool ShouldSerializegeneral_seasonal_ranked_rank() => __pbn__general_seasonal_ranked_rank != null;
        public void Resetgeneral_seasonal_ranked_rank() => __pbn__general_seasonal_ranked_rank = null;
        private uint? __pbn__general_seasonal_ranked_rank;

        [global::ProtoBuf.ProtoMember(94)]
        public uint general_seasonal_ranked_calibration_games_remaining
        {
            get => __pbn__general_seasonal_ranked_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__general_seasonal_ranked_calibration_games_remaining = value;
        }
        public bool ShouldSerializegeneral_seasonal_ranked_calibration_games_remaining() => __pbn__general_seasonal_ranked_calibration_games_remaining != null;
        public void Resetgeneral_seasonal_ranked_calibration_games_remaining() => __pbn__general_seasonal_ranked_calibration_games_remaining = null;
        private uint? __pbn__general_seasonal_ranked_calibration_games_remaining;

        [global::ProtoBuf.ProtoMember(95)]
        public uint general_seasonal_ranked_games_played
        {
            get => __pbn__general_seasonal_ranked_games_played.GetValueOrDefault();
            set => __pbn__general_seasonal_ranked_games_played = value;
        }
        public bool ShouldSerializegeneral_seasonal_ranked_games_played() => __pbn__general_seasonal_ranked_games_played != null;
        public void Resetgeneral_seasonal_ranked_games_played() => __pbn__general_seasonal_ranked_games_played = null;
        private uint? __pbn__general_seasonal_ranked_games_played;

        [global::ProtoBuf.ProtoMember(96)]
        public uint general_seasonal_ranked_rank_peak
        {
            get => __pbn__general_seasonal_ranked_rank_peak.GetValueOrDefault();
            set => __pbn__general_seasonal_ranked_rank_peak = value;
        }
        public bool ShouldSerializegeneral_seasonal_ranked_rank_peak() => __pbn__general_seasonal_ranked_rank_peak != null;
        public void Resetgeneral_seasonal_ranked_rank_peak() => __pbn__general_seasonal_ranked_rank_peak = null;
        private uint? __pbn__general_seasonal_ranked_rank_peak;

        [global::ProtoBuf.ProtoMember(97)]
        public bool general_seasonal_rank_transferred
        {
            get => __pbn__general_seasonal_rank_transferred.GetValueOrDefault();
            set => __pbn__general_seasonal_rank_transferred = value;
        }
        public bool ShouldSerializegeneral_seasonal_rank_transferred() => __pbn__general_seasonal_rank_transferred != null;
        public void Resetgeneral_seasonal_rank_transferred() => __pbn__general_seasonal_rank_transferred = null;
        private bool? __pbn__general_seasonal_rank_transferred;

        [global::ProtoBuf.ProtoMember(98)]
        public uint solo_seasonal_ranked_rank
        {
            get => __pbn__solo_seasonal_ranked_rank.GetValueOrDefault();
            set => __pbn__solo_seasonal_ranked_rank = value;
        }
        public bool ShouldSerializesolo_seasonal_ranked_rank() => __pbn__solo_seasonal_ranked_rank != null;
        public void Resetsolo_seasonal_ranked_rank() => __pbn__solo_seasonal_ranked_rank = null;
        private uint? __pbn__solo_seasonal_ranked_rank;

        [global::ProtoBuf.ProtoMember(99)]
        public uint solo_seasonal_ranked_calibration_games_remaining
        {
            get => __pbn__solo_seasonal_ranked_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__solo_seasonal_ranked_calibration_games_remaining = value;
        }
        public bool ShouldSerializesolo_seasonal_ranked_calibration_games_remaining() => __pbn__solo_seasonal_ranked_calibration_games_remaining != null;
        public void Resetsolo_seasonal_ranked_calibration_games_remaining() => __pbn__solo_seasonal_ranked_calibration_games_remaining = null;
        private uint? __pbn__solo_seasonal_ranked_calibration_games_remaining;

        [global::ProtoBuf.ProtoMember(100)]
        public uint solo_seasonal_ranked_games_played
        {
            get => __pbn__solo_seasonal_ranked_games_played.GetValueOrDefault();
            set => __pbn__solo_seasonal_ranked_games_played = value;
        }
        public bool ShouldSerializesolo_seasonal_ranked_games_played() => __pbn__solo_seasonal_ranked_games_played != null;
        public void Resetsolo_seasonal_ranked_games_played() => __pbn__solo_seasonal_ranked_games_played = null;
        private uint? __pbn__solo_seasonal_ranked_games_played;

        [global::ProtoBuf.ProtoMember(101)]
        public uint solo_seasonal_ranked_rank_peak
        {
            get => __pbn__solo_seasonal_ranked_rank_peak.GetValueOrDefault();
            set => __pbn__solo_seasonal_ranked_rank_peak = value;
        }
        public bool ShouldSerializesolo_seasonal_ranked_rank_peak() => __pbn__solo_seasonal_ranked_rank_peak != null;
        public void Resetsolo_seasonal_ranked_rank_peak() => __pbn__solo_seasonal_ranked_rank_peak = null;
        private uint? __pbn__solo_seasonal_ranked_rank_peak;

        [global::ProtoBuf.ProtoMember(102)]
        public bool solo_seasonal_rank_transferred
        {
            get => __pbn__solo_seasonal_rank_transferred.GetValueOrDefault();
            set => __pbn__solo_seasonal_rank_transferred = value;
        }
        public bool ShouldSerializesolo_seasonal_rank_transferred() => __pbn__solo_seasonal_rank_transferred != null;
        public void Resetsolo_seasonal_rank_transferred() => __pbn__solo_seasonal_rank_transferred = null;
        private bool? __pbn__solo_seasonal_rank_transferred;

        [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(110)]
        public uint competitive_core_rank
        {
            get => __pbn__competitive_core_rank.GetValueOrDefault();
            set => __pbn__competitive_core_rank = value;
        }
        public bool ShouldSerializecompetitive_core_rank() => __pbn__competitive_core_rank != null;
        public void Resetcompetitive_core_rank() => __pbn__competitive_core_rank = null;
        private uint? __pbn__competitive_core_rank;

        [global::ProtoBuf.ProtoMember(111)]
        public uint competitive_core_calibration_games_remaining
        {
            get => __pbn__competitive_core_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__competitive_core_calibration_games_remaining = value;
        }
        public bool ShouldSerializecompetitive_core_calibration_games_remaining() => __pbn__competitive_core_calibration_games_remaining != null;
        public void Resetcompetitive_core_calibration_games_remaining() => __pbn__competitive_core_calibration_games_remaining = null;
        private uint? __pbn__competitive_core_calibration_games_remaining;

        [global::ProtoBuf.ProtoMember(112)]
        public uint competitive_support_rank
        {
            get => __pbn__competitive_support_rank.GetValueOrDefault();
            set => __pbn__competitive_support_rank = value;
        }
        public bool ShouldSerializecompetitive_support_rank() => __pbn__competitive_support_rank != null;
        public void Resetcompetitive_support_rank() => __pbn__competitive_support_rank = null;
        private uint? __pbn__competitive_support_rank;

        [global::ProtoBuf.ProtoMember(113)]
        public uint competitive_support_calibration_games_remaining
        {
            get => __pbn__competitive_support_calibration_games_remaining.GetValueOrDefault();
            set => __pbn__competitive_support_calibration_games_remaining = value;
        }
        public bool ShouldSerializecompetitive_support_calibration_games_remaining() => __pbn__competitive_support_calibration_games_remaining != null;
        public void Resetcompetitive_support_calibration_games_remaining() => __pbn__competitive_support_calibration_games_remaining = null;
        private uint? __pbn__competitive_support_calibration_games_remaining;

        [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(116)]
        public uint gauntlet_tier
        {
            get => __pbn__gauntlet_tier.GetValueOrDefault();
            set => __pbn__gauntlet_tier = value;
        }
        public bool ShouldSerializegauntlet_tier() => __pbn__gauntlet_tier != null;
        public void Resetgauntlet_tier() => __pbn__gauntlet_tier = null;
        private uint? __pbn__gauntlet_tier;

        [global::ProtoBuf.ProtoMember(117)]
        public uint gauntlet_wins
        {
            get => __pbn__gauntlet_wins.GetValueOrDefault();
            set => __pbn__gauntlet_wins = value;
        }
        public bool ShouldSerializegauntlet_wins() => __pbn__gauntlet_wins != null;
        public void Resetgauntlet_wins() => __pbn__gauntlet_wins = null;
        private uint? __pbn__gauntlet_wins;

        [global::ProtoBuf.ProtoMember(118)]
        public uint gauntlet_losses
        {
            get => __pbn__gauntlet_losses.GetValueOrDefault();
            set => __pbn__gauntlet_losses = value;
        }
        public bool ShouldSerializegauntlet_losses() => __pbn__gauntlet_losses != null;
        public void Resetgauntlet_losses() => __pbn__gauntlet_losses = null;
        private uint? __pbn__gauntlet_losses;

        [global::ProtoBuf.ProtoMember(119)]
        public uint gauntlet_recent_time
        {
            get => __pbn__gauntlet_recent_time.GetValueOrDefault();
            set => __pbn__gauntlet_recent_time = value;
        }
        public bool ShouldSerializegauntlet_recent_time() => __pbn__gauntlet_recent_time != null;
        public void Resetgauntlet_recent_time() => __pbn__gauntlet_recent_time = null;
        private uint? __pbn__gauntlet_recent_time;

        [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.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 CMsgLobbyPlayerPlusSubscriptionData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<HeroBadge> hero_badges { get; } = new global::System.Collections.Generic.List<HeroBadge>();

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

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

            [global::ProtoBuf.ProtoMember(2)]
            public uint hero_badge_xp
            {
                get => __pbn__hero_badge_xp.GetValueOrDefault();
                set => __pbn__hero_badge_xp = value;
            }
            public bool ShouldSerializehero_badge_xp() => __pbn__hero_badge_xp != null;
            public void Resethero_badge_xp() => __pbn__hero_badge_xp = null;
            private uint? __pbn__hero_badge_xp;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLobbyEventPoints : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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 global::System.Collections.Generic.List<AccountPoints> account_points { get; } = new global::System.Collections.Generic.List<AccountPoints>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ChatWheelMessageRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 message_id_start
            {
                get => __pbn__message_id_start.GetValueOrDefault();
                set => __pbn__message_id_start = value;
            }
            public bool ShouldSerializemessage_id_start() => __pbn__message_id_start != null;
            public void Resetmessage_id_start() => __pbn__message_id_start = null;
            private uint? __pbn__message_id_start;

            [global::ProtoBuf.ProtoMember(2)]
            public uint message_id_end
            {
                get => __pbn__message_id_end.GetValueOrDefault();
                set => __pbn__message_id_end = value;
            }
            public bool ShouldSerializemessage_id_end() => __pbn__message_id_end != null;
            public void Resetmessage_id_end() => __pbn__message_id_end = null;
            private uint? __pbn__message_id_end;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PingWheelMessageRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 message_id_start
            {
                get => __pbn__message_id_start.GetValueOrDefault();
                set => __pbn__message_id_start = value;
            }
            public bool ShouldSerializemessage_id_start() => __pbn__message_id_start != null;
            public void Resetmessage_id_start() => __pbn__message_id_start = null;
            private uint? __pbn__message_id_start;

            [global::ProtoBuf.ProtoMember(2)]
            public uint message_id_end
            {
                get => __pbn__message_id_end.GetValueOrDefault();
                set => __pbn__message_id_end = value;
            }
            public bool ShouldSerializemessage_id_end() => __pbn__message_id_end != null;
            public void Resetmessage_id_end() => __pbn__message_id_end = null;
            private uint? __pbn__message_id_end;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PeriodicResourceValues : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 remaining
            {
                get => __pbn__remaining.GetValueOrDefault();
                set => __pbn__remaining = value;
            }
            public bool ShouldSerializeremaining() => __pbn__remaining != null;
            public void Resetremaining() => __pbn__remaining = null;
            private uint? __pbn__remaining;

            [global::ProtoBuf.ProtoMember(2)]
            public uint max
            {
                get => __pbn__max.GetValueOrDefault();
                set => __pbn__max = value;
            }
            public bool ShouldSerializemax() => __pbn__max != null;
            public void Resetmax() => __pbn__max = null;
            private uint? __pbn__max;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class EventGameCustomActions : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 uint times_granted
            {
                get => __pbn__times_granted.GetValueOrDefault();
                set => __pbn__times_granted = value;
            }
            public bool ShouldSerializetimes_granted() => __pbn__times_granted != null;
            public void Resettimes_granted() => __pbn__times_granted = null;
            private uint? __pbn__times_granted;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class AccountPoints : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 normal_points
            {
                get => __pbn__normal_points.GetValueOrDefault();
                set => __pbn__normal_points = value;
            }
            public bool ShouldSerializenormal_points() => __pbn__normal_points != null;
            public void Resetnormal_points() => __pbn__normal_points = null;
            private uint? __pbn__normal_points;

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

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

            [global::ProtoBuf.ProtoMember(5)]
            public uint favorite_team
            {
                get => __pbn__favorite_team.GetValueOrDefault();
                set => __pbn__favorite_team = value;
            }
            public bool ShouldSerializefavorite_team() => __pbn__favorite_team != null;
            public void Resetfavorite_team() => __pbn__favorite_team = null;
            private uint? __pbn__favorite_team;

            [global::ProtoBuf.ProtoMember(6)]
            public uint favorite_team_level
            {
                get => __pbn__favorite_team_level.GetValueOrDefault();
                set => __pbn__favorite_team_level = value;
            }
            public bool ShouldSerializefavorite_team_level() => __pbn__favorite_team_level != null;
            public void Resetfavorite_team_level() => __pbn__favorite_team_level = null;
            private uint? __pbn__favorite_team_level;

            [global::ProtoBuf.ProtoMember(9)]
            public uint favorite_team_foil_level
            {
                get => __pbn__favorite_team_foil_level.GetValueOrDefault();
                set => __pbn__favorite_team_foil_level = value;
            }
            public bool ShouldSerializefavorite_team_foil_level() => __pbn__favorite_team_foil_level != null;
            public void Resetfavorite_team_foil_level() => __pbn__favorite_team_foil_level = null;
            private uint? __pbn__favorite_team_foil_level;

            [global::ProtoBuf.ProtoMember(12)]
            public ulong active_effects_mask
            {
                get => __pbn__active_effects_mask.GetValueOrDefault();
                set => __pbn__active_effects_mask = value;
            }
            public bool ShouldSerializeactive_effects_mask() => __pbn__active_effects_mask != null;
            public void Resetactive_effects_mask() => __pbn__active_effects_mask = null;
            private ulong? __pbn__active_effects_mask;

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

            [global::ProtoBuf.ProtoMember(16)]
            public CMsgLobbyPlayerPlusSubscriptionData plus_subscription_data { get; set; }

            [global::ProtoBuf.ProtoMember(17)]
            public CMsgLobbyEventPoints.PeriodicResourceValues wager_tokens { get; set; }

            [global::ProtoBuf.ProtoMember(18)]
            public CMsgLobbyEventPoints.PeriodicResourceValues rank_wager_tokens { get; set; }

            [global::ProtoBuf.ProtoMember(19)]
            public CMsgLobbyEventPoints.PeriodicResourceValues tip_tokens { get; set; }

            [global::ProtoBuf.ProtoMember(21)]
            public CMsgLobbyEventPoints.PeriodicResourceValues periodic_point_adjustments { get; set; }

            [global::ProtoBuf.ProtoMember(22)]
            public global::System.Collections.Generic.List<CMsgLobbyEventPoints.PingWheelMessageRange> unlocked_ping_wheel_message_ranges { get; } = new global::System.Collections.Generic.List<CMsgLobbyEventPoints.PingWheelMessageRange>();

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

            [global::ProtoBuf.ProtoMember(24)]
            public CMsgLobbyEventPoints.PeriodicResourceValues bounties { get; set; }

            [global::ProtoBuf.ProtoMember(25)]
            public global::System.Collections.Generic.List<CMsgLobbyEventPoints.EventGameCustomActions> event_game_custom_actions { get; } = new global::System.Collections.Generic.List<CMsgLobbyEventPoints.EventGameCustomActions>();

            [global::ProtoBuf.ProtoMember(26)]
            public uint tip_amount_index
            {
                get => __pbn__tip_amount_index.GetValueOrDefault();
                set => __pbn__tip_amount_index = value;
            }
            public bool ShouldSerializetip_amount_index() => __pbn__tip_amount_index != null;
            public void Resettip_amount_index() => __pbn__tip_amount_index = null;
            private uint? __pbn__tip_amount_index;

        }

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        public uint game_seed
        {
            get => __pbn__game_seed.GetValueOrDefault();
            set => __pbn__game_seed = value;
        }
        public bool ShouldSerializegame_seed() => __pbn__game_seed != null;
        public void Resetgame_seed() => __pbn__game_seed = null;
        private uint? __pbn__game_seed;

        [global::ProtoBuf.ProtoMember(2)]
        public uint event_window_start_time
        {
            get => __pbn__event_window_start_time.GetValueOrDefault();
            set => __pbn__event_window_start_time = value;
        }
        public bool ShouldSerializeevent_window_start_time() => __pbn__event_window_start_time != null;
        public void Resetevent_window_start_time() => __pbn__event_window_start_time = null;
        private uint? __pbn__event_window_start_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLobbyGauntletProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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(3)]
            public uint gauntlet_tier
            {
                get => __pbn__gauntlet_tier.GetValueOrDefault();
                set => __pbn__gauntlet_tier = value;
            }
            public bool ShouldSerializegauntlet_tier() => __pbn__gauntlet_tier != null;
            public void Resetgauntlet_tier() => __pbn__gauntlet_tier = null;
            private uint? __pbn__gauntlet_tier;

            [global::ProtoBuf.ProtoMember(4)]
            public uint gauntlet_wins
            {
                get => __pbn__gauntlet_wins.GetValueOrDefault();
                set => __pbn__gauntlet_wins = value;
            }
            public bool ShouldSerializegauntlet_wins() => __pbn__gauntlet_wins != null;
            public void Resetgauntlet_wins() => __pbn__gauntlet_wins = null;
            private uint? __pbn__gauntlet_wins;

            [global::ProtoBuf.ProtoMember(5)]
            public uint gauntlet_losses
            {
                get => __pbn__gauntlet_losses.GetValueOrDefault();
                set => __pbn__gauntlet_losses = value;
            }
            public bool ShouldSerializegauntlet_losses() => __pbn__gauntlet_losses != null;
            public void Resetgauntlet_losses() => __pbn__gauntlet_losses = null;
            private uint? __pbn__gauntlet_losses;

        }

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        public uint guild_id
        {
            get => __pbn__guild_id.GetValueOrDefault();
            set => __pbn__guild_id = value;
        }
        public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
        public void Resetguild_id() => __pbn__guild_id = null;
        private uint? __pbn__guild_id;

        [global::ProtoBuf.ProtoMember(2)]
        [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 guild_points
        {
            get => __pbn__guild_points.GetValueOrDefault();
            set => __pbn__guild_points = value;
        }
        public bool ShouldSerializeguild_points() => __pbn__guild_points != null;
        public void Resetguild_points() => __pbn__guild_points = null;
        private uint? __pbn__guild_points;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong guild_logo
        {
            get => __pbn__guild_logo.GetValueOrDefault();
            set => __pbn__guild_logo = value;
        }
        public bool ShouldSerializeguild_logo() => __pbn__guild_logo != null;
        public void Resetguild_logo() => __pbn__guild_logo = null;
        private ulong? __pbn__guild_logo;

        [global::ProtoBuf.ProtoMember(5)]
        public uint guild_primary_color
        {
            get => __pbn__guild_primary_color.GetValueOrDefault();
            set => __pbn__guild_primary_color = value;
        }
        public bool ShouldSerializeguild_primary_color() => __pbn__guild_primary_color != null;
        public void Resetguild_primary_color() => __pbn__guild_primary_color = null;
        private uint? __pbn__guild_primary_color;

        [global::ProtoBuf.ProtoMember(6)]
        public uint guild_secondary_color
        {
            get => __pbn__guild_secondary_color.GetValueOrDefault();
            set => __pbn__guild_secondary_color = value;
        }
        public bool ShouldSerializeguild_secondary_color() => __pbn__guild_secondary_color != null;
        public void Resetguild_secondary_color() => __pbn__guild_secondary_color = null;
        private uint? __pbn__guild_secondary_color;

        [global::ProtoBuf.ProtoMember(7)]
        public uint guild_pattern
        {
            get => __pbn__guild_pattern.GetValueOrDefault();
            set => __pbn__guild_pattern = value;
        }
        public bool ShouldSerializeguild_pattern() => __pbn__guild_pattern != null;
        public void Resetguild_pattern() => __pbn__guild_pattern = null;
        private uint? __pbn__guild_pattern;

        [global::ProtoBuf.ProtoMember(8)]
        public uint guild_flags
        {
            get => __pbn__guild_flags.GetValueOrDefault();
            set => __pbn__guild_flags = value;
        }
        public bool ShouldSerializeguild_flags() => __pbn__guild_flags != null;
        public void Resetguild_flags() => __pbn__guild_flags = null;
        private uint? __pbn__guild_flags;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLocalServerFakeLobbyData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<CMsgLobbyEventPoints> event_points { get; } = new global::System.Collections.Generic.List<CMsgLobbyEventPoints>();

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

        [global::ProtoBuf.ProtoMember(5)]
        public uint favorite_team
        {
            get => __pbn__favorite_team.GetValueOrDefault();
            set => __pbn__favorite_team = value;
        }
        public bool ShouldSerializefavorite_team() => __pbn__favorite_team != null;
        public void Resetfavorite_team() => __pbn__favorite_team = null;
        private uint? __pbn__favorite_team;

        [global::ProtoBuf.ProtoMember(6)]
        public uint favorite_team_quality
        {
            get => __pbn__favorite_team_quality.GetValueOrDefault();
            set => __pbn__favorite_team_quality = value;
        }
        public bool ShouldSerializefavorite_team_quality() => __pbn__favorite_team_quality != null;
        public void Resetfavorite_team_quality() => __pbn__favorite_team_quality = null;
        private uint? __pbn__favorite_team_quality;

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

    }

    [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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint 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 CProtoItemTeamShowcase : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

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

        [global::ProtoBuf.ProtoMember(2)]
        public uint 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.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)]
        public uint ability
        {
            get => __pbn__ability.GetValueOrDefault();
            set => __pbn__ability = value;
        }
        public bool ShouldSerializeability() => __pbn__ability != null;
        public void Resetability() => __pbn__ability = null;
        private uint? __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 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(31)]
        public uint custom_stats_1
        {
            get => __pbn__custom_stats_1.GetValueOrDefault();
            set => __pbn__custom_stats_1 = value;
        }
        public bool ShouldSerializecustom_stats_1() => __pbn__custom_stats_1 != null;
        public void Resetcustom_stats_1() => __pbn__custom_stats_1 = null;
        private uint? __pbn__custom_stats_1;

        [global::ProtoBuf.ProtoMember(32)]
        public uint custom_stats_2
        {
            get => __pbn__custom_stats_2.GetValueOrDefault();
            set => __pbn__custom_stats_2 = value;
        }
        public bool ShouldSerializecustom_stats_2() => __pbn__custom_stats_2 != null;
        public void Resetcustom_stats_2() => __pbn__custom_stats_2 = null;
        private uint? __pbn__custom_stats_2;

        [global::ProtoBuf.ProtoMember(33)]
        public uint custom_stats_3
        {
            get => __pbn__custom_stats_3.GetValueOrDefault();
            set => __pbn__custom_stats_3 = value;
        }
        public bool ShouldSerializecustom_stats_3() => __pbn__custom_stats_3 != null;
        public void Resetcustom_stats_3() => __pbn__custom_stats_3 = null;
        private uint? __pbn__custom_stats_3;

        [global::ProtoBuf.ProtoMember(34)]
        public uint custom_stats_4
        {
            get => __pbn__custom_stats_4.GetValueOrDefault();
            set => __pbn__custom_stats_4 = value;
        }
        public bool ShouldSerializecustom_stats_4() => __pbn__custom_stats_4 != null;
        public void Resetcustom_stats_4() => __pbn__custom_stats_4 = null;
        private uint? __pbn__custom_stats_4;

        [global::ProtoBuf.ProtoMember(35)]
        public uint custom_stats_5
        {
            get => __pbn__custom_stats_5.GetValueOrDefault();
            set => __pbn__custom_stats_5 = value;
        }
        public bool ShouldSerializecustom_stats_5() => __pbn__custom_stats_5 != null;
        public void Resetcustom_stats_5() => __pbn__custom_stats_5 = null;
        private uint? __pbn__custom_stats_5;

        [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.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.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<uint> items { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [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.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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class 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 CMsgDOTAProcessFantasyScheduledEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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
        {
            get => __pbn__event.GetValueOrDefault();
            set => __pbn__event = value;
        }
        public bool ShouldSerializeevent() => __pbn__event != null;
        public void Resetevent() => __pbn__event = null;
        private uint? __pbn__event;

        [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 fantasy_league_id
        {
            get => __pbn__fantasy_league_id.GetValueOrDefault();
            set => __pbn__fantasy_league_id = value;
        }
        public bool ShouldSerializefantasy_league_id() => __pbn__fantasy_league_id != null;
        public void Resetfantasy_league_id() => __pbn__fantasy_league_id = null;
        private uint? __pbn__fantasy_league_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint season
        {
            get => __pbn__season.GetValueOrDefault();
            set => __pbn__season = value;
        }
        public bool ShouldSerializeseason() => __pbn__season != null;
        public void Resetseason() => __pbn__season = null;
        private uint? __pbn__season;

        [global::ProtoBuf.ProtoMember(5)]
        public uint reference_data
        {
            get => __pbn__reference_data.GetValueOrDefault();
            set => __pbn__reference_data = value;
        }
        public bool ShouldSerializereference_data() => __pbn__reference_data != null;
        public void Resetreference_data() => __pbn__reference_data = null;
        private uint? __pbn__reference_data;

    }

    [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 CMsgGCIsProQuery : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCIsProResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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_pro
        {
            get => __pbn__is_pro.GetValueOrDefault();
            set => __pbn__is_pro = value;
        }
        public bool ShouldSerializeis_pro() => __pbn__is_pro != null;
        public void Resetis_pro() => __pbn__is_pro = null;
        private bool? __pbn__is_pro;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAHasItemDefsQuery : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<uint> itemdef_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAHasItemDefsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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_items
        {
            get => __pbn__has_items.GetValueOrDefault();
            set => __pbn__has_items = value;
        }
        public bool ShouldSerializehas_items() => __pbn__has_items != null;
        public void Resethas_items() => __pbn__has_items = null;
        private bool? __pbn__has_items;

    }

    [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 CMsgGCToGCFantasySetMatchLeague : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

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

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

    }

    [global::ProtoBuf.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 CCompendiumTimestampedData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CCompendiumGameTimeline : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<CCompendiumTimestampedData> data { get; } = new global::System.Collections.Generic.List<CCompendiumTimestampedData>();

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CCompendiumGameList : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<CCompendiumGameTimeline> games { get; } = new global::System.Collections.Generic.List<CCompendiumGameTimeline>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CAdditionalEquipSlot : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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 class_id
        {
            get => __pbn__class_id.GetValueOrDefault();
            set => __pbn__class_id = value;
        }
        public bool ShouldSerializeclass_id() => __pbn__class_id != null;
        public void Resetclass_id() => __pbn__class_id = null;
        private uint? __pbn__class_id;

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint 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.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(2)]
        public uint background_def_index
        {
            get => __pbn__background_def_index.GetValueOrDefault();
            set => __pbn__background_def_index = value;
        }
        public bool ShouldSerializebackground_def_index() => __pbn__background_def_index != null;
        public void Resetbackground_def_index() => __pbn__background_def_index = null;
        private uint? __pbn__background_def_index;

        [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(5)]
        public uint event_points
        {
            get => __pbn__event_points.GetValueOrDefault();
            set => __pbn__event_points = value;
        }
        public bool ShouldSerializeevent_points() => __pbn__event_points != null;
        public void Resetevent_points() => __pbn__event_points = null;
        private uint? __pbn__event_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(13)]
        public uint previous_rank_tier
        {
            get => __pbn__previous_rank_tier.GetValueOrDefault();
            set => __pbn__previous_rank_tier = value;
        }
        public bool ShouldSerializeprevious_rank_tier() => __pbn__previous_rank_tier != null;
        public void Resetprevious_rank_tier() => __pbn__previous_rank_tier = null;
        private uint? __pbn__previous_rank_tier;

        [global::ProtoBuf.ProtoMember(14)]
        public uint rank_tier_mmr_type
        {
            get => __pbn__rank_tier_mmr_type.GetValueOrDefault();
            set => __pbn__rank_tier_mmr_type = value;
        }
        public bool ShouldSerializerank_tier_mmr_type() => __pbn__rank_tier_mmr_type != null;
        public void Resetrank_tier_mmr_type() => __pbn__rank_tier_mmr_type = null;
        private uint? __pbn__rank_tier_mmr_type;

        [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(21)]
        public uint rank_tier_peak
        {
            get => __pbn__rank_tier_peak.GetValueOrDefault();
            set => __pbn__rank_tier_peak = value;
        }
        public bool ShouldSerializerank_tier_peak() => __pbn__rank_tier_peak != null;
        public void Resetrank_tier_peak() => __pbn__rank_tier_peak = null;
        private uint? __pbn__rank_tier_peak;

        [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.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_CoreRank)]
                public CMsgDOTAProfileCard.EStatID stat_id
                {
                    get => __pbn__stat_id ?? CMsgDOTAProfileCard.EStatID.k_eStat_CoreRank;
                    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 uint hero_id
                {
                    get => __pbn__hero_id.GetValueOrDefault();
                    set => __pbn__hero_id = value;
                }
                public bool ShouldSerializehero_id() => __pbn__hero_id != null;
                public void Resethero_id() => __pbn__hero_id = null;
                private uint? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint 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_CoreRank = 1,
            k_eStat_SupportRank = 2,
            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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class 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)]
            public uint item_ability_id
            {
                get => __pbn__item_ability_id.GetValueOrDefault();
                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 uint? __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)]
            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)]
            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)]
            public uint victimid
            {
                get => __pbn__victimid.GetValueOrDefault();
                set => __pbn__victimid = value;
            }
            public bool ShouldSerializevictimid() => __pbn__victimid != null;
            public void Resetvictimid() => __pbn__victimid = null;
            private uint? __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<uint> id { get; } = new global::System.Collections.Generic.List<uint>();

        }

        [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)]
            public uint playerid
            {
                get => __pbn__playerid.GetValueOrDefault();
                set => __pbn__playerid = value;
            }
            public bool ShouldSerializeplayerid() => __pbn__playerid != null;
            public void Resetplayerid() => __pbn__playerid = null;
            private uint? __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 uint heroid
            {
                get => __pbn__heroid.GetValueOrDefault();
                set => __pbn__heroid = value;
            }
            public bool ShouldSerializeheroid() => __pbn__heroid != null;
            public void Resetheroid() => __pbn__heroid = null;
            private uint? __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.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)]
            public uint player_id
            {
                get => __pbn__player_id.GetValueOrDefault();
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private uint? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(2)]
            public 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)]
            public uint killer_player_id
            {
                get => __pbn__killer_player_id.GetValueOrDefault();
                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 uint? __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)]
            public uint player_id
            {
                get => __pbn__player_id.GetValueOrDefault();
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private uint? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint selected_hero
            {
                get => __pbn__selected_hero.GetValueOrDefault();
                set => __pbn__selected_hero = value;
            }
            public bool ShouldSerializeselected_hero() => __pbn__selected_hero != null;
            public void Resetselected_hero() => __pbn__selected_hero = null;
            private uint? __pbn__selected_hero;

            [global::ProtoBuf.ProtoMember(3)]
            public uint selected_graph
            {
                get => __pbn__selected_graph.GetValueOrDefault();
                set => __pbn__selected_graph = value;
            }
            public bool ShouldSerializeselected_graph() => __pbn__selected_graph != null;
            public void Resetselected_graph() => __pbn__selected_graph = null;
            private uint? __pbn__selected_graph;

        }

        [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 uint hero
            {
                get => __pbn__hero.GetValueOrDefault();
                set => __pbn__hero = value;
            }
            public bool ShouldSerializehero() => __pbn__hero != null;
            public void Resethero() => __pbn__hero = null;
            private uint? __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 matchid
            {
                get => __pbn__matchid.GetValueOrDefault();
                set => __pbn__matchid = value;
            }
            public bool ShouldSerializematchid() => __pbn__matchid != null;
            public void Resetmatchid() => __pbn__matchid = null;
            private ulong? __pbn__matchid;

            [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.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)]
            public uint playerid
            {
                get => __pbn__playerid.GetValueOrDefault();
                set => __pbn__playerid = value;
            }
            public bool ShouldSerializeplayerid() => __pbn__playerid != null;
            public void Resetplayerid() => __pbn__playerid = null;
            private uint? __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 uint heroid
            {
                get => __pbn__heroid.GetValueOrDefault();
                set => __pbn__heroid = value;
            }
            public bool ShouldSerializeheroid() => __pbn__heroid != null;
            public void Resetheroid() => __pbn__heroid = null;
            private uint? __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<uint> abilities { get; } = new global::System.Collections.Generic.List<uint>();

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

        }

        [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 uint hero
            {
                get => __pbn__hero.GetValueOrDefault();
                set => __pbn__hero = value;
            }
            public bool ShouldSerializehero() => __pbn__hero != null;
            public void Resethero() => __pbn__hero = null;
            private uint? __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 matchid
            {
                get => __pbn__matchid.GetValueOrDefault();
                set => __pbn__matchid = value;
            }
            public bool ShouldSerializematchid() => __pbn__matchid != null;
            public void Resetmatchid() => __pbn__matchid = null;
            private ulong? __pbn__matchid;

            [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.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 CMsgDOTASeasonRewards : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<Reward> rewards { get; } = new global::System.Collections.Generic.List<Reward>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Reward : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.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 uint itemdef
            {
                get => __pbn__itemdef.GetValueOrDefault();
                set => __pbn__itemdef = value;
            }
            public bool ShouldSerializeitemdef() => __pbn__itemdef != null;
            public void Resetitemdef() => __pbn__itemdef = null;
            private uint? __pbn__itemdef;

            [global::ProtoBuf.ProtoMember(3)]
            public uint importance
            {
                get => __pbn__importance.GetValueOrDefault();
                set => __pbn__importance = value;
            }
            public bool ShouldSerializeimportance() => __pbn__importance != null;
            public void Resetimportance() => __pbn__importance = null;
            private uint? __pbn__importance;

            [global::ProtoBuf.ProtoMember(4)]
            public uint base_level
            {
                get => __pbn__base_level.GetValueOrDefault();
                set => __pbn__base_level = value;
            }
            public bool ShouldSerializebase_level() => __pbn__base_level != null;
            public void Resetbase_level() => __pbn__base_level = null;
            private uint? __pbn__base_level;

            [global::ProtoBuf.ProtoMember(5)]
            public uint repeat_level
            {
                get => __pbn__repeat_level.GetValueOrDefault();
                set => __pbn__repeat_level = value;
            }
            public bool ShouldSerializerepeat_level() => __pbn__repeat_level != null;
            public void Resetrepeat_level() => __pbn__repeat_level = null;
            private uint? __pbn__repeat_level;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue(CMsgDOTASeasonRewards.ERewardType.EconItem)]
            public CMsgDOTASeasonRewards.ERewardType reward_type
            {
                get => __pbn__reward_type ?? CMsgDOTASeasonRewards.ERewardType.EconItem;
                set => __pbn__reward_type = value;
            }
            public bool ShouldSerializereward_type() => __pbn__reward_type != null;
            public void Resetreward_type() => __pbn__reward_type = null;
            private CMsgDOTASeasonRewards.ERewardType? __pbn__reward_type;

            [global::ProtoBuf.ProtoMember(7)]
            [global::System.ComponentModel.DefaultValue("")]
            public string image
            {
                get => __pbn__image ?? "";
                set => __pbn__image = value;
            }
            public bool ShouldSerializeimage() => __pbn__image != null;
            public void Resetimage() => __pbn__image = null;
            private string __pbn__image;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public enum ERewardType
        {
            EconItem = 0,
            MysteryWheel = 1,
            AbilityEffect = 2,
            Other = 3,
            MysteryWheelPointsBased = 4,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTASeasonAchievements : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __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<Achievement> achievements { get; } = new global::System.Collections.Generic.List<Achievement>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Achievement : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.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 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)]
            [global::System.ComponentModel.DefaultValue("")]
            public string image
            {
                get => __pbn__image ?? "";
                set => __pbn__image = value;
            }
            public bool ShouldSerializeimage() => __pbn__image != null;
            public void Resetimage() => __pbn__image = null;
            private string __pbn__image;

            [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 uint max_grants
            {
                get => __pbn__max_grants.GetValueOrDefault();
                set => __pbn__max_grants = value;
            }
            public bool ShouldSerializemax_grants() => __pbn__max_grants != null;
            public void Resetmax_grants() => __pbn__max_grants = null;
            private uint? __pbn__max_grants;

            [global::ProtoBuf.ProtoMember(6)]
            public uint normal_points
            {
                get => __pbn__normal_points.GetValueOrDefault();
                set => __pbn__normal_points = value;
            }
            public bool ShouldSerializenormal_points() => __pbn__normal_points != null;
            public void Resetnormal_points() => __pbn__normal_points = null;
            private uint? __pbn__normal_points;

            [global::ProtoBuf.ProtoMember(7)]
            public uint tracking_achievement
            {
                get => __pbn__tracking_achievement.GetValueOrDefault();
                set => __pbn__tracking_achievement = value;
            }
            public bool ShouldSerializetracking_achievement() => __pbn__tracking_achievement != null;
            public void Resettracking_achievement() => __pbn__tracking_achievement = null;
            private uint? __pbn__tracking_achievement;

            [global::ProtoBuf.ProtoMember(8)]
            public uint achievement_goal
            {
                get => __pbn__achievement_goal.GetValueOrDefault();
                set => __pbn__achievement_goal = value;
            }
            public bool ShouldSerializeachievement_goal() => __pbn__achievement_goal != null;
            public void Resetachievement_goal() => __pbn__achievement_goal = null;
            private uint? __pbn__achievement_goal;

            [global::ProtoBuf.ProtoMember(9)]
            public uint achievement_level
            {
                get => __pbn__achievement_level.GetValueOrDefault();
                set => __pbn__achievement_level = value;
            }
            public bool ShouldSerializeachievement_level() => __pbn__achievement_level != null;
            public void Resetachievement_level() => __pbn__achievement_level = null;
            private uint? __pbn__achievement_level;

        }

    }

    [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<InGamePrediction> in_game_predictions { get; } = new global::System.Collections.Generic.List<InGamePrediction>();

        [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 Choice : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 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 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 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(CMsgDOTASeasonPredictions.ePredictionType.Generic)]
            public CMsgDOTASeasonPredictions.ePredictionType type
            {
                get => __pbn__type ?? CMsgDOTASeasonPredictions.ePredictionType.Generic;
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private CMsgDOTASeasonPredictions.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<CMsgDOTASeasonPredictions.Choice> choices { get; } = new global::System.Collections.Generic.List<CMsgDOTASeasonPredictions.Choice>();

            [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(CMsgDOTASeasonPredictions.eAnswerType.SingleInt)]
            public CMsgDOTASeasonPredictions.eAnswerType answer_type
            {
                get => __pbn__answer_type ?? CMsgDOTASeasonPredictions.eAnswerType.SingleInt;
                set => __pbn__answer_type = value;
            }
            public bool ShouldSerializeanswer_type() => __pbn__answer_type != null;
            public void Resetanswer_type() => __pbn__answer_type = null;
            private CMsgDOTASeasonPredictions.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<CMsgDOTASeasonPredictions.Answers> answers { get; } = new global::System.Collections.Generic.List<CMsgDOTASeasonPredictions.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.ProtoContract()]
        public partial class InGamePrediction : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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(CMsgDOTASeasonPredictions.ePredictionType.Generic)]
            public CMsgDOTASeasonPredictions.ePredictionType type
            {
                get => __pbn__type ?? CMsgDOTASeasonPredictions.ePredictionType.Generic;
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private CMsgDOTASeasonPredictions.ePredictionType? __pbn__type;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(CMsgDOTASeasonPredictions.eRandomSelectionGroup_t.EarlyGame)]
            public CMsgDOTASeasonPredictions.eRandomSelectionGroup_t group
            {
                get => __pbn__group ?? CMsgDOTASeasonPredictions.eRandomSelectionGroup_t.EarlyGame;
                set => __pbn__group = value;
            }
            public bool ShouldSerializegroup() => __pbn__group != null;
            public void Resetgroup() => __pbn__group = null;
            private CMsgDOTASeasonPredictions.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<CMsgDOTASeasonPredictions.Choice> choices { get; } = new global::System.Collections.Generic.List<CMsgDOTASeasonPredictions.Choice>();

            [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<CMsgDOTASeasonPredictions.QueryKeyValues> query_values { get; } = new global::System.Collections.Generic.List<CMsgDOTASeasonPredictions.QueryKeyValues>();

            [global::ProtoBuf.ProtoMember(10)]
            [global::System.ComponentModel.DefaultValue(CMsgDOTASeasonPredictions.eResolutionType_t.InvalidQuery)]
            public CMsgDOTASeasonPredictions.eResolutionType_t answer_resolution_type
            {
                get => __pbn__answer_resolution_type ?? CMsgDOTASeasonPredictions.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 CMsgDOTASeasonPredictions.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(CMsgDOTASeasonPredictions.eRawValueType_t.Number)]
            public CMsgDOTASeasonPredictions.eRawValueType_t raw_value_type
            {
                get => __pbn__raw_value_type ?? CMsgDOTASeasonPredictions.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 CMsgDOTASeasonPredictions.eRawValueType_t? __pbn__raw_value_type;

        }

        [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 eAnswerType
        {
            SingleInt = 0,
            SingleFloat = 1,
            MultipleInt = 2,
            MultipleFloat = 3,
            AnswerTeam = 4,
            SingleTime = 5,
            MultipleTime = 6,
            NoAnswer = 7,
        }

        [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 enum eRawValueType_t
        {
            Number = 0,
            Time = 1,
        }

    }

    [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(29)]
        public uint positive_votes
        {
            get => __pbn__positive_votes.GetValueOrDefault();
            set => __pbn__positive_votes = value;
        }
        public bool ShouldSerializepositive_votes() => __pbn__positive_votes != null;
        public void Resetpositive_votes() => __pbn__positive_votes = null;
        private uint? __pbn__positive_votes;

        [global::ProtoBuf.ProtoMember(30)]
        public uint negative_votes
        {
            get => __pbn__negative_votes.GetValueOrDefault();
            set => __pbn__negative_votes = value;
        }
        public bool ShouldSerializenegative_votes() => __pbn__negative_votes != null;
        public void Resetnegative_votes() => __pbn__negative_votes = null;
        private uint? __pbn__negative_votes;

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

        [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 uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint item_0
            {
                get => __pbn__item_0.GetValueOrDefault();
                set => __pbn__item_0 = value;
            }
            public bool ShouldSerializeitem_0() => __pbn__item_0 != null;
            public void Resetitem_0() => __pbn__item_0 = null;
            private uint? __pbn__item_0;

            [global::ProtoBuf.ProtoMember(5)]
            public uint item_1
            {
                get => __pbn__item_1.GetValueOrDefault();
                set => __pbn__item_1 = value;
            }
            public bool ShouldSerializeitem_1() => __pbn__item_1 != null;
            public void Resetitem_1() => __pbn__item_1 = null;
            private uint? __pbn__item_1;

            [global::ProtoBuf.ProtoMember(6)]
            public uint item_2
            {
                get => __pbn__item_2.GetValueOrDefault();
                set => __pbn__item_2 = value;
            }
            public bool ShouldSerializeitem_2() => __pbn__item_2 != null;
            public void Resetitem_2() => __pbn__item_2 = null;
            private uint? __pbn__item_2;

            [global::ProtoBuf.ProtoMember(7)]
            public uint item_3
            {
                get => __pbn__item_3.GetValueOrDefault();
                set => __pbn__item_3 = value;
            }
            public bool ShouldSerializeitem_3() => __pbn__item_3 != null;
            public void Resetitem_3() => __pbn__item_3 = null;
            private uint? __pbn__item_3;

            [global::ProtoBuf.ProtoMember(8)]
            public uint item_4
            {
                get => __pbn__item_4.GetValueOrDefault();
                set => __pbn__item_4 = value;
            }
            public bool ShouldSerializeitem_4() => __pbn__item_4 != null;
            public void Resetitem_4() => __pbn__item_4 = null;
            private uint? __pbn__item_4;

            [global::ProtoBuf.ProtoMember(9)]
            public uint item_5
            {
                get => __pbn__item_5.GetValueOrDefault();
                set => __pbn__item_5 = value;
            }
            public bool ShouldSerializeitem_5() => __pbn__item_5 != null;
            public void Resetitem_5() => __pbn__item_5 = null;
            private uint? __pbn__item_5;

            [global::ProtoBuf.ProtoMember(59)]
            public uint item_6
            {
                get => __pbn__item_6.GetValueOrDefault();
                set => __pbn__item_6 = value;
            }
            public bool ShouldSerializeitem_6() => __pbn__item_6 != null;
            public void Resetitem_6() => __pbn__item_6 = null;
            private uint? __pbn__item_6;

            [global::ProtoBuf.ProtoMember(60)]
            public uint item_7
            {
                get => __pbn__item_7.GetValueOrDefault();
                set => __pbn__item_7 = value;
            }
            public bool ShouldSerializeitem_7() => __pbn__item_7 != null;
            public void Resetitem_7() => __pbn__item_7 = null;
            private uint? __pbn__item_7;

            [global::ProtoBuf.ProtoMember(61)]
            public uint item_8
            {
                get => __pbn__item_8.GetValueOrDefault();
                set => __pbn__item_8 = value;
            }
            public bool ShouldSerializeitem_8() => __pbn__item_8 != null;
            public void Resetitem_8() => __pbn__item_8 = null;
            private uint? __pbn__item_8;

            [global::ProtoBuf.ProtoMember(76)]
            public uint item_9
            {
                get => __pbn__item_9.GetValueOrDefault();
                set => __pbn__item_9 = value;
            }
            public bool ShouldSerializeitem_9() => __pbn__item_9 != null;
            public void Resetitem_9() => __pbn__item_9 = null;
            private uint? __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(66)]
            public bool rank_tier_updated
            {
                get => __pbn__rank_tier_updated.GetValueOrDefault();
                set => __pbn__rank_tier_updated = value;
            }
            public bool ShouldSerializerank_tier_updated() => __pbn__rank_tier_updated != null;
            public void Resetrank_tier_updated() => __pbn__rank_tier_updated = null;
            private bool? __pbn__rank_tier_updated;

            [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(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.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.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.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)]
            public uint player_owner_id
            {
                get => __pbn__player_owner_id.GetValueOrDefault();
                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 uint? __pbn__player_owner_id;

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

            [global::ProtoBuf.ProtoMember(3)]
            public uint 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)]
                public uint target_entity
                {
                    get => __pbn__target_entity.GetValueOrDefault();
                    set => __pbn__target_entity = value;
                }
                public bool ShouldSerializetarget_entity() => __pbn__target_entity != null;
                public void Resettarget_entity() => __pbn__target_entity = null;
                private uint? __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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

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

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

            [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.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 Grant : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __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 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 uint audit
            {
                get => __pbn__audit.GetValueOrDefault();
                set => __pbn__audit = value;
            }
            public bool ShouldSerializeaudit() => __pbn__audit != null;
            public void Resetaudit() => __pbn__audit = null;
            private uint? __pbn__audit;

            [global::ProtoBuf.ProtoMember(4)]
            public uint quantity
            {
                get => __pbn__quantity.GetValueOrDefault();
                set => __pbn__quantity = value;
            }
            public bool ShouldSerializequantity() => __pbn__quantity != null;
            public void Resetquantity() => __pbn__quantity = null;
            private uint? __pbn__quantity;

        }

        [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(2)]
            public global::System.Collections.Generic.List<CMsgMatchEventActionGrants.Grant> actions_granted_old { get; } = new global::System.Collections.Generic.List<CMsgMatchEventActionGrants.Grant>();

            [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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(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 CMsgRequestPlayerRecentAccomplishments : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgRequestPlayerRecentAccomplishmentsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.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 uint hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private uint? __pbn__hero_id;

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

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

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class 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 uint hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private uint? __pbn__hero_id;

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

            [global::ProtoBuf.ProtoMember(3)]
            public 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 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 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,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
