// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: source2_steam_stats.proto

#include "source2_steam_stats.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

PROTOBUF_CONSTEXPR CMsgSource2SystemSpecs::CMsgSource2SystemSpecs(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.cpu_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cpu_brand_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.gpu_rendersystem_dll_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.gpu_driver_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.cpu_model_)*/0u
  , /*decltype(_impl_.cpu_num_physical_)*/0u
  , /*decltype(_impl_.ram_physical_total_mb_)*/0u
  , /*decltype(_impl_.gpu_vendor_id_)*/0u
  , /*decltype(_impl_.gpu_driver_version_high_)*/0u
  , /*decltype(_impl_.gpu_driver_version_low_)*/0u
  , /*decltype(_impl_.gpu_dx_support_level_)*/0u
  , /*decltype(_impl_.gpu_texture_memory_size_mb_)*/0u
  , /*decltype(_impl_.backbuffer_width_)*/0u
  , /*decltype(_impl_.backbuffer_height_)*/0u} {}
struct CMsgSource2SystemSpecsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2SystemSpecsDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2SystemSpecsDefaultTypeInternal() {}
  union {
    CMsgSource2SystemSpecs _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2SystemSpecsDefaultTypeInternal _CMsgSource2SystemSpecs_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReportItem::CMsgSource2VProfLiteReportItem(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.active_samples_)*/0u
  , /*decltype(_impl_.usec_max_)*/0u
  , /*decltype(_impl_.active_samples_1secmax_)*/0u
  , /*decltype(_impl_.usec_avg_active_)*/0u
  , /*decltype(_impl_.usec_p50_active_)*/0u
  , /*decltype(_impl_.usec_p99_active_)*/0u
  , /*decltype(_impl_.usec_avg_all_)*/0u
  , /*decltype(_impl_.usec_p50_all_)*/0u
  , /*decltype(_impl_.usec_p99_all_)*/0u
  , /*decltype(_impl_.usec_1secmax_avg_active_)*/0u
  , /*decltype(_impl_.usec_1secmax_p50_active_)*/0u
  , /*decltype(_impl_.usec_1secmax_p95_active_)*/0u
  , /*decltype(_impl_.usec_1secmax_p99_active_)*/0u
  , /*decltype(_impl_.usec_1secmax_avg_all_)*/0u
  , /*decltype(_impl_.usec_1secmax_p50_all_)*/0u
  , /*decltype(_impl_.usec_1secmax_p95_all_)*/0u
  , /*decltype(_impl_.usec_1secmax_p99_all_)*/0u} {}
struct CMsgSource2VProfLiteReportItemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReportItemDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2VProfLiteReportItemDefaultTypeInternal() {}
  union {
    CMsgSource2VProfLiteReportItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2VProfLiteReportItemDefaultTypeInternal _CMsgSource2VProfLiteReportItem_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReport::CMsgSource2VProfLiteReport(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.items_)*/{}
  , /*decltype(_impl_.total_)*/nullptr
  , /*decltype(_impl_.discarded_frames_)*/0u} {}
struct CMsgSource2VProfLiteReportDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReportDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2VProfLiteReportDefaultTypeInternal() {}
  union {
    CMsgSource2VProfLiteReport _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2VProfLiteReportDefaultTypeInternal _CMsgSource2VProfLiteReport_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2NetworkFlowQuality::CMsgSource2NetworkFlowQuality(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.bytes_total_)*/uint64_t{0u}
  , /*decltype(_impl_.duration_)*/0u
  , /*decltype(_impl_.bytes_sec_p95_)*/0u
  , /*decltype(_impl_.bytes_total_reliable_)*/uint64_t{0u}
  , /*decltype(_impl_.bytes_total_voice_)*/uint64_t{0u}
  , /*decltype(_impl_.bytes_sec_p99_)*/0u
  , /*decltype(_impl_.enginemsgs_total_)*/0u
  , /*decltype(_impl_.enginemsgs_sec_p95_)*/0u
  , /*decltype(_impl_.enginemsgs_sec_p99_)*/0u
  , /*decltype(_impl_.netframes_total_)*/0u
  , /*decltype(_impl_.netframes_dropped_)*/0u
  , /*decltype(_impl_.netframes_outoforder_)*/0u
  , /*decltype(_impl_.netframes_size_exceeds_mtu_)*/0u
  , /*decltype(_impl_.netframes_size_p95_)*/0u
  , /*decltype(_impl_.netframes_size_p99_)*/0u
  , /*decltype(_impl_.ticks_total_)*/0u
  , /*decltype(_impl_.ticks_good_)*/0u
  , /*decltype(_impl_.ticks_good_almost_late_)*/0u
  , /*decltype(_impl_.ticks_fixed_dropped_)*/0u
  , /*decltype(_impl_.ticks_fixed_late_)*/0u
  , /*decltype(_impl_.ticks_bad_dropped_)*/0u
  , /*decltype(_impl_.ticks_bad_late_)*/0u
  , /*decltype(_impl_.ticks_bad_other_)*/0u
  , /*decltype(_impl_.tick_missrate_samples_total_)*/0u
  , /*decltype(_impl_.tick_missrate_samples_perfect_)*/0u
  , /*decltype(_impl_.tick_missrate_samples_perfectnet_)*/0u
  , /*decltype(_impl_.tick_missratenet_p75_x10_)*/0u
  , /*decltype(_impl_.tick_missratenet_p95_x10_)*/0u
  , /*decltype(_impl_.tick_missratenet_p99_x10_)*/0u
  , /*decltype(_impl_.recvmargin_p1_)*/0
  , /*decltype(_impl_.recvmargin_p5_)*/0
  , /*decltype(_impl_.recvmargin_p25_)*/0
  , /*decltype(_impl_.recvmargin_p50_)*/0
  , /*decltype(_impl_.recvmargin_p75_)*/0
  , /*decltype(_impl_.recvmargin_p95_)*/0
  , /*decltype(_impl_.netframe_jitter_p50_)*/0u
  , /*decltype(_impl_.netframe_jitter_p99_)*/0u
  , /*decltype(_impl_.interval_peakjitter_p50_)*/0u
  , /*decltype(_impl_.interval_peakjitter_p95_)*/0u
  , /*decltype(_impl_.packet_misdelivery_rate_p50_x4_)*/0u
  , /*decltype(_impl_.packet_misdelivery_rate_p95_x4_)*/0u
  , /*decltype(_impl_.net_ping_p5_)*/0u
  , /*decltype(_impl_.net_ping_p50_)*/0u
  , /*decltype(_impl_.net_ping_p95_)*/0u} {}
struct CMsgSource2NetworkFlowQualityDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2NetworkFlowQualityDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2NetworkFlowQualityDefaultTypeInternal() {}
  union {
    CMsgSource2NetworkFlowQuality _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2NetworkFlowQualityDefaultTypeInternal _CMsgSource2NetworkFlowQuality_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSample_Tag::CMsgSource2PerfIntervalSample_Tag(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.tag_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.max_value_)*/0u} {}
struct CMsgSource2PerfIntervalSample_TagDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSample_TagDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2PerfIntervalSample_TagDefaultTypeInternal() {}
  union {
    CMsgSource2PerfIntervalSample_Tag _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2PerfIntervalSample_TagDefaultTypeInternal _CMsgSource2PerfIntervalSample_Tag_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSample::CMsgSource2PerfIntervalSample(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.tags_)*/{}
  , /*decltype(_impl_.frame_time_max_ms_)*/0
  , /*decltype(_impl_.frame_time_avg_ms_)*/0
  , /*decltype(_impl_.frame_time_min_ms_)*/0
  , /*decltype(_impl_.frame_count_)*/0
  , /*decltype(_impl_.frame_time_total_ms_)*/0} {}
struct CMsgSource2PerfIntervalSampleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSampleDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2PerfIntervalSampleDefaultTypeInternal() {}
  union {
    CMsgSource2PerfIntervalSample _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2PerfIntervalSampleDefaultTypeInternal _CMsgSource2PerfIntervalSample_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_Notification_Client::CSource2Metrics_MatchPerfSummary_Notification_Client(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.perf_samples_)*/{}
  , /*decltype(_impl_.system_specs_)*/nullptr
  , /*decltype(_impl_.profile_)*/nullptr
  , /*decltype(_impl_.downstream_flow_)*/nullptr
  , /*decltype(_impl_.upstream_flow_)*/nullptr
  , /*decltype(_impl_.steamid_)*/uint64_t{0u}
  , /*decltype(_impl_.build_id_)*/0u} {}
struct CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal() {}
  union {
    CSource2Metrics_MatchPerfSummary_Notification_Client _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal _CSource2Metrics_MatchPerfSummary_Notification_Client_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_Notification::CSource2Metrics_MatchPerfSummary_Notification(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.clients_)*/{}
  , /*decltype(_impl_.game_mode_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.map_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.server_profile_)*/nullptr
  , /*decltype(_impl_.appid_)*/0u
  , /*decltype(_impl_.server_build_id_)*/0u
  , /*decltype(_impl_.server_popid_)*/0u} {}
struct CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal() {}
  union {
    CSource2Metrics_MatchPerfSummary_Notification _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal _CSource2Metrics_MatchPerfSummary_Notification_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordList_FieldDef::CMsgSource2PlayStatsPackedRecordList_FieldDef(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.field_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.field_type_)*/0} {}
struct CMsgSource2PlayStatsPackedRecordList_FieldDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordList_FieldDefDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2PlayStatsPackedRecordList_FieldDefDefaultTypeInternal() {}
  union {
    CMsgSource2PlayStatsPackedRecordList_FieldDef _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2PlayStatsPackedRecordList_FieldDefDefaultTypeInternal _CMsgSource2PlayStatsPackedRecordList_FieldDef_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordList_SteamIDList::CMsgSource2PlayStatsPackedRecordList_SteamIDList(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.steamid_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CMsgSource2PlayStatsPackedRecordList_SteamIDListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordList_SteamIDListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2PlayStatsPackedRecordList_SteamIDListDefaultTypeInternal() {}
  union {
    CMsgSource2PlayStatsPackedRecordList_SteamIDList _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2PlayStatsPackedRecordList_SteamIDListDefaultTypeInternal _CMsgSource2PlayStatsPackedRecordList_SteamIDList_default_instance_;
PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordList::CMsgSource2PlayStatsPackedRecordList(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.field_defs_)*/{}
  , /*decltype(_impl_.uint64_vals_)*/{}
  , /*decltype(_impl_._uint64_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.uint32_vals_)*/{}
  , /*decltype(_impl_._uint32_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.uint16_vals_)*/{}
  , /*decltype(_impl_._uint16_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.uint8_vals_)*/{}
  , /*decltype(_impl_._uint8_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.int64_vals_)*/{}
  , /*decltype(_impl_._int64_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.int32_vals_)*/{}
  , /*decltype(_impl_._int32_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.int16_vals_)*/{}
  , /*decltype(_impl_._int16_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.int8_vals_)*/{}
  , /*decltype(_impl_._int8_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.float64_vals_)*/{}
  , /*decltype(_impl_.float32_vals_)*/{}
  , /*decltype(_impl_.bool_vals_)*/{}
  , /*decltype(_impl_.string_vals_)*/{}
  , /*decltype(_impl_.low_cardinality_string_vals_)*/{}
  , /*decltype(_impl_.utcdatetime_vals_)*/{}
  , /*decltype(_impl_.steamidtrustbucket_vals_)*/{}
  , /*decltype(_impl_.trustbucket_vals_)*/{}
  , /*decltype(_impl_.steamid_vals_)*/{}
  , /*decltype(_impl_._steamid_vals_cached_byte_size_)*/{0}
  , /*decltype(_impl_.record_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.record_count_)*/0u} {}
struct CMsgSource2PlayStatsPackedRecordListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgSource2PlayStatsPackedRecordListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgSource2PlayStatsPackedRecordListDefaultTypeInternal() {}
  union {
    CMsgSource2PlayStatsPackedRecordList _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgSource2PlayStatsPackedRecordListDefaultTypeInternal _CMsgSource2PlayStatsPackedRecordList_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_RecordPlayStats_Notification::CSource2Metrics_RecordPlayStats_Notification(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.record_types_)*/{}
  , /*decltype(_impl_.appid_)*/0u} {}
struct CSource2Metrics_RecordPlayStats_NotificationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_RecordPlayStats_NotificationDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_RecordPlayStats_NotificationDefaultTypeInternal() {}
  union {
    CSource2Metrics_RecordPlayStats_Notification _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_RecordPlayStats_NotificationDefaultTypeInternal _CSource2Metrics_RecordPlayStats_Notification_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_Request::CSource2Metrics_FetchMapData_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.map_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.param_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.appid_)*/0u
  , /*decltype(_impl_.game_type_)*/0u
  , /*decltype(_impl_.game_mode_)*/0u
  , /*decltype(_impl_.time_span_)*/0u} {}
struct CSource2Metrics_FetchMapData_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_FetchMapData_RequestDefaultTypeInternal() {}
  union {
    CSource2Metrics_FetchMapData_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_FetchMapData_RequestDefaultTypeInternal _CSource2Metrics_FetchMapData_Request_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_Response_MapData::CSource2Metrics_FetchMapData_Response_MapData(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.type_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CSource2Metrics_FetchMapData_Response_MapDataDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_Response_MapDataDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_FetchMapData_Response_MapDataDefaultTypeInternal() {}
  union {
    CSource2Metrics_FetchMapData_Response_MapData _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_FetchMapData_Response_MapDataDefaultTypeInternal _CSource2Metrics_FetchMapData_Response_MapData_default_instance_;
PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_Response::CSource2Metrics_FetchMapData_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.results_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}} {}
struct CSource2Metrics_FetchMapData_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CSource2Metrics_FetchMapData_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CSource2Metrics_FetchMapData_ResponseDefaultTypeInternal() {}
  union {
    CSource2Metrics_FetchMapData_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CSource2Metrics_FetchMapData_ResponseDefaultTypeInternal _CSource2Metrics_FetchMapData_Response_default_instance_;
PROTOBUF_CONSTEXPR CUserMessage_UserSentBugBug::CUserMessage_UserSentBugBug(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.command_line_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.autoexec_cfg_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.command_logs_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.system_specs_)*/nullptr
  , /*decltype(_impl_.build_id_)*/0u
  , /*decltype(_impl_.osversion_)*/0
  , /*decltype(_impl_.bugbug_no_)*/0} {}
struct CUserMessage_UserSentBugBugDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CUserMessage_UserSentBugBugDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CUserMessage_UserSentBugBugDefaultTypeInternal() {}
  union {
    CUserMessage_UserSentBugBug _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CUserMessage_UserSentBugBugDefaultTypeInternal _CUserMessage_UserSentBugBug_default_instance_;
static ::_pb::Metadata file_level_metadata_source2_5fsteam_5fstats_2eproto[16];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_source2_5fsteam_5fstats_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_source2_5fsteam_5fstats_2eproto = nullptr;

const uint32_t TableStruct_source2_5fsteam_5fstats_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.cpu_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.cpu_brand_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.cpu_model_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.cpu_num_physical_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.ram_physical_total_mb_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_rendersystem_dll_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_vendor_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_driver_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_driver_version_high_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_driver_version_low_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_dx_support_level_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.gpu_texture_memory_size_mb_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.backbuffer_width_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2SystemSpecs, _impl_.backbuffer_height_),
  0,
  1,
  4,
  5,
  6,
  2,
  7,
  3,
  8,
  9,
  10,
  11,
  12,
  13,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.active_samples_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.active_samples_1secmax_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_max_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_avg_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_p50_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_p99_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_avg_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_p50_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_p99_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_avg_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p50_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p95_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p99_active_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_avg_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p50_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p95_all_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p99_all_),
  0,
  1,
  3,
  2,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16,
  17,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReport, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReport, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReport, _impl_.total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReport, _impl_.items_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2VProfLiteReport, _impl_.discarded_frames_),
  0,
  ~0u,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.duration_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.bytes_total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.bytes_total_reliable_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.bytes_total_voice_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.bytes_sec_p95_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.bytes_sec_p99_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.enginemsgs_total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.enginemsgs_sec_p95_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.enginemsgs_sec_p99_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_dropped_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_outoforder_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_size_exceeds_mtu_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_size_p95_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframes_size_p99_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_good_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_good_almost_late_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_fixed_dropped_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_fixed_late_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_bad_dropped_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_bad_late_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.ticks_bad_other_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missrate_samples_total_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missrate_samples_perfect_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missrate_samples_perfectnet_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missratenet_p75_x10_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missratenet_p95_x10_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.tick_missratenet_p99_x10_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p1_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p5_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p25_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p50_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p75_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.recvmargin_p95_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframe_jitter_p50_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.netframe_jitter_p99_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.interval_peakjitter_p50_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.interval_peakjitter_p95_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.packet_misdelivery_rate_p50_x4_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.packet_misdelivery_rate_p95_x4_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.net_ping_p5_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.net_ping_p50_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2NetworkFlowQuality, _impl_.net_ping_p95_),
  1,
  0,
  3,
  4,
  2,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16,
  17,
  18,
  19,
  20,
  21,
  22,
  23,
  24,
  25,
  26,
  27,
  28,
  29,
  30,
  31,
  32,
  33,
  34,
  35,
  36,
  37,
  38,
  39,
  40,
  41,
  42,
  43,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample_Tag, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample_Tag, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample_Tag, _impl_.tag_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample_Tag, _impl_.max_value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.frame_time_max_ms_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.frame_time_avg_ms_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.frame_time_min_ms_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.frame_count_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.frame_time_total_ms_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PerfIntervalSample, _impl_.tags_),
  0,
  1,
  2,
  3,
  4,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.system_specs_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.profile_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.build_id_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.downstream_flow_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.upstream_flow_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.steamid_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.perf_samples_),
  0,
  1,
  5,
  2,
  3,
  4,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.game_mode_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.server_build_id_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.server_popid_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.server_profile_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.clients_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_MatchPerfSummary_Notification, _impl_.map_),
  3,
  0,
  4,
  5,
  2,
  ~0u,
  1,
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_FieldDef, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_FieldDef, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_FieldDef, _impl_.field_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_FieldDef, _impl_.field_type_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_SteamIDList, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList_SteamIDList, _impl_.steamid_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.record_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.field_defs_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.record_count_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.uint64_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.uint32_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.uint16_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.uint8_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.int64_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.int32_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.int16_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.int8_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.float64_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.float32_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.bool_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.string_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.low_cardinality_string_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.utcdatetime_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.steamidtrustbucket_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.trustbucket_vals_),
  PROTOBUF_FIELD_OFFSET(::CMsgSource2PlayStatsPackedRecordList, _impl_.steamid_vals_),
  0,
  ~0u,
  1,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_RecordPlayStats_Notification, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_RecordPlayStats_Notification, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_RecordPlayStats_Notification, _impl_.record_types_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_RecordPlayStats_Notification, _impl_.appid_),
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.map_name_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.game_type_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.game_mode_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.param_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Request, _impl_.time_span_),
  2,
  0,
  3,
  4,
  1,
  5,
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response_MapData, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response_MapData, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response_MapData, _impl_.name_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response_MapData, _impl_.type_),
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response_MapData, _impl_.data_),
  0,
  1,
  2,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CSource2Metrics_FetchMapData_Response, _impl_.results_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.command_line_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.autoexec_cfg_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.system_specs_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.build_id_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.osversion_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.command_logs_),
  PROTOBUF_FIELD_OFFSET(::CUserMessage_UserSentBugBug, _impl_.bugbug_no_),
  0,
  1,
  3,
  4,
  5,
  2,
  6,
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 20, -1, sizeof(::CMsgSource2SystemSpecs)},
  { 34, 58, -1, sizeof(::CMsgSource2VProfLiteReportItem)},
  { 76, 85, -1, sizeof(::CMsgSource2VProfLiteReport)},
  { 88, 138, -1, sizeof(::CMsgSource2NetworkFlowQuality)},
  { 182, 190, -1, sizeof(::CMsgSource2PerfIntervalSample_Tag)},
  { 192, 204, -1, sizeof(::CMsgSource2PerfIntervalSample)},
  { 210, 223, -1, sizeof(::CSource2Metrics_MatchPerfSummary_Notification_Client)},
  { 230, 243, -1, sizeof(::CSource2Metrics_MatchPerfSummary_Notification)},
  { 250, 258, -1, sizeof(::CMsgSource2PlayStatsPackedRecordList_FieldDef)},
  { 260, -1, -1, sizeof(::CMsgSource2PlayStatsPackedRecordList_SteamIDList)},
  { 267, 293, -1, sizeof(::CMsgSource2PlayStatsPackedRecordList)},
  { 313, 321, -1, sizeof(::CSource2Metrics_RecordPlayStats_Notification)},
  { 323, 335, -1, sizeof(::CSource2Metrics_FetchMapData_Request)},
  { 341, 350, -1, sizeof(::CSource2Metrics_FetchMapData_Response_MapData)},
  { 353, -1, -1, sizeof(::CSource2Metrics_FetchMapData_Response)},
  { 360, 373, -1, sizeof(::CUserMessage_UserSentBugBug)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::_CMsgSource2SystemSpecs_default_instance_._instance,
  &::_CMsgSource2VProfLiteReportItem_default_instance_._instance,
  &::_CMsgSource2VProfLiteReport_default_instance_._instance,
  &::_CMsgSource2NetworkFlowQuality_default_instance_._instance,
  &::_CMsgSource2PerfIntervalSample_Tag_default_instance_._instance,
  &::_CMsgSource2PerfIntervalSample_default_instance_._instance,
  &::_CSource2Metrics_MatchPerfSummary_Notification_Client_default_instance_._instance,
  &::_CSource2Metrics_MatchPerfSummary_Notification_default_instance_._instance,
  &::_CMsgSource2PlayStatsPackedRecordList_FieldDef_default_instance_._instance,
  &::_CMsgSource2PlayStatsPackedRecordList_SteamIDList_default_instance_._instance,
  &::_CMsgSource2PlayStatsPackedRecordList_default_instance_._instance,
  &::_CSource2Metrics_RecordPlayStats_Notification_default_instance_._instance,
  &::_CSource2Metrics_FetchMapData_Request_default_instance_._instance,
  &::_CSource2Metrics_FetchMapData_Response_MapData_default_instance_._instance,
  &::_CSource2Metrics_FetchMapData_Response_default_instance_._instance,
  &::_CUserMessage_UserSentBugBug_default_instance_._instance,
};

const char descriptor_table_protodef_source2_5fsteam_5fstats_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\031source2_steam_stats.proto\"\222\003\n\026CMsgSour"
  "ce2SystemSpecs\022\016\n\006cpu_id\030\001 \001(\t\022\021\n\tcpu_br"
  "and\030\002 \001(\t\022\021\n\tcpu_model\030\003 \001(\r\022\030\n\020cpu_num_"
  "physical\030\004 \001(\r\022\035\n\025ram_physical_total_mb\030"
  "\025 \001(\r\022!\n\031gpu_rendersystem_dll_name\030) \001(\t"
  "\022\025\n\rgpu_vendor_id\030* \001(\r\022\027\n\017gpu_driver_na"
  "me\030+ \001(\t\022\037\n\027gpu_driver_version_high\030, \001("
  "\r\022\036\n\026gpu_driver_version_low\030- \001(\r\022\034\n\024gpu"
  "_dx_support_level\030. \001(\r\022\"\n\032gpu_texture_m"
  "emory_size_mb\030/ \001(\r\022\030\n\020backbuffer_width\030"
  "3 \001(\r\022\031\n\021backbuffer_height\0304 \001(\r\"\201\004\n\036CMs"
  "gSource2VProfLiteReportItem\022\014\n\004name\030\001 \001("
  "\t\022\026\n\016active_samples\030\002 \001(\r\022\036\n\026active_samp"
  "les_1secmax\030\004 \001(\r\022\020\n\010usec_max\030\003 \001(\r\022\027\n\017u"
  "sec_avg_active\030\013 \001(\r\022\027\n\017usec_p50_active\030"
  "\014 \001(\r\022\027\n\017usec_p99_active\030\r \001(\r\022\024\n\014usec_a"
  "vg_all\030\025 \001(\r\022\024\n\014usec_p50_all\030\026 \001(\r\022\024\n\014us"
  "ec_p99_all\030\027 \001(\r\022\037\n\027usec_1secmax_avg_act"
  "ive\030\037 \001(\r\022\037\n\027usec_1secmax_p50_active\030  \001"
  "(\r\022\037\n\027usec_1secmax_p95_active\030! \001(\r\022\037\n\027u"
  "sec_1secmax_p99_active\030\" \001(\r\022\034\n\024usec_1se"
  "cmax_avg_all\030) \001(\r\022\034\n\024usec_1secmax_p50_a"
  "ll\030* \001(\r\022\034\n\024usec_1secmax_p95_all\030+ \001(\r\022\034"
  "\n\024usec_1secmax_p99_all\030, \001(\r\"\226\001\n\032CMsgSou"
  "rce2VProfLiteReport\022.\n\005total\030\001 \001(\0132\037.CMs"
  "gSource2VProfLiteReportItem\022.\n\005items\030\002 \003"
  "(\0132\037.CMsgSource2VProfLiteReportItem\022\030\n\020d"
  "iscarded_frames\030\003 \001(\r\"\360\t\n\035CMsgSource2Net"
  "workFlowQuality\022\020\n\010duration\030\001 \001(\r\022\023\n\013byt"
  "es_total\030\005 \001(\004\022\034\n\024bytes_total_reliable\030\006"
  " \001(\004\022\031\n\021bytes_total_voice\030\007 \001(\004\022\025\n\rbytes"
  "_sec_p95\030\n \001(\r\022\025\n\rbytes_sec_p99\030\013 \001(\r\022\030\n"
  "\020enginemsgs_total\030\024 \001(\r\022\032\n\022enginemsgs_se"
  "c_p95\030\025 \001(\r\022\032\n\022enginemsgs_sec_p99\030\026 \001(\r\022"
  "\027\n\017netframes_total\030\036 \001(\r\022\031\n\021netframes_dr"
  "opped\030\037 \001(\r\022\034\n\024netframes_outoforder\030  \001("
  "\r\022\"\n\032netframes_size_exceeds_mtu\030\" \001(\r\022\032\n"
  "\022netframes_size_p95\030# \001(\r\022\032\n\022netframes_s"
  "ize_p99\030$ \001(\r\022\023\n\013ticks_total\030( \001(\r\022\022\n\nti"
  "cks_good\030) \001(\r\022\036\n\026ticks_good_almost_late"
  "\030* \001(\r\022\033\n\023ticks_fixed_dropped\030+ \001(\r\022\030\n\020t"
  "icks_fixed_late\030, \001(\r\022\031\n\021ticks_bad_dropp"
  "ed\030- \001(\r\022\026\n\016ticks_bad_late\030. \001(\r\022\027\n\017tick"
  "s_bad_other\030/ \001(\r\022#\n\033tick_missrate_sampl"
  "es_total\0302 \001(\r\022%\n\035tick_missrate_samples_"
  "perfect\0303 \001(\r\022(\n tick_missrate_samples_p"
  "erfectnet\0304 \001(\r\022 \n\030tick_missratenet_p75_"
  "x10\0305 \001(\r\022 \n\030tick_missratenet_p95_x10\0306 "
  "\001(\r\022 \n\030tick_missratenet_p99_x10\0307 \001(\r\022\025\n"
  "\rrecvmargin_p1\030= \001(\021\022\025\n\rrecvmargin_p5\030> "
  "\001(\021\022\026\n\016recvmargin_p25\030\? \001(\021\022\026\n\016recvmargi"
  "n_p50\030@ \001(\021\022\026\n\016recvmargin_p75\030A \001(\021\022\026\n\016r"
  "ecvmargin_p95\030B \001(\021\022\033\n\023netframe_jitter_p"
  "50\030F \001(\r\022\033\n\023netframe_jitter_p99\030G \001(\r\022\037\n"
  "\027interval_peakjitter_p50\030H \001(\r\022\037\n\027interv"
  "al_peakjitter_p95\030I \001(\r\022&\n\036packet_misdel"
  "ivery_rate_p50_x4\030J \001(\r\022&\n\036packet_misdel"
  "ivery_rate_p95_x4\030K \001(\r\022\023\n\013net_ping_p5\030P"
  " \001(\r\022\024\n\014net_ping_p50\030Q \001(\r\022\024\n\014net_ping_p"
  "95\030R \001(\r\"\373\001\n\035CMsgSource2PerfIntervalSamp"
  "le\022\031\n\021frame_time_max_ms\030\001 \001(\002\022\031\n\021frame_t"
  "ime_avg_ms\030\002 \001(\002\022\031\n\021frame_time_min_ms\030\003 "
  "\001(\002\022\023\n\013frame_count\030\004 \001(\005\022\033\n\023frame_time_t"
  "otal_ms\030\005 \001(\002\0220\n\004tags\030\006 \003(\0132\".CMsgSource"
  "2PerfIntervalSample.Tag\032%\n\003Tag\022\013\n\003tag\030\001 "
  "\001(\t\022\021\n\tmax_value\030\002 \001(\r\"\273\004\n-CSource2Metri"
  "cs_MatchPerfSummary_Notification\022\r\n\005appi"
  "d\030\001 \001(\r\022\021\n\tgame_mode\030\002 \001(\t\022\027\n\017server_bui"
  "ld_id\030\003 \001(\r\022\024\n\014server_popid\030\004 \001(\007\0223\n\016ser"
  "ver_profile\030\n \001(\0132\033.CMsgSource2VProfLite"
  "Report\022F\n\007clients\030\013 \003(\01325.CSource2Metric"
  "s_MatchPerfSummary_Notification.Client\022\013"
  "\n\003map\030\024 \001(\t\032\256\002\n\006Client\022-\n\014system_specs\030\001"
  " \001(\0132\027.CMsgSource2SystemSpecs\022,\n\007profile"
  "\030\002 \001(\0132\033.CMsgSource2VProfLiteReport\022\020\n\010b"
  "uild_id\030\003 \001(\r\0227\n\017downstream_flow\030\004 \001(\0132\036"
  ".CMsgSource2NetworkFlowQuality\0225\n\rupstre"
  "am_flow\030\005 \001(\0132\036.CMsgSource2NetworkFlowQu"
  "ality\022\017\n\007steamid\030\n \001(\006\0224\n\014perf_samples\030\013"
  " \003(\0132\036.CMsgSource2PerfIntervalSample\"\225\006\n"
  "$CMsgSource2PlayStatsPackedRecordList\022\023\n"
  "\013record_name\030\001 \001(\t\022B\n\nfield_defs\030\002 \003(\0132."
  ".CMsgSource2PlayStatsPackedRecordList.Fi"
  "eldDef\022\024\n\014record_count\030\003 \001(\r\022\027\n\013uint64_v"
  "als\030\004 \003(\004B\002\020\001\022\027\n\013uint32_vals\030\005 \003(\rB\002\020\001\022\027"
  "\n\013uint16_vals\030\006 \003(\rB\002\020\001\022\026\n\nuint8_vals\030\007 "
  "\003(\rB\002\020\001\022\026\n\nint64_vals\030\010 \003(\003B\002\020\001\022\026\n\nint32"
  "_vals\030\t \003(\005B\002\020\001\022\026\n\nint16_vals\030\n \003(\005B\002\020\001\022"
  "\025\n\tint8_vals\030\013 \003(\005B\002\020\001\022\030\n\014float64_vals\030\014"
  " \003(\001B\002\020\001\022\030\n\014float32_vals\030\r \003(\002B\002\020\001\022\025\n\tbo"
  "ol_vals\030\016 \003(\010B\002\020\001\022\023\n\013string_vals\030\017 \003(\t\022#"
  "\n\033low_cardinality_string_vals\030\020 \003(\t\022\034\n\020u"
  "tcdatetime_vals\030\021 \003(\007B\002\020\001\022#\n\027steamidtrus"
  "tbucket_vals\030\022 \003(\006B\002\020\001\022K\n\020trustbucket_va"
  "ls\030\023 \003(\01321.CMsgSource2PlayStatsPackedRec"
  "ordList.SteamIDList\022\030\n\014steamid_vals\030\024 \003("
  "\004B\002\020\001\032i\n\010FieldDef\022\022\n\nfield_name\030\001 \001(\t\022I\n"
  "\nfield_type\030\002 \001(\0162\033.ESource2PlayStatsFie"
  "ldType:\030Source2PlayStats_Invalid\032\"\n\013Stea"
  "mIDList\022\023\n\007steamid\030\001 \003(\006B\002\020\001\"z\n,CSource2"
  "Metrics_RecordPlayStats_Notification\022;\n\014"
  "record_types\030\001 \003(\0132%.CMsgSource2PlayStat"
  "sPackedRecordList\022\r\n\005appid\030\002 \001(\r\"\217\001\n$CSo"
  "urce2Metrics_FetchMapData_Request\022\r\n\005app"
  "id\030\001 \001(\r\022\020\n\010map_name\030\002 \001(\t\022\021\n\tgame_type\030"
  "\003 \001(\r\022\021\n\tgame_mode\030\004 \001(\r\022\r\n\005param\030\005 \001(\t\022"
  "\021\n\ttime_span\030\006 \001(\r\"\235\001\n%CSource2Metrics_F"
  "etchMapData_Response\022\?\n\007results\030\001 \003(\0132.."
  "CSource2Metrics_FetchMapData_Response.Ma"
  "pData\0323\n\007MapData\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002"
  " \001(\t\022\014\n\004data\030\003 \001(\t\"\306\001\n\033CUserMessage_User"
  "SentBugBug\022\024\n\014command_line\030\001 \001(\t\022\024\n\014auto"
  "exec_cfg\030\002 \001(\t\022-\n\014system_specs\030\003 \001(\0132\027.C"
  "MsgSource2SystemSpecs\022\020\n\010build_id\030\004 \001(\r\022"
  "\021\n\tosversion\030\005 \001(\005\022\024\n\014command_logs\030\006 \001(\t"
  "\022\021\n\tbugbug_no\030\007 \001(\005*\320\004\n\032ESource2PlayStat"
  "sFieldType\022\034\n\030Source2PlayStats_Invalid\020\000"
  "\022\033\n\027Source2PlayStats_UInt64\020\001\022\033\n\027Source2"
  "PlayStats_UInt32\020\002\022\033\n\027Source2PlayStats_U"
  "Int16\020\003\022\032\n\026Source2PlayStats_UInt8\020\004\022\032\n\026S"
  "ource2PlayStats_Int64\020\005\022\032\n\026Source2PlaySt"
  "ats_Int32\020\006\022\032\n\026Source2PlayStats_Int16\020\007\022"
  "\031\n\025Source2PlayStats_Int8\020\010\022\034\n\030Source2Pla"
  "yStats_Float64\020\t\022\034\n\030Source2PlayStats_Flo"
  "at32\020\n\022\031\n\025Source2PlayStats_Bool\020\013\022\033\n\027Sou"
  "rce2PlayStats_String\020\014\022)\n%Source2PlaySta"
  "ts_LowCardinalityString\020\r\022 \n\034Source2Play"
  "Stats_UTCDateTime\020\016\022\'\n#Source2PlayStats_"
  "SteamIDTrustBucket\020\017\022*\n&Source2PlayStats"
  "_SteamIDTrustBucketMin\020\020\022\034\n\030Source2PlayS"
  "tats_SteamID\020\021"
  ;
static ::_pbi::once_flag descriptor_table_source2_5fsteam_5fstats_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_source2_5fsteam_5fstats_2eproto = {
    false, false, 5214, descriptor_table_protodef_source2_5fsteam_5fstats_2eproto,
    "source2_steam_stats.proto",
    &descriptor_table_source2_5fsteam_5fstats_2eproto_once, nullptr, 0, 16,
    schemas, file_default_instances, TableStruct_source2_5fsteam_5fstats_2eproto::offsets,
    file_level_metadata_source2_5fsteam_5fstats_2eproto, file_level_enum_descriptors_source2_5fsteam_5fstats_2eproto,
    file_level_service_descriptors_source2_5fsteam_5fstats_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_source2_5fsteam_5fstats_2eproto_getter() {
  return &descriptor_table_source2_5fsteam_5fstats_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_source2_5fsteam_5fstats_2eproto(&descriptor_table_source2_5fsteam_5fstats_2eproto);
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ESource2PlayStatsFieldType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_source2_5fsteam_5fstats_2eproto);
  return file_level_enum_descriptors_source2_5fsteam_5fstats_2eproto[0];
}
bool ESource2PlayStatsFieldType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
      return true;
    default:
      return false;
  }
}


// ===================================================================

class CMsgSource2SystemSpecs::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2SystemSpecs>()._impl_._has_bits_);
  static void set_has_cpu_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_cpu_brand(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_cpu_model(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_cpu_num_physical(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_ram_physical_total_mb(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_gpu_rendersystem_dll_name(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_gpu_vendor_id(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_gpu_driver_name(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_gpu_driver_version_high(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_gpu_driver_version_low(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_gpu_dx_support_level(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_gpu_texture_memory_size_mb(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_backbuffer_width(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_backbuffer_height(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
};

CMsgSource2SystemSpecs::CMsgSource2SystemSpecs(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2SystemSpecs)
}
CMsgSource2SystemSpecs::CMsgSource2SystemSpecs(const CMsgSource2SystemSpecs& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2SystemSpecs* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.cpu_id_){}
    , decltype(_impl_.cpu_brand_){}
    , decltype(_impl_.gpu_rendersystem_dll_name_){}
    , decltype(_impl_.gpu_driver_name_){}
    , decltype(_impl_.cpu_model_){}
    , decltype(_impl_.cpu_num_physical_){}
    , decltype(_impl_.ram_physical_total_mb_){}
    , decltype(_impl_.gpu_vendor_id_){}
    , decltype(_impl_.gpu_driver_version_high_){}
    , decltype(_impl_.gpu_driver_version_low_){}
    , decltype(_impl_.gpu_dx_support_level_){}
    , decltype(_impl_.gpu_texture_memory_size_mb_){}
    , decltype(_impl_.backbuffer_width_){}
    , decltype(_impl_.backbuffer_height_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.cpu_id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cpu_id_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_cpu_id()) {
    _this->_impl_.cpu_id_.Set(from._internal_cpu_id(), 
      _this->GetArenaForAllocation());
  }
  _impl_.cpu_brand_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cpu_brand_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_cpu_brand()) {
    _this->_impl_.cpu_brand_.Set(from._internal_cpu_brand(), 
      _this->GetArenaForAllocation());
  }
  _impl_.gpu_rendersystem_dll_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gpu_rendersystem_dll_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_gpu_rendersystem_dll_name()) {
    _this->_impl_.gpu_rendersystem_dll_name_.Set(from._internal_gpu_rendersystem_dll_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.gpu_driver_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gpu_driver_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_gpu_driver_name()) {
    _this->_impl_.gpu_driver_name_.Set(from._internal_gpu_driver_name(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.cpu_model_, &from._impl_.cpu_model_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.backbuffer_height_) -
    reinterpret_cast<char*>(&_impl_.cpu_model_)) + sizeof(_impl_.backbuffer_height_));
  // @@protoc_insertion_point(copy_constructor:CMsgSource2SystemSpecs)
}

inline void CMsgSource2SystemSpecs::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.cpu_id_){}
    , decltype(_impl_.cpu_brand_){}
    , decltype(_impl_.gpu_rendersystem_dll_name_){}
    , decltype(_impl_.gpu_driver_name_){}
    , decltype(_impl_.cpu_model_){0u}
    , decltype(_impl_.cpu_num_physical_){0u}
    , decltype(_impl_.ram_physical_total_mb_){0u}
    , decltype(_impl_.gpu_vendor_id_){0u}
    , decltype(_impl_.gpu_driver_version_high_){0u}
    , decltype(_impl_.gpu_driver_version_low_){0u}
    , decltype(_impl_.gpu_dx_support_level_){0u}
    , decltype(_impl_.gpu_texture_memory_size_mb_){0u}
    , decltype(_impl_.backbuffer_width_){0u}
    , decltype(_impl_.backbuffer_height_){0u}
  };
  _impl_.cpu_id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cpu_id_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.cpu_brand_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.cpu_brand_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.gpu_rendersystem_dll_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gpu_rendersystem_dll_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.gpu_driver_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.gpu_driver_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSource2SystemSpecs::~CMsgSource2SystemSpecs() {
  // @@protoc_insertion_point(destructor:CMsgSource2SystemSpecs)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2SystemSpecs::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.cpu_id_.Destroy();
  _impl_.cpu_brand_.Destroy();
  _impl_.gpu_rendersystem_dll_name_.Destroy();
  _impl_.gpu_driver_name_.Destroy();
}

void CMsgSource2SystemSpecs::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2SystemSpecs::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2SystemSpecs)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.cpu_id_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.cpu_brand_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.gpu_rendersystem_dll_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      _impl_.gpu_driver_name_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x000000f0u) {
    ::memset(&_impl_.cpu_model_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.gpu_vendor_id_) -
        reinterpret_cast<char*>(&_impl_.cpu_model_)) + sizeof(_impl_.gpu_vendor_id_));
  }
  if (cached_has_bits & 0x00003f00u) {
    ::memset(&_impl_.gpu_driver_version_high_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.backbuffer_height_) -
        reinterpret_cast<char*>(&_impl_.gpu_driver_version_high_)) + sizeof(_impl_.backbuffer_height_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2SystemSpecs::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string cpu_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_cpu_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2SystemSpecs.cpu_id");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string cpu_brand = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_cpu_brand();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2SystemSpecs.cpu_brand");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 cpu_model = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_cpu_model(&has_bits);
          _impl_.cpu_model_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 cpu_num_physical = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_cpu_num_physical(&has_bits);
          _impl_.cpu_num_physical_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ram_physical_total_mb = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          _Internal::set_has_ram_physical_total_mb(&has_bits);
          _impl_.ram_physical_total_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string gpu_rendersystem_dll_name = 41;
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_gpu_rendersystem_dll_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2SystemSpecs.gpu_rendersystem_dll_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gpu_vendor_id = 42;
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_gpu_vendor_id(&has_bits);
          _impl_.gpu_vendor_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string gpu_driver_name = 43;
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_gpu_driver_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2SystemSpecs.gpu_driver_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gpu_driver_version_high = 44;
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _Internal::set_has_gpu_driver_version_high(&has_bits);
          _impl_.gpu_driver_version_high_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gpu_driver_version_low = 45;
      case 45:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _Internal::set_has_gpu_driver_version_low(&has_bits);
          _impl_.gpu_driver_version_low_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gpu_dx_support_level = 46;
      case 46:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          _Internal::set_has_gpu_dx_support_level(&has_bits);
          _impl_.gpu_dx_support_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gpu_texture_memory_size_mb = 47;
      case 47:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _Internal::set_has_gpu_texture_memory_size_mb(&has_bits);
          _impl_.gpu_texture_memory_size_mb_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 backbuffer_width = 51;
      case 51:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _Internal::set_has_backbuffer_width(&has_bits);
          _impl_.backbuffer_width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 backbuffer_height = 52;
      case 52:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _Internal::set_has_backbuffer_height(&has_bits);
          _impl_.backbuffer_height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2SystemSpecs::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2SystemSpecs)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string cpu_id = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_cpu_id().data(), static_cast<int>(this->_internal_cpu_id().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2SystemSpecs.cpu_id");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_cpu_id(), target);
  }

  // optional string cpu_brand = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_cpu_brand().data(), static_cast<int>(this->_internal_cpu_brand().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2SystemSpecs.cpu_brand");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_cpu_brand(), target);
  }

  // optional uint32 cpu_model = 3;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_cpu_model(), target);
  }

  // optional uint32 cpu_num_physical = 4;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_cpu_num_physical(), target);
  }

  // optional uint32 ram_physical_total_mb = 21;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(21, this->_internal_ram_physical_total_mb(), target);
  }

  // optional string gpu_rendersystem_dll_name = 41;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_gpu_rendersystem_dll_name().data(), static_cast<int>(this->_internal_gpu_rendersystem_dll_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2SystemSpecs.gpu_rendersystem_dll_name");
    target = stream->WriteStringMaybeAliased(
        41, this->_internal_gpu_rendersystem_dll_name(), target);
  }

  // optional uint32 gpu_vendor_id = 42;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(42, this->_internal_gpu_vendor_id(), target);
  }

  // optional string gpu_driver_name = 43;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_gpu_driver_name().data(), static_cast<int>(this->_internal_gpu_driver_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2SystemSpecs.gpu_driver_name");
    target = stream->WriteStringMaybeAliased(
        43, this->_internal_gpu_driver_name(), target);
  }

  // optional uint32 gpu_driver_version_high = 44;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(44, this->_internal_gpu_driver_version_high(), target);
  }

  // optional uint32 gpu_driver_version_low = 45;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(45, this->_internal_gpu_driver_version_low(), target);
  }

  // optional uint32 gpu_dx_support_level = 46;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(46, this->_internal_gpu_dx_support_level(), target);
  }

  // optional uint32 gpu_texture_memory_size_mb = 47;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(47, this->_internal_gpu_texture_memory_size_mb(), target);
  }

  // optional uint32 backbuffer_width = 51;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(51, this->_internal_backbuffer_width(), target);
  }

  // optional uint32 backbuffer_height = 52;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(52, this->_internal_backbuffer_height(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2SystemSpecs)
  return target;
}

size_t CMsgSource2SystemSpecs::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2SystemSpecs)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string cpu_id = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_cpu_id());
    }

    // optional string cpu_brand = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_cpu_brand());
    }

    // optional string gpu_rendersystem_dll_name = 41;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_gpu_rendersystem_dll_name());
    }

    // optional string gpu_driver_name = 43;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_gpu_driver_name());
    }

    // optional uint32 cpu_model = 3;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cpu_model());
    }

    // optional uint32 cpu_num_physical = 4;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cpu_num_physical());
    }

    // optional uint32 ram_physical_total_mb = 21;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ram_physical_total_mb());
    }

    // optional uint32 gpu_vendor_id = 42;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gpu_vendor_id());
    }

  }
  if (cached_has_bits & 0x00003f00u) {
    // optional uint32 gpu_driver_version_high = 44;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gpu_driver_version_high());
    }

    // optional uint32 gpu_driver_version_low = 45;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gpu_driver_version_low());
    }

    // optional uint32 gpu_dx_support_level = 46;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gpu_dx_support_level());
    }

    // optional uint32 gpu_texture_memory_size_mb = 47;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gpu_texture_memory_size_mb());
    }

    // optional uint32 backbuffer_width = 51;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_backbuffer_width());
    }

    // optional uint32 backbuffer_height = 52;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_backbuffer_height());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2SystemSpecs::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2SystemSpecs::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2SystemSpecs::GetClassData() const { return &_class_data_; }


void CMsgSource2SystemSpecs::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2SystemSpecs*>(&to_msg);
  auto& from = static_cast<const CMsgSource2SystemSpecs&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2SystemSpecs)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_cpu_id(from._internal_cpu_id());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_cpu_brand(from._internal_cpu_brand());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_gpu_rendersystem_dll_name(from._internal_gpu_rendersystem_dll_name());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_set_gpu_driver_name(from._internal_gpu_driver_name());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.cpu_model_ = from._impl_.cpu_model_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.cpu_num_physical_ = from._impl_.cpu_num_physical_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.ram_physical_total_mb_ = from._impl_.ram_physical_total_mb_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.gpu_vendor_id_ = from._impl_.gpu_vendor_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00003f00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.gpu_driver_version_high_ = from._impl_.gpu_driver_version_high_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.gpu_driver_version_low_ = from._impl_.gpu_driver_version_low_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.gpu_dx_support_level_ = from._impl_.gpu_dx_support_level_;
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.gpu_texture_memory_size_mb_ = from._impl_.gpu_texture_memory_size_mb_;
    }
    if (cached_has_bits & 0x00001000u) {
      _this->_impl_.backbuffer_width_ = from._impl_.backbuffer_width_;
    }
    if (cached_has_bits & 0x00002000u) {
      _this->_impl_.backbuffer_height_ = from._impl_.backbuffer_height_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2SystemSpecs::CopyFrom(const CMsgSource2SystemSpecs& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2SystemSpecs)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2SystemSpecs::IsInitialized() const {
  return true;
}

void CMsgSource2SystemSpecs::InternalSwap(CMsgSource2SystemSpecs* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cpu_id_, lhs_arena,
      &other->_impl_.cpu_id_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.cpu_brand_, lhs_arena,
      &other->_impl_.cpu_brand_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.gpu_rendersystem_dll_name_, lhs_arena,
      &other->_impl_.gpu_rendersystem_dll_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.gpu_driver_name_, lhs_arena,
      &other->_impl_.gpu_driver_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSource2SystemSpecs, _impl_.backbuffer_height_)
      + sizeof(CMsgSource2SystemSpecs::_impl_.backbuffer_height_)
      - PROTOBUF_FIELD_OFFSET(CMsgSource2SystemSpecs, _impl_.cpu_model_)>(
          reinterpret_cast<char*>(&_impl_.cpu_model_),
          reinterpret_cast<char*>(&other->_impl_.cpu_model_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2SystemSpecs::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[0]);
}

// ===================================================================

class CMsgSource2VProfLiteReportItem::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2VProfLiteReportItem>()._impl_._has_bits_);
  static void set_has_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_active_samples(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_active_samples_1secmax(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_usec_max(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_usec_avg_active(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_usec_p50_active(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_usec_p99_active(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_usec_avg_all(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_usec_p50_all(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_usec_p99_all(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_usec_1secmax_avg_active(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_usec_1secmax_p50_active(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_usec_1secmax_p95_active(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_usec_1secmax_p99_active(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_usec_1secmax_avg_all(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_usec_1secmax_p50_all(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_usec_1secmax_p95_all(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_usec_1secmax_p99_all(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
};

CMsgSource2VProfLiteReportItem::CMsgSource2VProfLiteReportItem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2VProfLiteReportItem)
}
CMsgSource2VProfLiteReportItem::CMsgSource2VProfLiteReportItem(const CMsgSource2VProfLiteReportItem& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2VProfLiteReportItem* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.name_){}
    , decltype(_impl_.active_samples_){}
    , decltype(_impl_.usec_max_){}
    , decltype(_impl_.active_samples_1secmax_){}
    , decltype(_impl_.usec_avg_active_){}
    , decltype(_impl_.usec_p50_active_){}
    , decltype(_impl_.usec_p99_active_){}
    , decltype(_impl_.usec_avg_all_){}
    , decltype(_impl_.usec_p50_all_){}
    , decltype(_impl_.usec_p99_all_){}
    , decltype(_impl_.usec_1secmax_avg_active_){}
    , decltype(_impl_.usec_1secmax_p50_active_){}
    , decltype(_impl_.usec_1secmax_p95_active_){}
    , decltype(_impl_.usec_1secmax_p99_active_){}
    , decltype(_impl_.usec_1secmax_avg_all_){}
    , decltype(_impl_.usec_1secmax_p50_all_){}
    , decltype(_impl_.usec_1secmax_p95_all_){}
    , decltype(_impl_.usec_1secmax_p99_all_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_name()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.active_samples_, &from._impl_.active_samples_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.usec_1secmax_p99_all_) -
    reinterpret_cast<char*>(&_impl_.active_samples_)) + sizeof(_impl_.usec_1secmax_p99_all_));
  // @@protoc_insertion_point(copy_constructor:CMsgSource2VProfLiteReportItem)
}

inline void CMsgSource2VProfLiteReportItem::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.name_){}
    , decltype(_impl_.active_samples_){0u}
    , decltype(_impl_.usec_max_){0u}
    , decltype(_impl_.active_samples_1secmax_){0u}
    , decltype(_impl_.usec_avg_active_){0u}
    , decltype(_impl_.usec_p50_active_){0u}
    , decltype(_impl_.usec_p99_active_){0u}
    , decltype(_impl_.usec_avg_all_){0u}
    , decltype(_impl_.usec_p50_all_){0u}
    , decltype(_impl_.usec_p99_all_){0u}
    , decltype(_impl_.usec_1secmax_avg_active_){0u}
    , decltype(_impl_.usec_1secmax_p50_active_){0u}
    , decltype(_impl_.usec_1secmax_p95_active_){0u}
    , decltype(_impl_.usec_1secmax_p99_active_){0u}
    , decltype(_impl_.usec_1secmax_avg_all_){0u}
    , decltype(_impl_.usec_1secmax_p50_all_){0u}
    , decltype(_impl_.usec_1secmax_p95_all_){0u}
    , decltype(_impl_.usec_1secmax_p99_all_){0u}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSource2VProfLiteReportItem::~CMsgSource2VProfLiteReportItem() {
  // @@protoc_insertion_point(destructor:CMsgSource2VProfLiteReportItem)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2VProfLiteReportItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
}

void CMsgSource2VProfLiteReportItem::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2VProfLiteReportItem::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2VProfLiteReportItem)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.name_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x000000feu) {
    ::memset(&_impl_.active_samples_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.usec_avg_all_) -
        reinterpret_cast<char*>(&_impl_.active_samples_)) + sizeof(_impl_.usec_avg_all_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&_impl_.usec_p50_all_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.usec_1secmax_p50_all_) -
        reinterpret_cast<char*>(&_impl_.usec_p50_all_)) + sizeof(_impl_.usec_1secmax_p50_all_));
  }
  if (cached_has_bits & 0x00030000u) {
    ::memset(&_impl_.usec_1secmax_p95_all_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.usec_1secmax_p99_all_) -
        reinterpret_cast<char*>(&_impl_.usec_1secmax_p95_all_)) + sizeof(_impl_.usec_1secmax_p99_all_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2VProfLiteReportItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2VProfLiteReportItem.name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 active_samples = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_active_samples(&has_bits);
          _impl_.active_samples_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_max = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_usec_max(&has_bits);
          _impl_.usec_max_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 active_samples_1secmax = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_active_samples_1secmax(&has_bits);
          _impl_.active_samples_1secmax_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_avg_active = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_usec_avg_active(&has_bits);
          _impl_.usec_avg_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_p50_active = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _Internal::set_has_usec_p50_active(&has_bits);
          _impl_.usec_p50_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_p99_active = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _Internal::set_has_usec_p99_active(&has_bits);
          _impl_.usec_p99_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_avg_all = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          _Internal::set_has_usec_avg_all(&has_bits);
          _impl_.usec_avg_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_p50_all = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          _Internal::set_has_usec_p50_all(&has_bits);
          _impl_.usec_p50_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_p99_all = 23;
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 184)) {
          _Internal::set_has_usec_p99_all(&has_bits);
          _impl_.usec_p99_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_avg_active = 31;
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 248)) {
          _Internal::set_has_usec_1secmax_avg_active(&has_bits);
          _impl_.usec_1secmax_avg_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p50_active = 32;
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 0)) {
          _Internal::set_has_usec_1secmax_p50_active(&has_bits);
          _impl_.usec_1secmax_p50_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p95_active = 33;
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_usec_1secmax_p95_active(&has_bits);
          _impl_.usec_1secmax_p95_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p99_active = 34;
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_usec_1secmax_p99_active(&has_bits);
          _impl_.usec_1secmax_p99_active_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_avg_all = 41;
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_usec_1secmax_avg_all(&has_bits);
          _impl_.usec_1secmax_avg_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p50_all = 42;
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_usec_1secmax_p50_all(&has_bits);
          _impl_.usec_1secmax_p50_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p95_all = 43;
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_usec_1secmax_p95_all(&has_bits);
          _impl_.usec_1secmax_p95_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 usec_1secmax_p99_all = 44;
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _Internal::set_has_usec_1secmax_p99_all(&has_bits);
          _impl_.usec_1secmax_p99_all_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2VProfLiteReportItem::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2VProfLiteReportItem)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2VProfLiteReportItem.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // optional uint32 active_samples = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_active_samples(), target);
  }

  // optional uint32 usec_max = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_usec_max(), target);
  }

  // optional uint32 active_samples_1secmax = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_active_samples_1secmax(), target);
  }

  // optional uint32 usec_avg_active = 11;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_usec_avg_active(), target);
  }

  // optional uint32 usec_p50_active = 12;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(12, this->_internal_usec_p50_active(), target);
  }

  // optional uint32 usec_p99_active = 13;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(13, this->_internal_usec_p99_active(), target);
  }

  // optional uint32 usec_avg_all = 21;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(21, this->_internal_usec_avg_all(), target);
  }

  // optional uint32 usec_p50_all = 22;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(22, this->_internal_usec_p50_all(), target);
  }

  // optional uint32 usec_p99_all = 23;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(23, this->_internal_usec_p99_all(), target);
  }

  // optional uint32 usec_1secmax_avg_active = 31;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(31, this->_internal_usec_1secmax_avg_active(), target);
  }

  // optional uint32 usec_1secmax_p50_active = 32;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(32, this->_internal_usec_1secmax_p50_active(), target);
  }

  // optional uint32 usec_1secmax_p95_active = 33;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(33, this->_internal_usec_1secmax_p95_active(), target);
  }

  // optional uint32 usec_1secmax_p99_active = 34;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(34, this->_internal_usec_1secmax_p99_active(), target);
  }

  // optional uint32 usec_1secmax_avg_all = 41;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(41, this->_internal_usec_1secmax_avg_all(), target);
  }

  // optional uint32 usec_1secmax_p50_all = 42;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(42, this->_internal_usec_1secmax_p50_all(), target);
  }

  // optional uint32 usec_1secmax_p95_all = 43;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(43, this->_internal_usec_1secmax_p95_all(), target);
  }

  // optional uint32 usec_1secmax_p99_all = 44;
  if (cached_has_bits & 0x00020000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(44, this->_internal_usec_1secmax_p99_all(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2VProfLiteReportItem)
  return target;
}

size_t CMsgSource2VProfLiteReportItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2VProfLiteReportItem)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_name());
    }

    // optional uint32 active_samples = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_active_samples());
    }

    // optional uint32 usec_max = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_usec_max());
    }

    // optional uint32 active_samples_1secmax = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_active_samples_1secmax());
    }

    // optional uint32 usec_avg_active = 11;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_usec_avg_active());
    }

    // optional uint32 usec_p50_active = 12;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_usec_p50_active());
    }

    // optional uint32 usec_p99_active = 13;
    if (cached_has_bits & 0x00000040u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_usec_p99_active());
    }

    // optional uint32 usec_avg_all = 21;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_avg_all());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional uint32 usec_p50_all = 22;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_p50_all());
    }

    // optional uint32 usec_p99_all = 23;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_p99_all());
    }

    // optional uint32 usec_1secmax_avg_active = 31;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_avg_active());
    }

    // optional uint32 usec_1secmax_p50_active = 32;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p50_active());
    }

    // optional uint32 usec_1secmax_p95_active = 33;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p95_active());
    }

    // optional uint32 usec_1secmax_p99_active = 34;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p99_active());
    }

    // optional uint32 usec_1secmax_avg_all = 41;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_avg_all());
    }

    // optional uint32 usec_1secmax_p50_all = 42;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p50_all());
    }

  }
  if (cached_has_bits & 0x00030000u) {
    // optional uint32 usec_1secmax_p95_all = 43;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p95_all());
    }

    // optional uint32 usec_1secmax_p99_all = 44;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_usec_1secmax_p99_all());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2VProfLiteReportItem::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2VProfLiteReportItem::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2VProfLiteReportItem::GetClassData() const { return &_class_data_; }


void CMsgSource2VProfLiteReportItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2VProfLiteReportItem*>(&to_msg);
  auto& from = static_cast<const CMsgSource2VProfLiteReportItem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2VProfLiteReportItem)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.active_samples_ = from._impl_.active_samples_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.usec_max_ = from._impl_.usec_max_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.active_samples_1secmax_ = from._impl_.active_samples_1secmax_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.usec_avg_active_ = from._impl_.usec_avg_active_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.usec_p50_active_ = from._impl_.usec_p50_active_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.usec_p99_active_ = from._impl_.usec_p99_active_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.usec_avg_all_ = from._impl_.usec_avg_all_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.usec_p50_all_ = from._impl_.usec_p50_all_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.usec_p99_all_ = from._impl_.usec_p99_all_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.usec_1secmax_avg_active_ = from._impl_.usec_1secmax_avg_active_;
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.usec_1secmax_p50_active_ = from._impl_.usec_1secmax_p50_active_;
    }
    if (cached_has_bits & 0x00001000u) {
      _this->_impl_.usec_1secmax_p95_active_ = from._impl_.usec_1secmax_p95_active_;
    }
    if (cached_has_bits & 0x00002000u) {
      _this->_impl_.usec_1secmax_p99_active_ = from._impl_.usec_1secmax_p99_active_;
    }
    if (cached_has_bits & 0x00004000u) {
      _this->_impl_.usec_1secmax_avg_all_ = from._impl_.usec_1secmax_avg_all_;
    }
    if (cached_has_bits & 0x00008000u) {
      _this->_impl_.usec_1secmax_p50_all_ = from._impl_.usec_1secmax_p50_all_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00030000u) {
    if (cached_has_bits & 0x00010000u) {
      _this->_impl_.usec_1secmax_p95_all_ = from._impl_.usec_1secmax_p95_all_;
    }
    if (cached_has_bits & 0x00020000u) {
      _this->_impl_.usec_1secmax_p99_all_ = from._impl_.usec_1secmax_p99_all_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2VProfLiteReportItem::CopyFrom(const CMsgSource2VProfLiteReportItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2VProfLiteReportItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2VProfLiteReportItem::IsInitialized() const {
  return true;
}

void CMsgSource2VProfLiteReportItem::InternalSwap(CMsgSource2VProfLiteReportItem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSource2VProfLiteReportItem, _impl_.usec_1secmax_p99_all_)
      + sizeof(CMsgSource2VProfLiteReportItem::_impl_.usec_1secmax_p99_all_)
      - PROTOBUF_FIELD_OFFSET(CMsgSource2VProfLiteReportItem, _impl_.active_samples_)>(
          reinterpret_cast<char*>(&_impl_.active_samples_),
          reinterpret_cast<char*>(&other->_impl_.active_samples_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2VProfLiteReportItem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[1]);
}

// ===================================================================

class CMsgSource2VProfLiteReport::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2VProfLiteReport>()._impl_._has_bits_);
  static const ::CMsgSource2VProfLiteReportItem& total(const CMsgSource2VProfLiteReport* msg);
  static void set_has_total(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_discarded_frames(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::CMsgSource2VProfLiteReportItem&
CMsgSource2VProfLiteReport::_Internal::total(const CMsgSource2VProfLiteReport* msg) {
  return *msg->_impl_.total_;
}
CMsgSource2VProfLiteReport::CMsgSource2VProfLiteReport(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2VProfLiteReport)
}
CMsgSource2VProfLiteReport::CMsgSource2VProfLiteReport(const CMsgSource2VProfLiteReport& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2VProfLiteReport* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.items_){from._impl_.items_}
    , decltype(_impl_.total_){nullptr}
    , decltype(_impl_.discarded_frames_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_total()) {
    _this->_impl_.total_ = new ::CMsgSource2VProfLiteReportItem(*from._impl_.total_);
  }
  _this->_impl_.discarded_frames_ = from._impl_.discarded_frames_;
  // @@protoc_insertion_point(copy_constructor:CMsgSource2VProfLiteReport)
}

inline void CMsgSource2VProfLiteReport::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.items_){arena}
    , decltype(_impl_.total_){nullptr}
    , decltype(_impl_.discarded_frames_){0u}
  };
}

CMsgSource2VProfLiteReport::~CMsgSource2VProfLiteReport() {
  // @@protoc_insertion_point(destructor:CMsgSource2VProfLiteReport)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2VProfLiteReport::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.items_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.total_;
}

void CMsgSource2VProfLiteReport::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2VProfLiteReport::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2VProfLiteReport)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.items_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(_impl_.total_ != nullptr);
    _impl_.total_->Clear();
  }
  _impl_.discarded_frames_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2VProfLiteReport::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .CMsgSource2VProfLiteReportItem total = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_total(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSource2VProfLiteReportItem items = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_items(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 discarded_frames = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_discarded_frames(&has_bits);
          _impl_.discarded_frames_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2VProfLiteReport::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2VProfLiteReport)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .CMsgSource2VProfLiteReportItem total = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::total(this),
        _Internal::total(this).GetCachedSize(), target, stream);
  }

  // repeated .CMsgSource2VProfLiteReportItem items = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint32 discarded_frames = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_discarded_frames(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2VProfLiteReport)
  return target;
}

size_t CMsgSource2VProfLiteReport::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2VProfLiteReport)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CMsgSource2VProfLiteReportItem items = 2;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_impl_.items_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .CMsgSource2VProfLiteReportItem total = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.total_);
    }

    // optional uint32 discarded_frames = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_discarded_frames());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2VProfLiteReport::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2VProfLiteReport::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2VProfLiteReport::GetClassData() const { return &_class_data_; }


void CMsgSource2VProfLiteReport::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2VProfLiteReport*>(&to_msg);
  auto& from = static_cast<const CMsgSource2VProfLiteReport&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2VProfLiteReport)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.items_.MergeFrom(from._impl_.items_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_total()->::CMsgSource2VProfLiteReportItem::MergeFrom(
          from._internal_total());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.discarded_frames_ = from._impl_.discarded_frames_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2VProfLiteReport::CopyFrom(const CMsgSource2VProfLiteReport& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2VProfLiteReport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2VProfLiteReport::IsInitialized() const {
  return true;
}

void CMsgSource2VProfLiteReport::InternalSwap(CMsgSource2VProfLiteReport* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSource2VProfLiteReport, _impl_.discarded_frames_)
      + sizeof(CMsgSource2VProfLiteReport::_impl_.discarded_frames_)
      - PROTOBUF_FIELD_OFFSET(CMsgSource2VProfLiteReport, _impl_.total_)>(
          reinterpret_cast<char*>(&_impl_.total_),
          reinterpret_cast<char*>(&other->_impl_.total_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2VProfLiteReport::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[2]);
}

// ===================================================================

class CMsgSource2NetworkFlowQuality::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2NetworkFlowQuality>()._impl_._has_bits_);
  static void set_has_duration(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_bytes_total(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_bytes_total_reliable(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_bytes_total_voice(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_bytes_sec_p95(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_bytes_sec_p99(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_enginemsgs_total(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_enginemsgs_sec_p95(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_enginemsgs_sec_p99(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_netframes_total(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_netframes_dropped(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_netframes_outoforder(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_netframes_size_exceeds_mtu(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_netframes_size_p95(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_netframes_size_p99(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_ticks_total(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_ticks_good(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_ticks_good_almost_late(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
  static void set_has_ticks_fixed_dropped(HasBits* has_bits) {
    (*has_bits)[0] |= 262144u;
  }
  static void set_has_ticks_fixed_late(HasBits* has_bits) {
    (*has_bits)[0] |= 524288u;
  }
  static void set_has_ticks_bad_dropped(HasBits* has_bits) {
    (*has_bits)[0] |= 1048576u;
  }
  static void set_has_ticks_bad_late(HasBits* has_bits) {
    (*has_bits)[0] |= 2097152u;
  }
  static void set_has_ticks_bad_other(HasBits* has_bits) {
    (*has_bits)[0] |= 4194304u;
  }
  static void set_has_tick_missrate_samples_total(HasBits* has_bits) {
    (*has_bits)[0] |= 8388608u;
  }
  static void set_has_tick_missrate_samples_perfect(HasBits* has_bits) {
    (*has_bits)[0] |= 16777216u;
  }
  static void set_has_tick_missrate_samples_perfectnet(HasBits* has_bits) {
    (*has_bits)[0] |= 33554432u;
  }
  static void set_has_tick_missratenet_p75_x10(HasBits* has_bits) {
    (*has_bits)[0] |= 67108864u;
  }
  static void set_has_tick_missratenet_p95_x10(HasBits* has_bits) {
    (*has_bits)[0] |= 134217728u;
  }
  static void set_has_tick_missratenet_p99_x10(HasBits* has_bits) {
    (*has_bits)[0] |= 268435456u;
  }
  static void set_has_recvmargin_p1(HasBits* has_bits) {
    (*has_bits)[0] |= 536870912u;
  }
  static void set_has_recvmargin_p5(HasBits* has_bits) {
    (*has_bits)[0] |= 1073741824u;
  }
  static void set_has_recvmargin_p25(HasBits* has_bits) {
    (*has_bits)[0] |= 2147483648u;
  }
  static void set_has_recvmargin_p50(HasBits* has_bits) {
    (*has_bits)[1] |= 1u;
  }
  static void set_has_recvmargin_p75(HasBits* has_bits) {
    (*has_bits)[1] |= 2u;
  }
  static void set_has_recvmargin_p95(HasBits* has_bits) {
    (*has_bits)[1] |= 4u;
  }
  static void set_has_netframe_jitter_p50(HasBits* has_bits) {
    (*has_bits)[1] |= 8u;
  }
  static void set_has_netframe_jitter_p99(HasBits* has_bits) {
    (*has_bits)[1] |= 16u;
  }
  static void set_has_interval_peakjitter_p50(HasBits* has_bits) {
    (*has_bits)[1] |= 32u;
  }
  static void set_has_interval_peakjitter_p95(HasBits* has_bits) {
    (*has_bits)[1] |= 64u;
  }
  static void set_has_packet_misdelivery_rate_p50_x4(HasBits* has_bits) {
    (*has_bits)[1] |= 128u;
  }
  static void set_has_packet_misdelivery_rate_p95_x4(HasBits* has_bits) {
    (*has_bits)[1] |= 256u;
  }
  static void set_has_net_ping_p5(HasBits* has_bits) {
    (*has_bits)[1] |= 512u;
  }
  static void set_has_net_ping_p50(HasBits* has_bits) {
    (*has_bits)[1] |= 1024u;
  }
  static void set_has_net_ping_p95(HasBits* has_bits) {
    (*has_bits)[1] |= 2048u;
  }
};

CMsgSource2NetworkFlowQuality::CMsgSource2NetworkFlowQuality(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2NetworkFlowQuality)
}
CMsgSource2NetworkFlowQuality::CMsgSource2NetworkFlowQuality(const CMsgSource2NetworkFlowQuality& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2NetworkFlowQuality* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.bytes_total_){}
    , decltype(_impl_.duration_){}
    , decltype(_impl_.bytes_sec_p95_){}
    , decltype(_impl_.bytes_total_reliable_){}
    , decltype(_impl_.bytes_total_voice_){}
    , decltype(_impl_.bytes_sec_p99_){}
    , decltype(_impl_.enginemsgs_total_){}
    , decltype(_impl_.enginemsgs_sec_p95_){}
    , decltype(_impl_.enginemsgs_sec_p99_){}
    , decltype(_impl_.netframes_total_){}
    , decltype(_impl_.netframes_dropped_){}
    , decltype(_impl_.netframes_outoforder_){}
    , decltype(_impl_.netframes_size_exceeds_mtu_){}
    , decltype(_impl_.netframes_size_p95_){}
    , decltype(_impl_.netframes_size_p99_){}
    , decltype(_impl_.ticks_total_){}
    , decltype(_impl_.ticks_good_){}
    , decltype(_impl_.ticks_good_almost_late_){}
    , decltype(_impl_.ticks_fixed_dropped_){}
    , decltype(_impl_.ticks_fixed_late_){}
    , decltype(_impl_.ticks_bad_dropped_){}
    , decltype(_impl_.ticks_bad_late_){}
    , decltype(_impl_.ticks_bad_other_){}
    , decltype(_impl_.tick_missrate_samples_total_){}
    , decltype(_impl_.tick_missrate_samples_perfect_){}
    , decltype(_impl_.tick_missrate_samples_perfectnet_){}
    , decltype(_impl_.tick_missratenet_p75_x10_){}
    , decltype(_impl_.tick_missratenet_p95_x10_){}
    , decltype(_impl_.tick_missratenet_p99_x10_){}
    , decltype(_impl_.recvmargin_p1_){}
    , decltype(_impl_.recvmargin_p5_){}
    , decltype(_impl_.recvmargin_p25_){}
    , decltype(_impl_.recvmargin_p50_){}
    , decltype(_impl_.recvmargin_p75_){}
    , decltype(_impl_.recvmargin_p95_){}
    , decltype(_impl_.netframe_jitter_p50_){}
    , decltype(_impl_.netframe_jitter_p99_){}
    , decltype(_impl_.interval_peakjitter_p50_){}
    , decltype(_impl_.interval_peakjitter_p95_){}
    , decltype(_impl_.packet_misdelivery_rate_p50_x4_){}
    , decltype(_impl_.packet_misdelivery_rate_p95_x4_){}
    , decltype(_impl_.net_ping_p5_){}
    , decltype(_impl_.net_ping_p50_){}
    , decltype(_impl_.net_ping_p95_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.bytes_total_, &from._impl_.bytes_total_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.net_ping_p95_) -
    reinterpret_cast<char*>(&_impl_.bytes_total_)) + sizeof(_impl_.net_ping_p95_));
  // @@protoc_insertion_point(copy_constructor:CMsgSource2NetworkFlowQuality)
}

inline void CMsgSource2NetworkFlowQuality::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.bytes_total_){uint64_t{0u}}
    , decltype(_impl_.duration_){0u}
    , decltype(_impl_.bytes_sec_p95_){0u}
    , decltype(_impl_.bytes_total_reliable_){uint64_t{0u}}
    , decltype(_impl_.bytes_total_voice_){uint64_t{0u}}
    , decltype(_impl_.bytes_sec_p99_){0u}
    , decltype(_impl_.enginemsgs_total_){0u}
    , decltype(_impl_.enginemsgs_sec_p95_){0u}
    , decltype(_impl_.enginemsgs_sec_p99_){0u}
    , decltype(_impl_.netframes_total_){0u}
    , decltype(_impl_.netframes_dropped_){0u}
    , decltype(_impl_.netframes_outoforder_){0u}
    , decltype(_impl_.netframes_size_exceeds_mtu_){0u}
    , decltype(_impl_.netframes_size_p95_){0u}
    , decltype(_impl_.netframes_size_p99_){0u}
    , decltype(_impl_.ticks_total_){0u}
    , decltype(_impl_.ticks_good_){0u}
    , decltype(_impl_.ticks_good_almost_late_){0u}
    , decltype(_impl_.ticks_fixed_dropped_){0u}
    , decltype(_impl_.ticks_fixed_late_){0u}
    , decltype(_impl_.ticks_bad_dropped_){0u}
    , decltype(_impl_.ticks_bad_late_){0u}
    , decltype(_impl_.ticks_bad_other_){0u}
    , decltype(_impl_.tick_missrate_samples_total_){0u}
    , decltype(_impl_.tick_missrate_samples_perfect_){0u}
    , decltype(_impl_.tick_missrate_samples_perfectnet_){0u}
    , decltype(_impl_.tick_missratenet_p75_x10_){0u}
    , decltype(_impl_.tick_missratenet_p95_x10_){0u}
    , decltype(_impl_.tick_missratenet_p99_x10_){0u}
    , decltype(_impl_.recvmargin_p1_){0}
    , decltype(_impl_.recvmargin_p5_){0}
    , decltype(_impl_.recvmargin_p25_){0}
    , decltype(_impl_.recvmargin_p50_){0}
    , decltype(_impl_.recvmargin_p75_){0}
    , decltype(_impl_.recvmargin_p95_){0}
    , decltype(_impl_.netframe_jitter_p50_){0u}
    , decltype(_impl_.netframe_jitter_p99_){0u}
    , decltype(_impl_.interval_peakjitter_p50_){0u}
    , decltype(_impl_.interval_peakjitter_p95_){0u}
    , decltype(_impl_.packet_misdelivery_rate_p50_x4_){0u}
    , decltype(_impl_.packet_misdelivery_rate_p95_x4_){0u}
    , decltype(_impl_.net_ping_p5_){0u}
    , decltype(_impl_.net_ping_p50_){0u}
    , decltype(_impl_.net_ping_p95_){0u}
  };
}

CMsgSource2NetworkFlowQuality::~CMsgSource2NetworkFlowQuality() {
  // @@protoc_insertion_point(destructor:CMsgSource2NetworkFlowQuality)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2NetworkFlowQuality::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CMsgSource2NetworkFlowQuality::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2NetworkFlowQuality::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2NetworkFlowQuality)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&_impl_.bytes_total_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.enginemsgs_sec_p95_) -
        reinterpret_cast<char*>(&_impl_.bytes_total_)) + sizeof(_impl_.enginemsgs_sec_p95_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&_impl_.enginemsgs_sec_p99_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.ticks_total_) -
        reinterpret_cast<char*>(&_impl_.enginemsgs_sec_p99_)) + sizeof(_impl_.ticks_total_));
  }
  if (cached_has_bits & 0x00ff0000u) {
    ::memset(&_impl_.ticks_good_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.tick_missrate_samples_total_) -
        reinterpret_cast<char*>(&_impl_.ticks_good_)) + sizeof(_impl_.tick_missrate_samples_total_));
  }
  if (cached_has_bits & 0xff000000u) {
    ::memset(&_impl_.tick_missrate_samples_perfect_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.recvmargin_p25_) -
        reinterpret_cast<char*>(&_impl_.tick_missrate_samples_perfect_)) + sizeof(_impl_.recvmargin_p25_));
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&_impl_.recvmargin_p50_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.packet_misdelivery_rate_p50_x4_) -
        reinterpret_cast<char*>(&_impl_.recvmargin_p50_)) + sizeof(_impl_.packet_misdelivery_rate_p50_x4_));
  }
  if (cached_has_bits & 0x00000f00u) {
    ::memset(&_impl_.packet_misdelivery_rate_p95_x4_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.net_ping_p95_) -
        reinterpret_cast<char*>(&_impl_.packet_misdelivery_rate_p95_x4_)) + sizeof(_impl_.net_ping_p95_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2NetworkFlowQuality::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 duration = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_duration(&_impl_._has_bits_);
          _impl_.duration_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 bytes_total = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_bytes_total(&_impl_._has_bits_);
          _impl_.bytes_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 bytes_total_reliable = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_bytes_total_reliable(&_impl_._has_bits_);
          _impl_.bytes_total_reliable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint64 bytes_total_voice = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_bytes_total_voice(&_impl_._has_bits_);
          _impl_.bytes_total_voice_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 bytes_sec_p95 = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_bytes_sec_p95(&_impl_._has_bits_);
          _impl_.bytes_sec_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 bytes_sec_p99 = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_bytes_sec_p99(&_impl_._has_bits_);
          _impl_.bytes_sec_p99_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 enginemsgs_total = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _Internal::set_has_enginemsgs_total(&_impl_._has_bits_);
          _impl_.enginemsgs_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 enginemsgs_sec_p95 = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          _Internal::set_has_enginemsgs_sec_p95(&_impl_._has_bits_);
          _impl_.enginemsgs_sec_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 enginemsgs_sec_p99 = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          _Internal::set_has_enginemsgs_sec_p99(&_impl_._has_bits_);
          _impl_.enginemsgs_sec_p99_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_total = 30;
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 240)) {
          _Internal::set_has_netframes_total(&_impl_._has_bits_);
          _impl_.netframes_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_dropped = 31;
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 248)) {
          _Internal::set_has_netframes_dropped(&_impl_._has_bits_);
          _impl_.netframes_dropped_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_outoforder = 32;
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 0)) {
          _Internal::set_has_netframes_outoforder(&_impl_._has_bits_);
          _impl_.netframes_outoforder_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_size_exceeds_mtu = 34;
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_netframes_size_exceeds_mtu(&_impl_._has_bits_);
          _impl_.netframes_size_exceeds_mtu_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_size_p95 = 35;
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_netframes_size_p95(&_impl_._has_bits_);
          _impl_.netframes_size_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframes_size_p99 = 36;
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_netframes_size_p99(&_impl_._has_bits_);
          _impl_.netframes_size_p99_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_total = 40;
      case 40:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _Internal::set_has_ticks_total(&_impl_._has_bits_);
          _impl_.ticks_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_good = 41;
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_ticks_good(&_impl_._has_bits_);
          _impl_.ticks_good_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_good_almost_late = 42;
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_ticks_good_almost_late(&_impl_._has_bits_);
          _impl_.ticks_good_almost_late_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_fixed_dropped = 43;
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_ticks_fixed_dropped(&_impl_._has_bits_);
          _impl_.ticks_fixed_dropped_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_fixed_late = 44;
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          _Internal::set_has_ticks_fixed_late(&_impl_._has_bits_);
          _impl_.ticks_fixed_late_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_bad_dropped = 45;
      case 45:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _Internal::set_has_ticks_bad_dropped(&_impl_._has_bits_);
          _impl_.ticks_bad_dropped_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_bad_late = 46;
      case 46:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          _Internal::set_has_ticks_bad_late(&_impl_._has_bits_);
          _impl_.ticks_bad_late_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ticks_bad_other = 47;
      case 47:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _Internal::set_has_ticks_bad_other(&_impl_._has_bits_);
          _impl_.ticks_bad_other_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missrate_samples_total = 50;
      case 50:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _Internal::set_has_tick_missrate_samples_total(&_impl_._has_bits_);
          _impl_.tick_missrate_samples_total_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missrate_samples_perfect = 51;
      case 51:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 152)) {
          _Internal::set_has_tick_missrate_samples_perfect(&_impl_._has_bits_);
          _impl_.tick_missrate_samples_perfect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missrate_samples_perfectnet = 52;
      case 52:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 160)) {
          _Internal::set_has_tick_missrate_samples_perfectnet(&_impl_._has_bits_);
          _impl_.tick_missrate_samples_perfectnet_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missratenet_p75_x10 = 53;
      case 53:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          _Internal::set_has_tick_missratenet_p75_x10(&_impl_._has_bits_);
          _impl_.tick_missratenet_p75_x10_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missratenet_p95_x10 = 54;
      case 54:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          _Internal::set_has_tick_missratenet_p95_x10(&_impl_._has_bits_);
          _impl_.tick_missratenet_p95_x10_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 tick_missratenet_p99_x10 = 55;
      case 55:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 184)) {
          _Internal::set_has_tick_missratenet_p99_x10(&_impl_._has_bits_);
          _impl_.tick_missratenet_p99_x10_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p1 = 61;
      case 61:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 232)) {
          _Internal::set_has_recvmargin_p1(&_impl_._has_bits_);
          _impl_.recvmargin_p1_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p5 = 62;
      case 62:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 240)) {
          _Internal::set_has_recvmargin_p5(&_impl_._has_bits_);
          _impl_.recvmargin_p5_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p25 = 63;
      case 63:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 248)) {
          _Internal::set_has_recvmargin_p25(&_impl_._has_bits_);
          _impl_.recvmargin_p25_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p50 = 64;
      case 64:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 0)) {
          _Internal::set_has_recvmargin_p50(&_impl_._has_bits_);
          _impl_.recvmargin_p50_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p75 = 65;
      case 65:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_recvmargin_p75(&_impl_._has_bits_);
          _impl_.recvmargin_p75_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional sint32 recvmargin_p95 = 66;
      case 66:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_recvmargin_p95(&_impl_._has_bits_);
          _impl_.recvmargin_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframe_jitter_p50 = 70;
      case 70:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_netframe_jitter_p50(&_impl_._has_bits_);
          _impl_.netframe_jitter_p50_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 netframe_jitter_p99 = 71;
      case 71:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_netframe_jitter_p99(&_impl_._has_bits_);
          _impl_.netframe_jitter_p99_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 interval_peakjitter_p50 = 72;
      case 72:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          _Internal::set_has_interval_peakjitter_p50(&_impl_._has_bits_);
          _impl_.interval_peakjitter_p50_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 interval_peakjitter_p95 = 73;
      case 73:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_interval_peakjitter_p95(&_impl_._has_bits_);
          _impl_.interval_peakjitter_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 packet_misdelivery_rate_p50_x4 = 74;
      case 74:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
          _Internal::set_has_packet_misdelivery_rate_p50_x4(&_impl_._has_bits_);
          _impl_.packet_misdelivery_rate_p50_x4_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 packet_misdelivery_rate_p95_x4 = 75;
      case 75:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          _Internal::set_has_packet_misdelivery_rate_p95_x4(&_impl_._has_bits_);
          _impl_.packet_misdelivery_rate_p95_x4_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 net_ping_p5 = 80;
      case 80:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 128)) {
          _Internal::set_has_net_ping_p5(&_impl_._has_bits_);
          _impl_.net_ping_p5_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 net_ping_p50 = 81;
      case 81:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 136)) {
          _Internal::set_has_net_ping_p50(&_impl_._has_bits_);
          _impl_.net_ping_p50_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 net_ping_p95 = 82;
      case 82:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          _Internal::set_has_net_ping_p95(&_impl_._has_bits_);
          _impl_.net_ping_p95_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2NetworkFlowQuality::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2NetworkFlowQuality)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 duration = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_duration(), target);
  }

  // optional uint64 bytes_total = 5;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(5, this->_internal_bytes_total(), target);
  }

  // optional uint64 bytes_total_reliable = 6;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(6, this->_internal_bytes_total_reliable(), target);
  }

  // optional uint64 bytes_total_voice = 7;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(7, this->_internal_bytes_total_voice(), target);
  }

  // optional uint32 bytes_sec_p95 = 10;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(10, this->_internal_bytes_sec_p95(), target);
  }

  // optional uint32 bytes_sec_p99 = 11;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_bytes_sec_p99(), target);
  }

  // optional uint32 enginemsgs_total = 20;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(20, this->_internal_enginemsgs_total(), target);
  }

  // optional uint32 enginemsgs_sec_p95 = 21;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(21, this->_internal_enginemsgs_sec_p95(), target);
  }

  // optional uint32 enginemsgs_sec_p99 = 22;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(22, this->_internal_enginemsgs_sec_p99(), target);
  }

  // optional uint32 netframes_total = 30;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(30, this->_internal_netframes_total(), target);
  }

  // optional uint32 netframes_dropped = 31;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(31, this->_internal_netframes_dropped(), target);
  }

  // optional uint32 netframes_outoforder = 32;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(32, this->_internal_netframes_outoforder(), target);
  }

  // optional uint32 netframes_size_exceeds_mtu = 34;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(34, this->_internal_netframes_size_exceeds_mtu(), target);
  }

  // optional uint32 netframes_size_p95 = 35;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(35, this->_internal_netframes_size_p95(), target);
  }

  // optional uint32 netframes_size_p99 = 36;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(36, this->_internal_netframes_size_p99(), target);
  }

  // optional uint32 ticks_total = 40;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(40, this->_internal_ticks_total(), target);
  }

  // optional uint32 ticks_good = 41;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(41, this->_internal_ticks_good(), target);
  }

  // optional uint32 ticks_good_almost_late = 42;
  if (cached_has_bits & 0x00020000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(42, this->_internal_ticks_good_almost_late(), target);
  }

  // optional uint32 ticks_fixed_dropped = 43;
  if (cached_has_bits & 0x00040000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(43, this->_internal_ticks_fixed_dropped(), target);
  }

  // optional uint32 ticks_fixed_late = 44;
  if (cached_has_bits & 0x00080000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(44, this->_internal_ticks_fixed_late(), target);
  }

  // optional uint32 ticks_bad_dropped = 45;
  if (cached_has_bits & 0x00100000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(45, this->_internal_ticks_bad_dropped(), target);
  }

  // optional uint32 ticks_bad_late = 46;
  if (cached_has_bits & 0x00200000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(46, this->_internal_ticks_bad_late(), target);
  }

  // optional uint32 ticks_bad_other = 47;
  if (cached_has_bits & 0x00400000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(47, this->_internal_ticks_bad_other(), target);
  }

  // optional uint32 tick_missrate_samples_total = 50;
  if (cached_has_bits & 0x00800000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(50, this->_internal_tick_missrate_samples_total(), target);
  }

  // optional uint32 tick_missrate_samples_perfect = 51;
  if (cached_has_bits & 0x01000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(51, this->_internal_tick_missrate_samples_perfect(), target);
  }

  // optional uint32 tick_missrate_samples_perfectnet = 52;
  if (cached_has_bits & 0x02000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(52, this->_internal_tick_missrate_samples_perfectnet(), target);
  }

  // optional uint32 tick_missratenet_p75_x10 = 53;
  if (cached_has_bits & 0x04000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(53, this->_internal_tick_missratenet_p75_x10(), target);
  }

  // optional uint32 tick_missratenet_p95_x10 = 54;
  if (cached_has_bits & 0x08000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(54, this->_internal_tick_missratenet_p95_x10(), target);
  }

  // optional uint32 tick_missratenet_p99_x10 = 55;
  if (cached_has_bits & 0x10000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(55, this->_internal_tick_missratenet_p99_x10(), target);
  }

  // optional sint32 recvmargin_p1 = 61;
  if (cached_has_bits & 0x20000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(61, this->_internal_recvmargin_p1(), target);
  }

  // optional sint32 recvmargin_p5 = 62;
  if (cached_has_bits & 0x40000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(62, this->_internal_recvmargin_p5(), target);
  }

  // optional sint32 recvmargin_p25 = 63;
  if (cached_has_bits & 0x80000000u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(63, this->_internal_recvmargin_p25(), target);
  }

  cached_has_bits = _impl_._has_bits_[1];
  // optional sint32 recvmargin_p50 = 64;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(64, this->_internal_recvmargin_p50(), target);
  }

  // optional sint32 recvmargin_p75 = 65;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(65, this->_internal_recvmargin_p75(), target);
  }

  // optional sint32 recvmargin_p95 = 66;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteSInt32ToArray(66, this->_internal_recvmargin_p95(), target);
  }

  // optional uint32 netframe_jitter_p50 = 70;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(70, this->_internal_netframe_jitter_p50(), target);
  }

  // optional uint32 netframe_jitter_p99 = 71;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(71, this->_internal_netframe_jitter_p99(), target);
  }

  // optional uint32 interval_peakjitter_p50 = 72;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(72, this->_internal_interval_peakjitter_p50(), target);
  }

  // optional uint32 interval_peakjitter_p95 = 73;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(73, this->_internal_interval_peakjitter_p95(), target);
  }

  // optional uint32 packet_misdelivery_rate_p50_x4 = 74;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(74, this->_internal_packet_misdelivery_rate_p50_x4(), target);
  }

  // optional uint32 packet_misdelivery_rate_p95_x4 = 75;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(75, this->_internal_packet_misdelivery_rate_p95_x4(), target);
  }

  // optional uint32 net_ping_p5 = 80;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(80, this->_internal_net_ping_p5(), target);
  }

  // optional uint32 net_ping_p50 = 81;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(81, this->_internal_net_ping_p50(), target);
  }

  // optional uint32 net_ping_p95 = 82;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(82, this->_internal_net_ping_p95(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2NetworkFlowQuality)
  return target;
}

size_t CMsgSource2NetworkFlowQuality::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2NetworkFlowQuality)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional uint64 bytes_total = 5;
    if (cached_has_bits & 0x00000001u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_bytes_total());
    }

    // optional uint32 duration = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_duration());
    }

    // optional uint32 bytes_sec_p95 = 10;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_bytes_sec_p95());
    }

    // optional uint64 bytes_total_reliable = 6;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_bytes_total_reliable());
    }

    // optional uint64 bytes_total_voice = 7;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_bytes_total_voice());
    }

    // optional uint32 bytes_sec_p99 = 11;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_bytes_sec_p99());
    }

    // optional uint32 enginemsgs_total = 20;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_enginemsgs_total());
    }

    // optional uint32 enginemsgs_sec_p95 = 21;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_enginemsgs_sec_p95());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional uint32 enginemsgs_sec_p99 = 22;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_enginemsgs_sec_p99());
    }

    // optional uint32 netframes_total = 30;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_total());
    }

    // optional uint32 netframes_dropped = 31;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_dropped());
    }

    // optional uint32 netframes_outoforder = 32;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_outoforder());
    }

    // optional uint32 netframes_size_exceeds_mtu = 34;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_size_exceeds_mtu());
    }

    // optional uint32 netframes_size_p95 = 35;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_size_p95());
    }

    // optional uint32 netframes_size_p99 = 36;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframes_size_p99());
    }

    // optional uint32 ticks_total = 40;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_total());
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // optional uint32 ticks_good = 41;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_good());
    }

    // optional uint32 ticks_good_almost_late = 42;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_good_almost_late());
    }

    // optional uint32 ticks_fixed_dropped = 43;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_fixed_dropped());
    }

    // optional uint32 ticks_fixed_late = 44;
    if (cached_has_bits & 0x00080000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_fixed_late());
    }

    // optional uint32 ticks_bad_dropped = 45;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_bad_dropped());
    }

    // optional uint32 ticks_bad_late = 46;
    if (cached_has_bits & 0x00200000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_bad_late());
    }

    // optional uint32 ticks_bad_other = 47;
    if (cached_has_bits & 0x00400000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_ticks_bad_other());
    }

    // optional uint32 tick_missrate_samples_total = 50;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missrate_samples_total());
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // optional uint32 tick_missrate_samples_perfect = 51;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missrate_samples_perfect());
    }

    // optional uint32 tick_missrate_samples_perfectnet = 52;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missrate_samples_perfectnet());
    }

    // optional uint32 tick_missratenet_p75_x10 = 53;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missratenet_p75_x10());
    }

    // optional uint32 tick_missratenet_p95_x10 = 54;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missratenet_p95_x10());
    }

    // optional uint32 tick_missratenet_p99_x10 = 55;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_tick_missratenet_p99_x10());
    }

    // optional sint32 recvmargin_p1 = 61;
    if (cached_has_bits & 0x20000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p1());
    }

    // optional sint32 recvmargin_p5 = 62;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p5());
    }

    // optional sint32 recvmargin_p25 = 63;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p25());
    }

  }
  cached_has_bits = _impl_._has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    // optional sint32 recvmargin_p50 = 64;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p50());
    }

    // optional sint32 recvmargin_p75 = 65;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p75());
    }

    // optional sint32 recvmargin_p95 = 66;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::SInt32Size(
          this->_internal_recvmargin_p95());
    }

    // optional uint32 netframe_jitter_p50 = 70;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframe_jitter_p50());
    }

    // optional uint32 netframe_jitter_p99 = 71;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_netframe_jitter_p99());
    }

    // optional uint32 interval_peakjitter_p50 = 72;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_interval_peakjitter_p50());
    }

    // optional uint32 interval_peakjitter_p95 = 73;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_interval_peakjitter_p95());
    }

    // optional uint32 packet_misdelivery_rate_p50_x4 = 74;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_packet_misdelivery_rate_p50_x4());
    }

  }
  if (cached_has_bits & 0x00000f00u) {
    // optional uint32 packet_misdelivery_rate_p95_x4 = 75;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_packet_misdelivery_rate_p95_x4());
    }

    // optional uint32 net_ping_p5 = 80;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_net_ping_p5());
    }

    // optional uint32 net_ping_p50 = 81;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_net_ping_p50());
    }

    // optional uint32 net_ping_p95 = 82;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_net_ping_p95());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2NetworkFlowQuality::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2NetworkFlowQuality::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2NetworkFlowQuality::GetClassData() const { return &_class_data_; }


void CMsgSource2NetworkFlowQuality::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2NetworkFlowQuality*>(&to_msg);
  auto& from = static_cast<const CMsgSource2NetworkFlowQuality&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2NetworkFlowQuality)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.bytes_total_ = from._impl_.bytes_total_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.duration_ = from._impl_.duration_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.bytes_sec_p95_ = from._impl_.bytes_sec_p95_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.bytes_total_reliable_ = from._impl_.bytes_total_reliable_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.bytes_total_voice_ = from._impl_.bytes_total_voice_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.bytes_sec_p99_ = from._impl_.bytes_sec_p99_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.enginemsgs_total_ = from._impl_.enginemsgs_total_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.enginemsgs_sec_p95_ = from._impl_.enginemsgs_sec_p95_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.enginemsgs_sec_p99_ = from._impl_.enginemsgs_sec_p99_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.netframes_total_ = from._impl_.netframes_total_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.netframes_dropped_ = from._impl_.netframes_dropped_;
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.netframes_outoforder_ = from._impl_.netframes_outoforder_;
    }
    if (cached_has_bits & 0x00001000u) {
      _this->_impl_.netframes_size_exceeds_mtu_ = from._impl_.netframes_size_exceeds_mtu_;
    }
    if (cached_has_bits & 0x00002000u) {
      _this->_impl_.netframes_size_p95_ = from._impl_.netframes_size_p95_;
    }
    if (cached_has_bits & 0x00004000u) {
      _this->_impl_.netframes_size_p99_ = from._impl_.netframes_size_p99_;
    }
    if (cached_has_bits & 0x00008000u) {
      _this->_impl_.ticks_total_ = from._impl_.ticks_total_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      _this->_impl_.ticks_good_ = from._impl_.ticks_good_;
    }
    if (cached_has_bits & 0x00020000u) {
      _this->_impl_.ticks_good_almost_late_ = from._impl_.ticks_good_almost_late_;
    }
    if (cached_has_bits & 0x00040000u) {
      _this->_impl_.ticks_fixed_dropped_ = from._impl_.ticks_fixed_dropped_;
    }
    if (cached_has_bits & 0x00080000u) {
      _this->_impl_.ticks_fixed_late_ = from._impl_.ticks_fixed_late_;
    }
    if (cached_has_bits & 0x00100000u) {
      _this->_impl_.ticks_bad_dropped_ = from._impl_.ticks_bad_dropped_;
    }
    if (cached_has_bits & 0x00200000u) {
      _this->_impl_.ticks_bad_late_ = from._impl_.ticks_bad_late_;
    }
    if (cached_has_bits & 0x00400000u) {
      _this->_impl_.ticks_bad_other_ = from._impl_.ticks_bad_other_;
    }
    if (cached_has_bits & 0x00800000u) {
      _this->_impl_.tick_missrate_samples_total_ = from._impl_.tick_missrate_samples_total_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      _this->_impl_.tick_missrate_samples_perfect_ = from._impl_.tick_missrate_samples_perfect_;
    }
    if (cached_has_bits & 0x02000000u) {
      _this->_impl_.tick_missrate_samples_perfectnet_ = from._impl_.tick_missrate_samples_perfectnet_;
    }
    if (cached_has_bits & 0x04000000u) {
      _this->_impl_.tick_missratenet_p75_x10_ = from._impl_.tick_missratenet_p75_x10_;
    }
    if (cached_has_bits & 0x08000000u) {
      _this->_impl_.tick_missratenet_p95_x10_ = from._impl_.tick_missratenet_p95_x10_;
    }
    if (cached_has_bits & 0x10000000u) {
      _this->_impl_.tick_missratenet_p99_x10_ = from._impl_.tick_missratenet_p99_x10_;
    }
    if (cached_has_bits & 0x20000000u) {
      _this->_impl_.recvmargin_p1_ = from._impl_.recvmargin_p1_;
    }
    if (cached_has_bits & 0x40000000u) {
      _this->_impl_.recvmargin_p5_ = from._impl_.recvmargin_p5_;
    }
    if (cached_has_bits & 0x80000000u) {
      _this->_impl_.recvmargin_p25_ = from._impl_.recvmargin_p25_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.recvmargin_p50_ = from._impl_.recvmargin_p50_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.recvmargin_p75_ = from._impl_.recvmargin_p75_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.recvmargin_p95_ = from._impl_.recvmargin_p95_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.netframe_jitter_p50_ = from._impl_.netframe_jitter_p50_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.netframe_jitter_p99_ = from._impl_.netframe_jitter_p99_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.interval_peakjitter_p50_ = from._impl_.interval_peakjitter_p50_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.interval_peakjitter_p95_ = from._impl_.interval_peakjitter_p95_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.packet_misdelivery_rate_p50_x4_ = from._impl_.packet_misdelivery_rate_p50_x4_;
    }
    _this->_impl_._has_bits_[1] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000f00u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.packet_misdelivery_rate_p95_x4_ = from._impl_.packet_misdelivery_rate_p95_x4_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.net_ping_p5_ = from._impl_.net_ping_p5_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.net_ping_p50_ = from._impl_.net_ping_p50_;
    }
    if (cached_has_bits & 0x00000800u) {
      _this->_impl_.net_ping_p95_ = from._impl_.net_ping_p95_;
    }
    _this->_impl_._has_bits_[1] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2NetworkFlowQuality::CopyFrom(const CMsgSource2NetworkFlowQuality& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2NetworkFlowQuality)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2NetworkFlowQuality::IsInitialized() const {
  return true;
}

void CMsgSource2NetworkFlowQuality::InternalSwap(CMsgSource2NetworkFlowQuality* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSource2NetworkFlowQuality, _impl_.net_ping_p95_)
      + sizeof(CMsgSource2NetworkFlowQuality::_impl_.net_ping_p95_)
      - PROTOBUF_FIELD_OFFSET(CMsgSource2NetworkFlowQuality, _impl_.bytes_total_)>(
          reinterpret_cast<char*>(&_impl_.bytes_total_),
          reinterpret_cast<char*>(&other->_impl_.bytes_total_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2NetworkFlowQuality::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[3]);
}

// ===================================================================

class CMsgSource2PerfIntervalSample_Tag::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2PerfIntervalSample_Tag>()._impl_._has_bits_);
  static void set_has_tag(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_max_value(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgSource2PerfIntervalSample_Tag::CMsgSource2PerfIntervalSample_Tag(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2PerfIntervalSample.Tag)
}
CMsgSource2PerfIntervalSample_Tag::CMsgSource2PerfIntervalSample_Tag(const CMsgSource2PerfIntervalSample_Tag& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2PerfIntervalSample_Tag* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tag_){}
    , decltype(_impl_.max_value_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.tag_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tag_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_tag()) {
    _this->_impl_.tag_.Set(from._internal_tag(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.max_value_ = from._impl_.max_value_;
  // @@protoc_insertion_point(copy_constructor:CMsgSource2PerfIntervalSample.Tag)
}

inline void CMsgSource2PerfIntervalSample_Tag::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tag_){}
    , decltype(_impl_.max_value_){0u}
  };
  _impl_.tag_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.tag_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSource2PerfIntervalSample_Tag::~CMsgSource2PerfIntervalSample_Tag() {
  // @@protoc_insertion_point(destructor:CMsgSource2PerfIntervalSample.Tag)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2PerfIntervalSample_Tag::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.tag_.Destroy();
}

void CMsgSource2PerfIntervalSample_Tag::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2PerfIntervalSample_Tag::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2PerfIntervalSample.Tag)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.tag_.ClearNonDefaultToEmpty();
  }
  _impl_.max_value_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2PerfIntervalSample_Tag::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string tag = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_tag();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2PerfIntervalSample.Tag.tag");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 max_value = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_max_value(&has_bits);
          _impl_.max_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2PerfIntervalSample_Tag::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2PerfIntervalSample.Tag)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string tag = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_tag().data(), static_cast<int>(this->_internal_tag().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2PerfIntervalSample.Tag.tag");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_tag(), target);
  }

  // optional uint32 max_value = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_max_value(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2PerfIntervalSample.Tag)
  return target;
}

size_t CMsgSource2PerfIntervalSample_Tag::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2PerfIntervalSample.Tag)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string tag = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_tag());
    }

    // optional uint32 max_value = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_max_value());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2PerfIntervalSample_Tag::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2PerfIntervalSample_Tag::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2PerfIntervalSample_Tag::GetClassData() const { return &_class_data_; }


void CMsgSource2PerfIntervalSample_Tag::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2PerfIntervalSample_Tag*>(&to_msg);
  auto& from = static_cast<const CMsgSource2PerfIntervalSample_Tag&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2PerfIntervalSample.Tag)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_tag(from._internal_tag());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.max_value_ = from._impl_.max_value_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2PerfIntervalSample_Tag::CopyFrom(const CMsgSource2PerfIntervalSample_Tag& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2PerfIntervalSample.Tag)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2PerfIntervalSample_Tag::IsInitialized() const {
  return true;
}

void CMsgSource2PerfIntervalSample_Tag::InternalSwap(CMsgSource2PerfIntervalSample_Tag* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.tag_, lhs_arena,
      &other->_impl_.tag_, rhs_arena
  );
  swap(_impl_.max_value_, other->_impl_.max_value_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2PerfIntervalSample_Tag::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[4]);
}

// ===================================================================

class CMsgSource2PerfIntervalSample::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2PerfIntervalSample>()._impl_._has_bits_);
  static void set_has_frame_time_max_ms(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_frame_time_avg_ms(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_frame_time_min_ms(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_frame_count(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_frame_time_total_ms(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

CMsgSource2PerfIntervalSample::CMsgSource2PerfIntervalSample(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2PerfIntervalSample)
}
CMsgSource2PerfIntervalSample::CMsgSource2PerfIntervalSample(const CMsgSource2PerfIntervalSample& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2PerfIntervalSample* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tags_){from._impl_.tags_}
    , decltype(_impl_.frame_time_max_ms_){}
    , decltype(_impl_.frame_time_avg_ms_){}
    , decltype(_impl_.frame_time_min_ms_){}
    , decltype(_impl_.frame_count_){}
    , decltype(_impl_.frame_time_total_ms_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&_impl_.frame_time_max_ms_, &from._impl_.frame_time_max_ms_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.frame_time_total_ms_) -
    reinterpret_cast<char*>(&_impl_.frame_time_max_ms_)) + sizeof(_impl_.frame_time_total_ms_));
  // @@protoc_insertion_point(copy_constructor:CMsgSource2PerfIntervalSample)
}

inline void CMsgSource2PerfIntervalSample::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.tags_){arena}
    , decltype(_impl_.frame_time_max_ms_){0}
    , decltype(_impl_.frame_time_avg_ms_){0}
    , decltype(_impl_.frame_time_min_ms_){0}
    , decltype(_impl_.frame_count_){0}
    , decltype(_impl_.frame_time_total_ms_){0}
  };
}

CMsgSource2PerfIntervalSample::~CMsgSource2PerfIntervalSample() {
  // @@protoc_insertion_point(destructor:CMsgSource2PerfIntervalSample)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2PerfIntervalSample::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.tags_.~RepeatedPtrField();
}

void CMsgSource2PerfIntervalSample::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2PerfIntervalSample::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2PerfIntervalSample)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tags_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    ::memset(&_impl_.frame_time_max_ms_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.frame_time_total_ms_) -
        reinterpret_cast<char*>(&_impl_.frame_time_max_ms_)) + sizeof(_impl_.frame_time_total_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2PerfIntervalSample::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional float frame_time_max_ms = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
          _Internal::set_has_frame_time_max_ms(&has_bits);
          _impl_.frame_time_max_ms_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional float frame_time_avg_ms = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
          _Internal::set_has_frame_time_avg_ms(&has_bits);
          _impl_.frame_time_avg_ms_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional float frame_time_min_ms = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 29)) {
          _Internal::set_has_frame_time_min_ms(&has_bits);
          _impl_.frame_time_min_ms_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // optional int32 frame_count = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_frame_count(&has_bits);
          _impl_.frame_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional float frame_time_total_ms = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 45)) {
          _Internal::set_has_frame_time_total_ms(&has_bits);
          _impl_.frame_time_total_ms_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tags(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2PerfIntervalSample::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2PerfIntervalSample)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional float frame_time_max_ms = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_frame_time_max_ms(), target);
  }

  // optional float frame_time_avg_ms = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_frame_time_avg_ms(), target);
  }

  // optional float frame_time_min_ms = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_frame_time_min_ms(), target);
  }

  // optional int32 frame_count = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_frame_count(), target);
  }

  // optional float frame_time_total_ms = 5;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(5, this->_internal_frame_time_total_ms(), target);
  }

  // repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tags_size()); i < n; i++) {
    const auto& repfield = this->_internal_tags(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2PerfIntervalSample)
  return target;
}

size_t CMsgSource2PerfIntervalSample::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2PerfIntervalSample)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
  total_size += 1UL * this->_internal_tags_size();
  for (const auto& msg : this->_impl_.tags_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // optional float frame_time_max_ms = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 + 4;
    }

    // optional float frame_time_avg_ms = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 4;
    }

    // optional float frame_time_min_ms = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

    // optional int32 frame_count = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_frame_count());
    }

    // optional float frame_time_total_ms = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 4;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2PerfIntervalSample::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2PerfIntervalSample::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2PerfIntervalSample::GetClassData() const { return &_class_data_; }


void CMsgSource2PerfIntervalSample::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2PerfIntervalSample*>(&to_msg);
  auto& from = static_cast<const CMsgSource2PerfIntervalSample&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2PerfIntervalSample)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.tags_.MergeFrom(from._impl_.tags_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_impl_.frame_time_max_ms_ = from._impl_.frame_time_max_ms_;
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.frame_time_avg_ms_ = from._impl_.frame_time_avg_ms_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.frame_time_min_ms_ = from._impl_.frame_time_min_ms_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.frame_count_ = from._impl_.frame_count_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.frame_time_total_ms_ = from._impl_.frame_time_total_ms_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2PerfIntervalSample::CopyFrom(const CMsgSource2PerfIntervalSample& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2PerfIntervalSample)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2PerfIntervalSample::IsInitialized() const {
  return true;
}

void CMsgSource2PerfIntervalSample::InternalSwap(CMsgSource2PerfIntervalSample* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.tags_.InternalSwap(&other->_impl_.tags_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgSource2PerfIntervalSample, _impl_.frame_time_total_ms_)
      + sizeof(CMsgSource2PerfIntervalSample::_impl_.frame_time_total_ms_)
      - PROTOBUF_FIELD_OFFSET(CMsgSource2PerfIntervalSample, _impl_.frame_time_max_ms_)>(
          reinterpret_cast<char*>(&_impl_.frame_time_max_ms_),
          reinterpret_cast<char*>(&other->_impl_.frame_time_max_ms_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2PerfIntervalSample::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[5]);
}

// ===================================================================

class CSource2Metrics_MatchPerfSummary_Notification_Client::_Internal {
 public:
  using HasBits = decltype(std::declval<CSource2Metrics_MatchPerfSummary_Notification_Client>()._impl_._has_bits_);
  static const ::CMsgSource2SystemSpecs& system_specs(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg);
  static void set_has_system_specs(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::CMsgSource2VProfLiteReport& profile(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg);
  static void set_has_profile(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_build_id(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static const ::CMsgSource2NetworkFlowQuality& downstream_flow(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg);
  static void set_has_downstream_flow(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::CMsgSource2NetworkFlowQuality& upstream_flow(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg);
  static void set_has_upstream_flow(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_steamid(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::CMsgSource2SystemSpecs&
CSource2Metrics_MatchPerfSummary_Notification_Client::_Internal::system_specs(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg) {
  return *msg->_impl_.system_specs_;
}
const ::CMsgSource2VProfLiteReport&
CSource2Metrics_MatchPerfSummary_Notification_Client::_Internal::profile(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg) {
  return *msg->_impl_.profile_;
}
const ::CMsgSource2NetworkFlowQuality&
CSource2Metrics_MatchPerfSummary_Notification_Client::_Internal::downstream_flow(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg) {
  return *msg->_impl_.downstream_flow_;
}
const ::CMsgSource2NetworkFlowQuality&
CSource2Metrics_MatchPerfSummary_Notification_Client::_Internal::upstream_flow(const CSource2Metrics_MatchPerfSummary_Notification_Client* msg) {
  return *msg->_impl_.upstream_flow_;
}
CSource2Metrics_MatchPerfSummary_Notification_Client::CSource2Metrics_MatchPerfSummary_Notification_Client(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_MatchPerfSummary_Notification.Client)
}
CSource2Metrics_MatchPerfSummary_Notification_Client::CSource2Metrics_MatchPerfSummary_Notification_Client(const CSource2Metrics_MatchPerfSummary_Notification_Client& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_MatchPerfSummary_Notification_Client* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.perf_samples_){from._impl_.perf_samples_}
    , decltype(_impl_.system_specs_){nullptr}
    , decltype(_impl_.profile_){nullptr}
    , decltype(_impl_.downstream_flow_){nullptr}
    , decltype(_impl_.upstream_flow_){nullptr}
    , decltype(_impl_.steamid_){}
    , decltype(_impl_.build_id_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_system_specs()) {
    _this->_impl_.system_specs_ = new ::CMsgSource2SystemSpecs(*from._impl_.system_specs_);
  }
  if (from._internal_has_profile()) {
    _this->_impl_.profile_ = new ::CMsgSource2VProfLiteReport(*from._impl_.profile_);
  }
  if (from._internal_has_downstream_flow()) {
    _this->_impl_.downstream_flow_ = new ::CMsgSource2NetworkFlowQuality(*from._impl_.downstream_flow_);
  }
  if (from._internal_has_upstream_flow()) {
    _this->_impl_.upstream_flow_ = new ::CMsgSource2NetworkFlowQuality(*from._impl_.upstream_flow_);
  }
  ::memcpy(&_impl_.steamid_, &from._impl_.steamid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.build_id_) -
    reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.build_id_));
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_MatchPerfSummary_Notification.Client)
}

inline void CSource2Metrics_MatchPerfSummary_Notification_Client::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.perf_samples_){arena}
    , decltype(_impl_.system_specs_){nullptr}
    , decltype(_impl_.profile_){nullptr}
    , decltype(_impl_.downstream_flow_){nullptr}
    , decltype(_impl_.upstream_flow_){nullptr}
    , decltype(_impl_.steamid_){uint64_t{0u}}
    , decltype(_impl_.build_id_){0u}
  };
}

CSource2Metrics_MatchPerfSummary_Notification_Client::~CSource2Metrics_MatchPerfSummary_Notification_Client() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_MatchPerfSummary_Notification.Client)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_MatchPerfSummary_Notification_Client::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.perf_samples_.~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.system_specs_;
  if (this != internal_default_instance()) delete _impl_.profile_;
  if (this != internal_default_instance()) delete _impl_.downstream_flow_;
  if (this != internal_default_instance()) delete _impl_.upstream_flow_;
}

void CSource2Metrics_MatchPerfSummary_Notification_Client::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_MatchPerfSummary_Notification_Client::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_MatchPerfSummary_Notification.Client)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.perf_samples_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(_impl_.system_specs_ != nullptr);
      _impl_.system_specs_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(_impl_.profile_ != nullptr);
      _impl_.profile_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(_impl_.downstream_flow_ != nullptr);
      _impl_.downstream_flow_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(_impl_.upstream_flow_ != nullptr);
      _impl_.upstream_flow_->Clear();
    }
  }
  if (cached_has_bits & 0x00000030u) {
    ::memset(&_impl_.steamid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.build_id_) -
        reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.build_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_MatchPerfSummary_Notification_Client::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .CMsgSource2SystemSpecs system_specs = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_system_specs(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSource2VProfLiteReport profile = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_profile(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 build_id = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_build_id(&has_bits);
          _impl_.build_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSource2NetworkFlowQuality downstream_flow = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_downstream_flow(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSource2NetworkFlowQuality upstream_flow = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_upstream_flow(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 steamid = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 81)) {
          _Internal::set_has_steamid(&has_bits);
          _impl_.steamid_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_perf_samples(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_MatchPerfSummary_Notification_Client::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_MatchPerfSummary_Notification.Client)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional .CMsgSource2SystemSpecs system_specs = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::system_specs(this),
        _Internal::system_specs(this).GetCachedSize(), target, stream);
  }

  // optional .CMsgSource2VProfLiteReport profile = 2;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::profile(this),
        _Internal::profile(this).GetCachedSize(), target, stream);
  }

  // optional uint32 build_id = 3;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_build_id(), target);
  }

  // optional .CMsgSource2NetworkFlowQuality downstream_flow = 4;
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::downstream_flow(this),
        _Internal::downstream_flow(this).GetCachedSize(), target, stream);
  }

  // optional .CMsgSource2NetworkFlowQuality upstream_flow = 5;
  if (cached_has_bits & 0x00000008u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::upstream_flow(this),
        _Internal::upstream_flow(this).GetCachedSize(), target, stream);
  }

  // optional fixed64 steamid = 10;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(10, this->_internal_steamid(), target);
  }

  // repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_perf_samples_size()); i < n; i++) {
    const auto& repfield = this->_internal_perf_samples(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_MatchPerfSummary_Notification.Client)
  return target;
}

size_t CSource2Metrics_MatchPerfSummary_Notification_Client::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_MatchPerfSummary_Notification.Client)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
  total_size += 1UL * this->_internal_perf_samples_size();
  for (const auto& msg : this->_impl_.perf_samples_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // optional .CMsgSource2SystemSpecs system_specs = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.system_specs_);
    }

    // optional .CMsgSource2VProfLiteReport profile = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.profile_);
    }

    // optional .CMsgSource2NetworkFlowQuality downstream_flow = 4;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.downstream_flow_);
    }

    // optional .CMsgSource2NetworkFlowQuality upstream_flow = 5;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.upstream_flow_);
    }

    // optional fixed64 steamid = 10;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 8;
    }

    // optional uint32 build_id = 3;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_build_id());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_MatchPerfSummary_Notification_Client::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_MatchPerfSummary_Notification_Client::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_MatchPerfSummary_Notification_Client::GetClassData() const { return &_class_data_; }


void CSource2Metrics_MatchPerfSummary_Notification_Client::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_MatchPerfSummary_Notification_Client*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_MatchPerfSummary_Notification_Client&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_MatchPerfSummary_Notification.Client)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.perf_samples_.MergeFrom(from._impl_.perf_samples_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_system_specs()->::CMsgSource2SystemSpecs::MergeFrom(
          from._internal_system_specs());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_profile()->::CMsgSource2VProfLiteReport::MergeFrom(
          from._internal_profile());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_downstream_flow()->::CMsgSource2NetworkFlowQuality::MergeFrom(
          from._internal_downstream_flow());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_upstream_flow()->::CMsgSource2NetworkFlowQuality::MergeFrom(
          from._internal_upstream_flow());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.steamid_ = from._impl_.steamid_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.build_id_ = from._impl_.build_id_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_MatchPerfSummary_Notification_Client::CopyFrom(const CSource2Metrics_MatchPerfSummary_Notification_Client& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_MatchPerfSummary_Notification.Client)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_MatchPerfSummary_Notification_Client::IsInitialized() const {
  return true;
}

void CSource2Metrics_MatchPerfSummary_Notification_Client::InternalSwap(CSource2Metrics_MatchPerfSummary_Notification_Client* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.perf_samples_.InternalSwap(&other->_impl_.perf_samples_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.build_id_)
      + sizeof(CSource2Metrics_MatchPerfSummary_Notification_Client::_impl_.build_id_)
      - PROTOBUF_FIELD_OFFSET(CSource2Metrics_MatchPerfSummary_Notification_Client, _impl_.system_specs_)>(
          reinterpret_cast<char*>(&_impl_.system_specs_),
          reinterpret_cast<char*>(&other->_impl_.system_specs_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_MatchPerfSummary_Notification_Client::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[6]);
}

// ===================================================================

class CSource2Metrics_MatchPerfSummary_Notification::_Internal {
 public:
  using HasBits = decltype(std::declval<CSource2Metrics_MatchPerfSummary_Notification>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_game_mode(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_server_build_id(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_server_popid(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static const ::CMsgSource2VProfLiteReport& server_profile(const CSource2Metrics_MatchPerfSummary_Notification* msg);
  static void set_has_server_profile(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_map(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::CMsgSource2VProfLiteReport&
CSource2Metrics_MatchPerfSummary_Notification::_Internal::server_profile(const CSource2Metrics_MatchPerfSummary_Notification* msg) {
  return *msg->_impl_.server_profile_;
}
CSource2Metrics_MatchPerfSummary_Notification::CSource2Metrics_MatchPerfSummary_Notification(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_MatchPerfSummary_Notification)
}
CSource2Metrics_MatchPerfSummary_Notification::CSource2Metrics_MatchPerfSummary_Notification(const CSource2Metrics_MatchPerfSummary_Notification& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_MatchPerfSummary_Notification* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.clients_){from._impl_.clients_}
    , decltype(_impl_.game_mode_){}
    , decltype(_impl_.map_){}
    , decltype(_impl_.server_profile_){nullptr}
    , decltype(_impl_.appid_){}
    , decltype(_impl_.server_build_id_){}
    , decltype(_impl_.server_popid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.game_mode_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_mode_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_game_mode()) {
    _this->_impl_.game_mode_.Set(from._internal_game_mode(), 
      _this->GetArenaForAllocation());
  }
  _impl_.map_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.map_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_map()) {
    _this->_impl_.map_.Set(from._internal_map(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_server_profile()) {
    _this->_impl_.server_profile_ = new ::CMsgSource2VProfLiteReport(*from._impl_.server_profile_);
  }
  ::memcpy(&_impl_.appid_, &from._impl_.appid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.server_popid_) -
    reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.server_popid_));
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_MatchPerfSummary_Notification)
}

inline void CSource2Metrics_MatchPerfSummary_Notification::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.clients_){arena}
    , decltype(_impl_.game_mode_){}
    , decltype(_impl_.map_){}
    , decltype(_impl_.server_profile_){nullptr}
    , decltype(_impl_.appid_){0u}
    , decltype(_impl_.server_build_id_){0u}
    , decltype(_impl_.server_popid_){0u}
  };
  _impl_.game_mode_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.game_mode_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.map_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.map_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CSource2Metrics_MatchPerfSummary_Notification::~CSource2Metrics_MatchPerfSummary_Notification() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_MatchPerfSummary_Notification)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_MatchPerfSummary_Notification::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.clients_.~RepeatedPtrField();
  _impl_.game_mode_.Destroy();
  _impl_.map_.Destroy();
  if (this != internal_default_instance()) delete _impl_.server_profile_;
}

void CSource2Metrics_MatchPerfSummary_Notification::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_MatchPerfSummary_Notification::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_MatchPerfSummary_Notification)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.clients_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.game_mode_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.map_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(_impl_.server_profile_ != nullptr);
      _impl_.server_profile_->Clear();
    }
  }
  if (cached_has_bits & 0x00000038u) {
    ::memset(&_impl_.appid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.server_popid_) -
        reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.server_popid_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_MatchPerfSummary_Notification::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string game_mode = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_game_mode();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_MatchPerfSummary_Notification.game_mode");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 server_build_id = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_server_build_id(&has_bits);
          _impl_.server_build_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed32 server_popid = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 37)) {
          _Internal::set_has_server_popid(&has_bits);
          _impl_.server_popid_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint32_t>(ptr);
          ptr += sizeof(uint32_t);
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSource2VProfLiteReport server_profile = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_server_profile(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_clients(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional string map = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          auto str = _internal_mutable_map();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_MatchPerfSummary_Notification.map");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_MatchPerfSummary_Notification::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_MatchPerfSummary_Notification)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional string game_mode = 2;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_game_mode().data(), static_cast<int>(this->_internal_game_mode().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_MatchPerfSummary_Notification.game_mode");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_game_mode(), target);
  }

  // optional uint32 server_build_id = 3;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_server_build_id(), target);
  }

  // optional fixed32 server_popid = 4;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(4, this->_internal_server_popid(), target);
  }

  // optional .CMsgSource2VProfLiteReport server_profile = 10;
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(10, _Internal::server_profile(this),
        _Internal::server_profile(this).GetCachedSize(), target, stream);
  }

  // repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_clients_size()); i < n; i++) {
    const auto& repfield = this->_internal_clients(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional string map = 20;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_map().data(), static_cast<int>(this->_internal_map().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_MatchPerfSummary_Notification.map");
    target = stream->WriteStringMaybeAliased(
        20, this->_internal_map(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_MatchPerfSummary_Notification)
  return target;
}

size_t CSource2Metrics_MatchPerfSummary_Notification::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_MatchPerfSummary_Notification)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
  total_size += 1UL * this->_internal_clients_size();
  for (const auto& msg : this->_impl_.clients_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // optional string game_mode = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_game_mode());
    }

    // optional string map = 20;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_map());
    }

    // optional .CMsgSource2VProfLiteReport server_profile = 10;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.server_profile_);
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

    // optional uint32 server_build_id = 3;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_server_build_id());
    }

    // optional fixed32 server_popid = 4;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 + 4;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_MatchPerfSummary_Notification::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_MatchPerfSummary_Notification::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_MatchPerfSummary_Notification::GetClassData() const { return &_class_data_; }


void CSource2Metrics_MatchPerfSummary_Notification::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_MatchPerfSummary_Notification*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_MatchPerfSummary_Notification&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_MatchPerfSummary_Notification)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.clients_.MergeFrom(from._impl_.clients_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_game_mode(from._internal_game_mode());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_map(from._internal_map());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_server_profile()->::CMsgSource2VProfLiteReport::MergeFrom(
          from._internal_server_profile());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.server_build_id_ = from._impl_.server_build_id_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.server_popid_ = from._impl_.server_popid_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_MatchPerfSummary_Notification::CopyFrom(const CSource2Metrics_MatchPerfSummary_Notification& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_MatchPerfSummary_Notification)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_MatchPerfSummary_Notification::IsInitialized() const {
  return true;
}

void CSource2Metrics_MatchPerfSummary_Notification::InternalSwap(CSource2Metrics_MatchPerfSummary_Notification* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.clients_.InternalSwap(&other->_impl_.clients_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.game_mode_, lhs_arena,
      &other->_impl_.game_mode_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.map_, lhs_arena,
      &other->_impl_.map_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CSource2Metrics_MatchPerfSummary_Notification, _impl_.server_popid_)
      + sizeof(CSource2Metrics_MatchPerfSummary_Notification::_impl_.server_popid_)
      - PROTOBUF_FIELD_OFFSET(CSource2Metrics_MatchPerfSummary_Notification, _impl_.server_profile_)>(
          reinterpret_cast<char*>(&_impl_.server_profile_),
          reinterpret_cast<char*>(&other->_impl_.server_profile_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_MatchPerfSummary_Notification::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[7]);
}

// ===================================================================

class CMsgSource2PlayStatsPackedRecordList_FieldDef::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2PlayStatsPackedRecordList_FieldDef>()._impl_._has_bits_);
  static void set_has_field_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_field_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgSource2PlayStatsPackedRecordList_FieldDef::CMsgSource2PlayStatsPackedRecordList_FieldDef(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2PlayStatsPackedRecordList.FieldDef)
}
CMsgSource2PlayStatsPackedRecordList_FieldDef::CMsgSource2PlayStatsPackedRecordList_FieldDef(const CMsgSource2PlayStatsPackedRecordList_FieldDef& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2PlayStatsPackedRecordList_FieldDef* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.field_name_){}
    , decltype(_impl_.field_type_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.field_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.field_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_field_name()) {
    _this->_impl_.field_name_.Set(from._internal_field_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.field_type_ = from._impl_.field_type_;
  // @@protoc_insertion_point(copy_constructor:CMsgSource2PlayStatsPackedRecordList.FieldDef)
}

inline void CMsgSource2PlayStatsPackedRecordList_FieldDef::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.field_name_){}
    , decltype(_impl_.field_type_){0}
  };
  _impl_.field_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.field_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSource2PlayStatsPackedRecordList_FieldDef::~CMsgSource2PlayStatsPackedRecordList_FieldDef() {
  // @@protoc_insertion_point(destructor:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2PlayStatsPackedRecordList_FieldDef::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.field_name_.Destroy();
}

void CMsgSource2PlayStatsPackedRecordList_FieldDef::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2PlayStatsPackedRecordList_FieldDef::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.field_name_.ClearNonDefaultToEmpty();
  }
  _impl_.field_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2PlayStatsPackedRecordList_FieldDef::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string field_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_field_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2PlayStatsPackedRecordList.FieldDef.field_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional .ESource2PlayStatsFieldType field_type = 2 [default = Source2PlayStats_Invalid];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::ESource2PlayStatsFieldType_IsValid(val))) {
            _internal_set_field_type(static_cast<::ESource2PlayStatsFieldType>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2PlayStatsPackedRecordList_FieldDef::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string field_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_field_name().data(), static_cast<int>(this->_internal_field_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2PlayStatsPackedRecordList.FieldDef.field_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_field_name(), target);
  }

  // optional .ESource2PlayStatsFieldType field_type = 2 [default = Source2PlayStats_Invalid];
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_field_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  return target;
}

size_t CMsgSource2PlayStatsPackedRecordList_FieldDef::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string field_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_field_name());
    }

    // optional .ESource2PlayStatsFieldType field_type = 2 [default = Source2PlayStats_Invalid];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::_pbi::WireFormatLite::EnumSize(this->_internal_field_type());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2PlayStatsPackedRecordList_FieldDef::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2PlayStatsPackedRecordList_FieldDef::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2PlayStatsPackedRecordList_FieldDef::GetClassData() const { return &_class_data_; }


void CMsgSource2PlayStatsPackedRecordList_FieldDef::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2PlayStatsPackedRecordList_FieldDef*>(&to_msg);
  auto& from = static_cast<const CMsgSource2PlayStatsPackedRecordList_FieldDef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_field_name(from._internal_field_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.field_type_ = from._impl_.field_type_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2PlayStatsPackedRecordList_FieldDef::CopyFrom(const CMsgSource2PlayStatsPackedRecordList_FieldDef& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2PlayStatsPackedRecordList.FieldDef)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2PlayStatsPackedRecordList_FieldDef::IsInitialized() const {
  return true;
}

void CMsgSource2PlayStatsPackedRecordList_FieldDef::InternalSwap(CMsgSource2PlayStatsPackedRecordList_FieldDef* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.field_name_, lhs_arena,
      &other->_impl_.field_name_, rhs_arena
  );
  swap(_impl_.field_type_, other->_impl_.field_type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2PlayStatsPackedRecordList_FieldDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[8]);
}

// ===================================================================

class CMsgSource2PlayStatsPackedRecordList_SteamIDList::_Internal {
 public:
};

CMsgSource2PlayStatsPackedRecordList_SteamIDList::CMsgSource2PlayStatsPackedRecordList_SteamIDList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
}
CMsgSource2PlayStatsPackedRecordList_SteamIDList::CMsgSource2PlayStatsPackedRecordList_SteamIDList(const CMsgSource2PlayStatsPackedRecordList_SteamIDList& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2PlayStatsPackedRecordList_SteamIDList* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.steamid_){from._impl_.steamid_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
}

inline void CMsgSource2PlayStatsPackedRecordList_SteamIDList::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.steamid_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CMsgSource2PlayStatsPackedRecordList_SteamIDList::~CMsgSource2PlayStatsPackedRecordList_SteamIDList() {
  // @@protoc_insertion_point(destructor:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2PlayStatsPackedRecordList_SteamIDList::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.steamid_.~RepeatedField();
}

void CMsgSource2PlayStatsPackedRecordList_SteamIDList::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2PlayStatsPackedRecordList_SteamIDList::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.steamid_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2PlayStatsPackedRecordList_SteamIDList::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated fixed64 steamid = 1 [packed = true];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFixed64Parser(_internal_mutable_steamid(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 9) {
          _internal_add_steamid(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr));
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2PlayStatsPackedRecordList_SteamIDList::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated fixed64 steamid = 1 [packed = true];
  if (this->_internal_steamid_size() > 0) {
    target = stream->WriteFixedPacked(1, _internal_steamid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  return target;
}

size_t CMsgSource2PlayStatsPackedRecordList_SteamIDList::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated fixed64 steamid = 1 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_steamid_size());
    size_t data_size = 8UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2PlayStatsPackedRecordList_SteamIDList::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2PlayStatsPackedRecordList_SteamIDList::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2PlayStatsPackedRecordList_SteamIDList::GetClassData() const { return &_class_data_; }


void CMsgSource2PlayStatsPackedRecordList_SteamIDList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2PlayStatsPackedRecordList_SteamIDList*>(&to_msg);
  auto& from = static_cast<const CMsgSource2PlayStatsPackedRecordList_SteamIDList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.steamid_.MergeFrom(from._impl_.steamid_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2PlayStatsPackedRecordList_SteamIDList::CopyFrom(const CMsgSource2PlayStatsPackedRecordList_SteamIDList& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2PlayStatsPackedRecordList.SteamIDList)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2PlayStatsPackedRecordList_SteamIDList::IsInitialized() const {
  return true;
}

void CMsgSource2PlayStatsPackedRecordList_SteamIDList::InternalSwap(CMsgSource2PlayStatsPackedRecordList_SteamIDList* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.steamid_.InternalSwap(&other->_impl_.steamid_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2PlayStatsPackedRecordList_SteamIDList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[9]);
}

// ===================================================================

class CMsgSource2PlayStatsPackedRecordList::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgSource2PlayStatsPackedRecordList>()._impl_._has_bits_);
  static void set_has_record_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_record_count(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

CMsgSource2PlayStatsPackedRecordList::CMsgSource2PlayStatsPackedRecordList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgSource2PlayStatsPackedRecordList)
}
CMsgSource2PlayStatsPackedRecordList::CMsgSource2PlayStatsPackedRecordList(const CMsgSource2PlayStatsPackedRecordList& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgSource2PlayStatsPackedRecordList* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.field_defs_){from._impl_.field_defs_}
    , decltype(_impl_.uint64_vals_){from._impl_.uint64_vals_}
    , /*decltype(_impl_._uint64_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint32_vals_){from._impl_.uint32_vals_}
    , /*decltype(_impl_._uint32_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint16_vals_){from._impl_.uint16_vals_}
    , /*decltype(_impl_._uint16_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint8_vals_){from._impl_.uint8_vals_}
    , /*decltype(_impl_._uint8_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int64_vals_){from._impl_.int64_vals_}
    , /*decltype(_impl_._int64_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int32_vals_){from._impl_.int32_vals_}
    , /*decltype(_impl_._int32_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int16_vals_){from._impl_.int16_vals_}
    , /*decltype(_impl_._int16_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int8_vals_){from._impl_.int8_vals_}
    , /*decltype(_impl_._int8_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.float64_vals_){from._impl_.float64_vals_}
    , decltype(_impl_.float32_vals_){from._impl_.float32_vals_}
    , decltype(_impl_.bool_vals_){from._impl_.bool_vals_}
    , decltype(_impl_.string_vals_){from._impl_.string_vals_}
    , decltype(_impl_.low_cardinality_string_vals_){from._impl_.low_cardinality_string_vals_}
    , decltype(_impl_.utcdatetime_vals_){from._impl_.utcdatetime_vals_}
    , decltype(_impl_.steamidtrustbucket_vals_){from._impl_.steamidtrustbucket_vals_}
    , decltype(_impl_.trustbucket_vals_){from._impl_.trustbucket_vals_}
    , decltype(_impl_.steamid_vals_){from._impl_.steamid_vals_}
    , /*decltype(_impl_._steamid_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.record_name_){}
    , decltype(_impl_.record_count_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.record_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.record_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_record_name()) {
    _this->_impl_.record_name_.Set(from._internal_record_name(), 
      _this->GetArenaForAllocation());
  }
  _this->_impl_.record_count_ = from._impl_.record_count_;
  // @@protoc_insertion_point(copy_constructor:CMsgSource2PlayStatsPackedRecordList)
}

inline void CMsgSource2PlayStatsPackedRecordList::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.field_defs_){arena}
    , decltype(_impl_.uint64_vals_){arena}
    , /*decltype(_impl_._uint64_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint32_vals_){arena}
    , /*decltype(_impl_._uint32_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint16_vals_){arena}
    , /*decltype(_impl_._uint16_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.uint8_vals_){arena}
    , /*decltype(_impl_._uint8_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int64_vals_){arena}
    , /*decltype(_impl_._int64_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int32_vals_){arena}
    , /*decltype(_impl_._int32_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int16_vals_){arena}
    , /*decltype(_impl_._int16_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.int8_vals_){arena}
    , /*decltype(_impl_._int8_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.float64_vals_){arena}
    , decltype(_impl_.float32_vals_){arena}
    , decltype(_impl_.bool_vals_){arena}
    , decltype(_impl_.string_vals_){arena}
    , decltype(_impl_.low_cardinality_string_vals_){arena}
    , decltype(_impl_.utcdatetime_vals_){arena}
    , decltype(_impl_.steamidtrustbucket_vals_){arena}
    , decltype(_impl_.trustbucket_vals_){arena}
    , decltype(_impl_.steamid_vals_){arena}
    , /*decltype(_impl_._steamid_vals_cached_byte_size_)*/{0}
    , decltype(_impl_.record_name_){}
    , decltype(_impl_.record_count_){0u}
  };
  _impl_.record_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.record_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgSource2PlayStatsPackedRecordList::~CMsgSource2PlayStatsPackedRecordList() {
  // @@protoc_insertion_point(destructor:CMsgSource2PlayStatsPackedRecordList)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgSource2PlayStatsPackedRecordList::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.field_defs_.~RepeatedPtrField();
  _impl_.uint64_vals_.~RepeatedField();
  _impl_.uint32_vals_.~RepeatedField();
  _impl_.uint16_vals_.~RepeatedField();
  _impl_.uint8_vals_.~RepeatedField();
  _impl_.int64_vals_.~RepeatedField();
  _impl_.int32_vals_.~RepeatedField();
  _impl_.int16_vals_.~RepeatedField();
  _impl_.int8_vals_.~RepeatedField();
  _impl_.float64_vals_.~RepeatedField();
  _impl_.float32_vals_.~RepeatedField();
  _impl_.bool_vals_.~RepeatedField();
  _impl_.string_vals_.~RepeatedPtrField();
  _impl_.low_cardinality_string_vals_.~RepeatedPtrField();
  _impl_.utcdatetime_vals_.~RepeatedField();
  _impl_.steamidtrustbucket_vals_.~RepeatedField();
  _impl_.trustbucket_vals_.~RepeatedPtrField();
  _impl_.steamid_vals_.~RepeatedField();
  _impl_.record_name_.Destroy();
}

void CMsgSource2PlayStatsPackedRecordList::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgSource2PlayStatsPackedRecordList::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgSource2PlayStatsPackedRecordList)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.field_defs_.Clear();
  _impl_.uint64_vals_.Clear();
  _impl_.uint32_vals_.Clear();
  _impl_.uint16_vals_.Clear();
  _impl_.uint8_vals_.Clear();
  _impl_.int64_vals_.Clear();
  _impl_.int32_vals_.Clear();
  _impl_.int16_vals_.Clear();
  _impl_.int8_vals_.Clear();
  _impl_.float64_vals_.Clear();
  _impl_.float32_vals_.Clear();
  _impl_.bool_vals_.Clear();
  _impl_.string_vals_.Clear();
  _impl_.low_cardinality_string_vals_.Clear();
  _impl_.utcdatetime_vals_.Clear();
  _impl_.steamidtrustbucket_vals_.Clear();
  _impl_.trustbucket_vals_.Clear();
  _impl_.steamid_vals_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.record_name_.ClearNonDefaultToEmpty();
  }
  _impl_.record_count_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgSource2PlayStatsPackedRecordList::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string record_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_record_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgSource2PlayStatsPackedRecordList.record_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSource2PlayStatsPackedRecordList.FieldDef field_defs = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_field_defs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 record_count = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_record_count(&has_bits);
          _impl_.record_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 uint64_vals = 4 [packed = true];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_uint64_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 32) {
          _internal_add_uint64_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 uint32_vals = 5 [packed = true];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_uint32_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 40) {
          _internal_add_uint32_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 uint16_vals = 6 [packed = true];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_uint16_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 48) {
          _internal_add_uint16_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated uint32 uint8_vals = 7 [packed = true];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt32Parser(_internal_mutable_uint8_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 56) {
          _internal_add_uint8_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int64 int64_vals = 8 [packed = true];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_int64_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 64) {
          _internal_add_int64_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 int32_vals = 9 [packed = true];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_int32_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 72) {
          _internal_add_int32_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 int16_vals = 10 [packed = true];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_int16_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 80) {
          _internal_add_int16_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated int32 int8_vals = 11 [packed = true];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_int8_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 88) {
          _internal_add_int8_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated double float64_vals = 12 [packed = true];
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_float64_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 97) {
          _internal_add_float64_vals(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
          ptr += sizeof(double);
        } else
          goto handle_unusual;
        continue;
      // repeated float float32_vals = 13 [packed = true];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFloatParser(_internal_mutable_float32_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 109) {
          _internal_add_float32_vals(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr));
          ptr += sizeof(float);
        } else
          goto handle_unusual;
        continue;
      // repeated bool bool_vals = 14 [packed = true];
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedBoolParser(_internal_mutable_bool_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 112) {
          _internal_add_bool_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string string_vals = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_string_vals();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            #ifndef NDEBUG
            ::_pbi::VerifyUTF8(str, "CMsgSource2PlayStatsPackedRecordList.string_vals");
            #endif  // !NDEBUG
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated string low_cardinality_string_vals = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_low_cardinality_string_vals();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            #ifndef NDEBUG
            ::_pbi::VerifyUTF8(str, "CMsgSource2PlayStatsPackedRecordList.low_cardinality_string_vals");
            #endif  // !NDEBUG
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated fixed32 utcdatetime_vals = 17 [packed = true];
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFixed32Parser(_internal_mutable_utcdatetime_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 141) {
          _internal_add_utcdatetime_vals(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint32_t>(ptr));
          ptr += sizeof(uint32_t);
        } else
          goto handle_unusual;
        continue;
      // repeated fixed64 steamidtrustbucket_vals = 18 [packed = true];
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFixed64Parser(_internal_mutable_steamidtrustbucket_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 145) {
          _internal_add_steamidtrustbucket_vals(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr));
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // repeated .CMsgSource2PlayStatsPackedRecordList.SteamIDList trustbucket_vals = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_trustbucket_vals(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated uint64 steamid_vals = 20 [packed = true];
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_steamid_vals(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<uint8_t>(tag) == 160) {
          _internal_add_steamid_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgSource2PlayStatsPackedRecordList::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgSource2PlayStatsPackedRecordList)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string record_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_record_name().data(), static_cast<int>(this->_internal_record_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2PlayStatsPackedRecordList.record_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_record_name(), target);
  }

  // repeated .CMsgSource2PlayStatsPackedRecordList.FieldDef field_defs = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_field_defs_size()); i < n; i++) {
    const auto& repfield = this->_internal_field_defs(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // optional uint32 record_count = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_record_count(), target);
  }

  // repeated uint64 uint64_vals = 4 [packed = true];
  {
    int byte_size = _impl_._uint64_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          4, _internal_uint64_vals(), byte_size, target);
    }
  }

  // repeated uint32 uint32_vals = 5 [packed = true];
  {
    int byte_size = _impl_._uint32_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          5, _internal_uint32_vals(), byte_size, target);
    }
  }

  // repeated uint32 uint16_vals = 6 [packed = true];
  {
    int byte_size = _impl_._uint16_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          6, _internal_uint16_vals(), byte_size, target);
    }
  }

  // repeated uint32 uint8_vals = 7 [packed = true];
  {
    int byte_size = _impl_._uint8_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt32Packed(
          7, _internal_uint8_vals(), byte_size, target);
    }
  }

  // repeated int64 int64_vals = 8 [packed = true];
  {
    int byte_size = _impl_._int64_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(
          8, _internal_int64_vals(), byte_size, target);
    }
  }

  // repeated int32 int32_vals = 9 [packed = true];
  {
    int byte_size = _impl_._int32_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          9, _internal_int32_vals(), byte_size, target);
    }
  }

  // repeated int32 int16_vals = 10 [packed = true];
  {
    int byte_size = _impl_._int16_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          10, _internal_int16_vals(), byte_size, target);
    }
  }

  // repeated int32 int8_vals = 11 [packed = true];
  {
    int byte_size = _impl_._int8_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(
          11, _internal_int8_vals(), byte_size, target);
    }
  }

  // repeated double float64_vals = 12 [packed = true];
  if (this->_internal_float64_vals_size() > 0) {
    target = stream->WriteFixedPacked(12, _internal_float64_vals(), target);
  }

  // repeated float float32_vals = 13 [packed = true];
  if (this->_internal_float32_vals_size() > 0) {
    target = stream->WriteFixedPacked(13, _internal_float32_vals(), target);
  }

  // repeated bool bool_vals = 14 [packed = true];
  if (this->_internal_bool_vals_size() > 0) {
    target = stream->WriteFixedPacked(14, _internal_bool_vals(), target);
  }

  // repeated string string_vals = 15;
  for (int i = 0, n = this->_internal_string_vals_size(); i < n; i++) {
    const auto& s = this->_internal_string_vals(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2PlayStatsPackedRecordList.string_vals");
    target = stream->WriteString(15, s, target);
  }

  // repeated string low_cardinality_string_vals = 16;
  for (int i = 0, n = this->_internal_low_cardinality_string_vals_size(); i < n; i++) {
    const auto& s = this->_internal_low_cardinality_string_vals(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgSource2PlayStatsPackedRecordList.low_cardinality_string_vals");
    target = stream->WriteString(16, s, target);
  }

  // repeated fixed32 utcdatetime_vals = 17 [packed = true];
  if (this->_internal_utcdatetime_vals_size() > 0) {
    target = stream->WriteFixedPacked(17, _internal_utcdatetime_vals(), target);
  }

  // repeated fixed64 steamidtrustbucket_vals = 18 [packed = true];
  if (this->_internal_steamidtrustbucket_vals_size() > 0) {
    target = stream->WriteFixedPacked(18, _internal_steamidtrustbucket_vals(), target);
  }

  // repeated .CMsgSource2PlayStatsPackedRecordList.SteamIDList trustbucket_vals = 19;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_trustbucket_vals_size()); i < n; i++) {
    const auto& repfield = this->_internal_trustbucket_vals(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(19, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated uint64 steamid_vals = 20 [packed = true];
  {
    int byte_size = _impl_._steamid_vals_cached_byte_size_.load(std::memory_order_relaxed);
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          20, _internal_steamid_vals(), byte_size, target);
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgSource2PlayStatsPackedRecordList)
  return target;
}

size_t CMsgSource2PlayStatsPackedRecordList::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgSource2PlayStatsPackedRecordList)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CMsgSource2PlayStatsPackedRecordList.FieldDef field_defs = 2;
  total_size += 1UL * this->_internal_field_defs_size();
  for (const auto& msg : this->_impl_.field_defs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated uint64 uint64_vals = 4 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.uint64_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._uint64_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 uint32_vals = 5 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.uint32_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._uint32_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 uint16_vals = 6 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.uint16_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._uint16_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated uint32 uint8_vals = 7 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt32Size(this->_impl_.uint8_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._uint8_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int64 int64_vals = 8 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int64Size(this->_impl_.int64_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._int64_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 int32_vals = 9 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.int32_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._int32_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 int16_vals = 10 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.int16_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._int16_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated int32 int8_vals = 11 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      Int32Size(this->_impl_.int8_vals_);
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._int8_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  // repeated double float64_vals = 12 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_float64_vals_size());
    size_t data_size = 8UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated float float32_vals = 13 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_float32_vals_size());
    size_t data_size = 4UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated bool bool_vals = 14 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_bool_vals_size());
    size_t data_size = 1UL * count;
    if (data_size > 0) {
      total_size += 1 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated string string_vals = 15;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.string_vals_.size());
  for (int i = 0, n = _impl_.string_vals_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      _impl_.string_vals_.Get(i));
  }

  // repeated string low_cardinality_string_vals = 16;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.low_cardinality_string_vals_.size());
  for (int i = 0, n = _impl_.low_cardinality_string_vals_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      _impl_.low_cardinality_string_vals_.Get(i));
  }

  // repeated fixed32 utcdatetime_vals = 17 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_utcdatetime_vals_size());
    size_t data_size = 4UL * count;
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated fixed64 steamidtrustbucket_vals = 18 [packed = true];
  {
    unsigned int count = static_cast<unsigned int>(this->_internal_steamidtrustbucket_vals_size());
    size_t data_size = 8UL * count;
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    total_size += data_size;
  }

  // repeated .CMsgSource2PlayStatsPackedRecordList.SteamIDList trustbucket_vals = 19;
  total_size += 2UL * this->_internal_trustbucket_vals_size();
  for (const auto& msg : this->_impl_.trustbucket_vals_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated uint64 steamid_vals = 20 [packed = true];
  {
    size_t data_size = ::_pbi::WireFormatLite::
      UInt64Size(this->_impl_.steamid_vals_);
    if (data_size > 0) {
      total_size += 2 +
        ::_pbi::WireFormatLite::Int32Size(static_cast<int32_t>(data_size));
    }
    int cached_size = ::_pbi::ToCachedSize(data_size);
    _impl_._steamid_vals_cached_byte_size_.store(cached_size,
                                    std::memory_order_relaxed);
    total_size += data_size;
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string record_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_record_name());
    }

    // optional uint32 record_count = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_record_count());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgSource2PlayStatsPackedRecordList::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgSource2PlayStatsPackedRecordList::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgSource2PlayStatsPackedRecordList::GetClassData() const { return &_class_data_; }


void CMsgSource2PlayStatsPackedRecordList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgSource2PlayStatsPackedRecordList*>(&to_msg);
  auto& from = static_cast<const CMsgSource2PlayStatsPackedRecordList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgSource2PlayStatsPackedRecordList)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.field_defs_.MergeFrom(from._impl_.field_defs_);
  _this->_impl_.uint64_vals_.MergeFrom(from._impl_.uint64_vals_);
  _this->_impl_.uint32_vals_.MergeFrom(from._impl_.uint32_vals_);
  _this->_impl_.uint16_vals_.MergeFrom(from._impl_.uint16_vals_);
  _this->_impl_.uint8_vals_.MergeFrom(from._impl_.uint8_vals_);
  _this->_impl_.int64_vals_.MergeFrom(from._impl_.int64_vals_);
  _this->_impl_.int32_vals_.MergeFrom(from._impl_.int32_vals_);
  _this->_impl_.int16_vals_.MergeFrom(from._impl_.int16_vals_);
  _this->_impl_.int8_vals_.MergeFrom(from._impl_.int8_vals_);
  _this->_impl_.float64_vals_.MergeFrom(from._impl_.float64_vals_);
  _this->_impl_.float32_vals_.MergeFrom(from._impl_.float32_vals_);
  _this->_impl_.bool_vals_.MergeFrom(from._impl_.bool_vals_);
  _this->_impl_.string_vals_.MergeFrom(from._impl_.string_vals_);
  _this->_impl_.low_cardinality_string_vals_.MergeFrom(from._impl_.low_cardinality_string_vals_);
  _this->_impl_.utcdatetime_vals_.MergeFrom(from._impl_.utcdatetime_vals_);
  _this->_impl_.steamidtrustbucket_vals_.MergeFrom(from._impl_.steamidtrustbucket_vals_);
  _this->_impl_.trustbucket_vals_.MergeFrom(from._impl_.trustbucket_vals_);
  _this->_impl_.steamid_vals_.MergeFrom(from._impl_.steamid_vals_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_record_name(from._internal_record_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.record_count_ = from._impl_.record_count_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgSource2PlayStatsPackedRecordList::CopyFrom(const CMsgSource2PlayStatsPackedRecordList& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgSource2PlayStatsPackedRecordList)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgSource2PlayStatsPackedRecordList::IsInitialized() const {
  return true;
}

void CMsgSource2PlayStatsPackedRecordList::InternalSwap(CMsgSource2PlayStatsPackedRecordList* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.field_defs_.InternalSwap(&other->_impl_.field_defs_);
  _impl_.uint64_vals_.InternalSwap(&other->_impl_.uint64_vals_);
  _impl_.uint32_vals_.InternalSwap(&other->_impl_.uint32_vals_);
  _impl_.uint16_vals_.InternalSwap(&other->_impl_.uint16_vals_);
  _impl_.uint8_vals_.InternalSwap(&other->_impl_.uint8_vals_);
  _impl_.int64_vals_.InternalSwap(&other->_impl_.int64_vals_);
  _impl_.int32_vals_.InternalSwap(&other->_impl_.int32_vals_);
  _impl_.int16_vals_.InternalSwap(&other->_impl_.int16_vals_);
  _impl_.int8_vals_.InternalSwap(&other->_impl_.int8_vals_);
  _impl_.float64_vals_.InternalSwap(&other->_impl_.float64_vals_);
  _impl_.float32_vals_.InternalSwap(&other->_impl_.float32_vals_);
  _impl_.bool_vals_.InternalSwap(&other->_impl_.bool_vals_);
  _impl_.string_vals_.InternalSwap(&other->_impl_.string_vals_);
  _impl_.low_cardinality_string_vals_.InternalSwap(&other->_impl_.low_cardinality_string_vals_);
  _impl_.utcdatetime_vals_.InternalSwap(&other->_impl_.utcdatetime_vals_);
  _impl_.steamidtrustbucket_vals_.InternalSwap(&other->_impl_.steamidtrustbucket_vals_);
  _impl_.trustbucket_vals_.InternalSwap(&other->_impl_.trustbucket_vals_);
  _impl_.steamid_vals_.InternalSwap(&other->_impl_.steamid_vals_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.record_name_, lhs_arena,
      &other->_impl_.record_name_, rhs_arena
  );
  swap(_impl_.record_count_, other->_impl_.record_count_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgSource2PlayStatsPackedRecordList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[10]);
}

// ===================================================================

class CSource2Metrics_RecordPlayStats_Notification::_Internal {
 public:
  using HasBits = decltype(std::declval<CSource2Metrics_RecordPlayStats_Notification>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CSource2Metrics_RecordPlayStats_Notification::CSource2Metrics_RecordPlayStats_Notification(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_RecordPlayStats_Notification)
}
CSource2Metrics_RecordPlayStats_Notification::CSource2Metrics_RecordPlayStats_Notification(const CSource2Metrics_RecordPlayStats_Notification& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_RecordPlayStats_Notification* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.record_types_){from._impl_.record_types_}
    , decltype(_impl_.appid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _this->_impl_.appid_ = from._impl_.appid_;
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_RecordPlayStats_Notification)
}

inline void CSource2Metrics_RecordPlayStats_Notification::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.record_types_){arena}
    , decltype(_impl_.appid_){0u}
  };
}

CSource2Metrics_RecordPlayStats_Notification::~CSource2Metrics_RecordPlayStats_Notification() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_RecordPlayStats_Notification)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_RecordPlayStats_Notification::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.record_types_.~RepeatedPtrField();
}

void CSource2Metrics_RecordPlayStats_Notification::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_RecordPlayStats_Notification::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_RecordPlayStats_Notification)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.record_types_.Clear();
  _impl_.appid_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_RecordPlayStats_Notification::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .CMsgSource2PlayStatsPackedRecordList record_types = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_record_types(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      // optional uint32 appid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_RecordPlayStats_Notification::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_RecordPlayStats_Notification)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .CMsgSource2PlayStatsPackedRecordList record_types = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_record_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_record_types(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_appid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_RecordPlayStats_Notification)
  return target;
}

size_t CSource2Metrics_RecordPlayStats_Notification::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_RecordPlayStats_Notification)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CMsgSource2PlayStatsPackedRecordList record_types = 1;
  total_size += 1UL * this->_internal_record_types_size();
  for (const auto& msg : this->_impl_.record_types_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // optional uint32 appid = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_RecordPlayStats_Notification::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_RecordPlayStats_Notification::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_RecordPlayStats_Notification::GetClassData() const { return &_class_data_; }


void CSource2Metrics_RecordPlayStats_Notification::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_RecordPlayStats_Notification*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_RecordPlayStats_Notification&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_RecordPlayStats_Notification)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.record_types_.MergeFrom(from._impl_.record_types_);
  if (from._internal_has_appid()) {
    _this->_internal_set_appid(from._internal_appid());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_RecordPlayStats_Notification::CopyFrom(const CSource2Metrics_RecordPlayStats_Notification& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_RecordPlayStats_Notification)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_RecordPlayStats_Notification::IsInitialized() const {
  return true;
}

void CSource2Metrics_RecordPlayStats_Notification::InternalSwap(CSource2Metrics_RecordPlayStats_Notification* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.record_types_.InternalSwap(&other->_impl_.record_types_);
  swap(_impl_.appid_, other->_impl_.appid_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_RecordPlayStats_Notification::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[11]);
}

// ===================================================================

class CSource2Metrics_FetchMapData_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CSource2Metrics_FetchMapData_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_map_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_game_type(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_game_mode(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_param(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_time_span(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
};

CSource2Metrics_FetchMapData_Request::CSource2Metrics_FetchMapData_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_FetchMapData_Request)
}
CSource2Metrics_FetchMapData_Request::CSource2Metrics_FetchMapData_Request(const CSource2Metrics_FetchMapData_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_FetchMapData_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.map_name_){}
    , decltype(_impl_.param_){}
    , decltype(_impl_.appid_){}
    , decltype(_impl_.game_type_){}
    , decltype(_impl_.game_mode_){}
    , decltype(_impl_.time_span_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.map_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.map_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_map_name()) {
    _this->_impl_.map_name_.Set(from._internal_map_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.param_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.param_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_param()) {
    _this->_impl_.param_.Set(from._internal_param(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.appid_, &from._impl_.appid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.time_span_) -
    reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.time_span_));
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_FetchMapData_Request)
}

inline void CSource2Metrics_FetchMapData_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.map_name_){}
    , decltype(_impl_.param_){}
    , decltype(_impl_.appid_){0u}
    , decltype(_impl_.game_type_){0u}
    , decltype(_impl_.game_mode_){0u}
    , decltype(_impl_.time_span_){0u}
  };
  _impl_.map_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.map_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.param_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.param_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CSource2Metrics_FetchMapData_Request::~CSource2Metrics_FetchMapData_Request() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_FetchMapData_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_FetchMapData_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.map_name_.Destroy();
  _impl_.param_.Destroy();
}

void CSource2Metrics_FetchMapData_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_FetchMapData_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_FetchMapData_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.map_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.param_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000003cu) {
    ::memset(&_impl_.appid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.time_span_) -
        reinterpret_cast<char*>(&_impl_.appid_)) + sizeof(_impl_.time_span_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_FetchMapData_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string map_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_map_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_FetchMapData_Request.map_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 game_type = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_game_type(&has_bits);
          _impl_.game_type_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 game_mode = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_game_mode(&has_bits);
          _impl_.game_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string param = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          auto str = _internal_mutable_param();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_FetchMapData_Request.param");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 time_span = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          _Internal::set_has_time_span(&has_bits);
          _impl_.time_span_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_FetchMapData_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_FetchMapData_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional string map_name = 2;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_map_name().data(), static_cast<int>(this->_internal_map_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_FetchMapData_Request.map_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_map_name(), target);
  }

  // optional uint32 game_type = 3;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_game_type(), target);
  }

  // optional uint32 game_mode = 4;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_game_mode(), target);
  }

  // optional string param = 5;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_param().data(), static_cast<int>(this->_internal_param().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_FetchMapData_Request.param");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_param(), target);
  }

  // optional uint32 time_span = 6;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_time_span(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_FetchMapData_Request)
  return target;
}

size_t CSource2Metrics_FetchMapData_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_FetchMapData_Request)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // optional string map_name = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_map_name());
    }

    // optional string param = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_param());
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

    // optional uint32 game_type = 3;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_game_type());
    }

    // optional uint32 game_mode = 4;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_game_mode());
    }

    // optional uint32 time_span = 6;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_time_span());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_FetchMapData_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_FetchMapData_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_FetchMapData_Request::GetClassData() const { return &_class_data_; }


void CSource2Metrics_FetchMapData_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_FetchMapData_Request*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_FetchMapData_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_FetchMapData_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_map_name(from._internal_map_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_param(from._internal_param());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.game_type_ = from._impl_.game_type_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.game_mode_ = from._impl_.game_mode_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.time_span_ = from._impl_.time_span_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_FetchMapData_Request::CopyFrom(const CSource2Metrics_FetchMapData_Request& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_FetchMapData_Request)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_FetchMapData_Request::IsInitialized() const {
  return true;
}

void CSource2Metrics_FetchMapData_Request::InternalSwap(CSource2Metrics_FetchMapData_Request* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.map_name_, lhs_arena,
      &other->_impl_.map_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.param_, lhs_arena,
      &other->_impl_.param_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CSource2Metrics_FetchMapData_Request, _impl_.time_span_)
      + sizeof(CSource2Metrics_FetchMapData_Request::_impl_.time_span_)
      - PROTOBUF_FIELD_OFFSET(CSource2Metrics_FetchMapData_Request, _impl_.appid_)>(
          reinterpret_cast<char*>(&_impl_.appid_),
          reinterpret_cast<char*>(&other->_impl_.appid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_FetchMapData_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[12]);
}

// ===================================================================

class CSource2Metrics_FetchMapData_Response_MapData::_Internal {
 public:
  using HasBits = decltype(std::declval<CSource2Metrics_FetchMapData_Response_MapData>()._impl_._has_bits_);
  static void set_has_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_data(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

CSource2Metrics_FetchMapData_Response_MapData::CSource2Metrics_FetchMapData_Response_MapData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_FetchMapData_Response.MapData)
}
CSource2Metrics_FetchMapData_Response_MapData::CSource2Metrics_FetchMapData_Response_MapData(const CSource2Metrics_FetchMapData_Response_MapData& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_FetchMapData_Response_MapData* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.name_){}
    , decltype(_impl_.type_){}
    , decltype(_impl_.data_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_name()) {
    _this->_impl_.name_.Set(from._internal_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.type_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_type()) {
    _this->_impl_.type_.Set(from._internal_type(), 
      _this->GetArenaForAllocation());
  }
  _impl_.data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_data()) {
    _this->_impl_.data_.Set(from._internal_data(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_FetchMapData_Response.MapData)
}

inline void CSource2Metrics_FetchMapData_Response_MapData::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.name_){}
    , decltype(_impl_.type_){}
    , decltype(_impl_.data_){}
  };
  _impl_.name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.type_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.data_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.data_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CSource2Metrics_FetchMapData_Response_MapData::~CSource2Metrics_FetchMapData_Response_MapData() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_FetchMapData_Response.MapData)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_FetchMapData_Response_MapData::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.name_.Destroy();
  _impl_.type_.Destroy();
  _impl_.data_.Destroy();
}

void CSource2Metrics_FetchMapData_Response_MapData::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_FetchMapData_Response_MapData::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_FetchMapData_Response.MapData)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.data_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_FetchMapData_Response_MapData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_FetchMapData_Response.MapData.name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_type();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_FetchMapData_Response.MapData.type");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string data = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_data();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CSource2Metrics_FetchMapData_Response.MapData.data");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_FetchMapData_Response_MapData::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_FetchMapData_Response.MapData)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_FetchMapData_Response.MapData.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // optional string type = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_type().data(), static_cast<int>(this->_internal_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_FetchMapData_Response.MapData.type");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_type(), target);
  }

  // optional string data = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_data().data(), static_cast<int>(this->_internal_data().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CSource2Metrics_FetchMapData_Response.MapData.data");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_data(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_FetchMapData_Response.MapData)
  return target;
}

size_t CSource2Metrics_FetchMapData_Response_MapData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_FetchMapData_Response.MapData)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_name());
    }

    // optional string type = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_type());
    }

    // optional string data = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_data());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_FetchMapData_Response_MapData::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_FetchMapData_Response_MapData::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_FetchMapData_Response_MapData::GetClassData() const { return &_class_data_; }


void CSource2Metrics_FetchMapData_Response_MapData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_FetchMapData_Response_MapData*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_FetchMapData_Response_MapData&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_FetchMapData_Response.MapData)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_type(from._internal_type());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_data(from._internal_data());
    }
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_FetchMapData_Response_MapData::CopyFrom(const CSource2Metrics_FetchMapData_Response_MapData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_FetchMapData_Response.MapData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_FetchMapData_Response_MapData::IsInitialized() const {
  return true;
}

void CSource2Metrics_FetchMapData_Response_MapData::InternalSwap(CSource2Metrics_FetchMapData_Response_MapData* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.name_, lhs_arena,
      &other->_impl_.name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.type_, lhs_arena,
      &other->_impl_.type_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.data_, lhs_arena,
      &other->_impl_.data_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_FetchMapData_Response_MapData::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[13]);
}

// ===================================================================

class CSource2Metrics_FetchMapData_Response::_Internal {
 public:
};

CSource2Metrics_FetchMapData_Response::CSource2Metrics_FetchMapData_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CSource2Metrics_FetchMapData_Response)
}
CSource2Metrics_FetchMapData_Response::CSource2Metrics_FetchMapData_Response(const CSource2Metrics_FetchMapData_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CSource2Metrics_FetchMapData_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.results_){from._impl_.results_}
    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:CSource2Metrics_FetchMapData_Response)
}

inline void CSource2Metrics_FetchMapData_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_.results_){arena}
    , /*decltype(_impl_._cached_size_)*/{}
  };
}

CSource2Metrics_FetchMapData_Response::~CSource2Metrics_FetchMapData_Response() {
  // @@protoc_insertion_point(destructor:CSource2Metrics_FetchMapData_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CSource2Metrics_FetchMapData_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.results_.~RepeatedPtrField();
}

void CSource2Metrics_FetchMapData_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CSource2Metrics_FetchMapData_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CSource2Metrics_FetchMapData_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.results_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CSource2Metrics_FetchMapData_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .CSource2Metrics_FetchMapData_Response.MapData results = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_results(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CSource2Metrics_FetchMapData_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CSource2Metrics_FetchMapData_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .CSource2Metrics_FetchMapData_Response.MapData results = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_results_size()); i < n; i++) {
    const auto& repfield = this->_internal_results(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CSource2Metrics_FetchMapData_Response)
  return target;
}

size_t CSource2Metrics_FetchMapData_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CSource2Metrics_FetchMapData_Response)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .CSource2Metrics_FetchMapData_Response.MapData results = 1;
  total_size += 1UL * this->_internal_results_size();
  for (const auto& msg : this->_impl_.results_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CSource2Metrics_FetchMapData_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CSource2Metrics_FetchMapData_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CSource2Metrics_FetchMapData_Response::GetClassData() const { return &_class_data_; }


void CSource2Metrics_FetchMapData_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CSource2Metrics_FetchMapData_Response*>(&to_msg);
  auto& from = static_cast<const CSource2Metrics_FetchMapData_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CSource2Metrics_FetchMapData_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.results_.MergeFrom(from._impl_.results_);
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CSource2Metrics_FetchMapData_Response::CopyFrom(const CSource2Metrics_FetchMapData_Response& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CSource2Metrics_FetchMapData_Response)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CSource2Metrics_FetchMapData_Response::IsInitialized() const {
  return true;
}

void CSource2Metrics_FetchMapData_Response::InternalSwap(CSource2Metrics_FetchMapData_Response* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.results_.InternalSwap(&other->_impl_.results_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CSource2Metrics_FetchMapData_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[14]);
}

// ===================================================================

class CUserMessage_UserSentBugBug::_Internal {
 public:
  using HasBits = decltype(std::declval<CUserMessage_UserSentBugBug>()._impl_._has_bits_);
  static void set_has_command_line(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_autoexec_cfg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::CMsgSource2SystemSpecs& system_specs(const CUserMessage_UserSentBugBug* msg);
  static void set_has_system_specs(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_build_id(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_osversion(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_command_logs(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_bugbug_no(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
};

const ::CMsgSource2SystemSpecs&
CUserMessage_UserSentBugBug::_Internal::system_specs(const CUserMessage_UserSentBugBug* msg) {
  return *msg->_impl_.system_specs_;
}
CUserMessage_UserSentBugBug::CUserMessage_UserSentBugBug(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CUserMessage_UserSentBugBug)
}
CUserMessage_UserSentBugBug::CUserMessage_UserSentBugBug(const CUserMessage_UserSentBugBug& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CUserMessage_UserSentBugBug* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.command_line_){}
    , decltype(_impl_.autoexec_cfg_){}
    , decltype(_impl_.command_logs_){}
    , decltype(_impl_.system_specs_){nullptr}
    , decltype(_impl_.build_id_){}
    , decltype(_impl_.osversion_){}
    , decltype(_impl_.bugbug_no_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.command_line_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.command_line_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_command_line()) {
    _this->_impl_.command_line_.Set(from._internal_command_line(), 
      _this->GetArenaForAllocation());
  }
  _impl_.autoexec_cfg_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.autoexec_cfg_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_autoexec_cfg()) {
    _this->_impl_.autoexec_cfg_.Set(from._internal_autoexec_cfg(), 
      _this->GetArenaForAllocation());
  }
  _impl_.command_logs_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.command_logs_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_command_logs()) {
    _this->_impl_.command_logs_.Set(from._internal_command_logs(), 
      _this->GetArenaForAllocation());
  }
  if (from._internal_has_system_specs()) {
    _this->_impl_.system_specs_ = new ::CMsgSource2SystemSpecs(*from._impl_.system_specs_);
  }
  ::memcpy(&_impl_.build_id_, &from._impl_.build_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.bugbug_no_) -
    reinterpret_cast<char*>(&_impl_.build_id_)) + sizeof(_impl_.bugbug_no_));
  // @@protoc_insertion_point(copy_constructor:CUserMessage_UserSentBugBug)
}

inline void CUserMessage_UserSentBugBug::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.command_line_){}
    , decltype(_impl_.autoexec_cfg_){}
    , decltype(_impl_.command_logs_){}
    , decltype(_impl_.system_specs_){nullptr}
    , decltype(_impl_.build_id_){0u}
    , decltype(_impl_.osversion_){0}
    , decltype(_impl_.bugbug_no_){0}
  };
  _impl_.command_line_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.command_line_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.autoexec_cfg_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.autoexec_cfg_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.command_logs_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.command_logs_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CUserMessage_UserSentBugBug::~CUserMessage_UserSentBugBug() {
  // @@protoc_insertion_point(destructor:CUserMessage_UserSentBugBug)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CUserMessage_UserSentBugBug::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.command_line_.Destroy();
  _impl_.autoexec_cfg_.Destroy();
  _impl_.command_logs_.Destroy();
  if (this != internal_default_instance()) delete _impl_.system_specs_;
}

void CUserMessage_UserSentBugBug::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CUserMessage_UserSentBugBug::Clear() {
// @@protoc_insertion_point(message_clear_start:CUserMessage_UserSentBugBug)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.command_line_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.autoexec_cfg_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      _impl_.command_logs_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(_impl_.system_specs_ != nullptr);
      _impl_.system_specs_->Clear();
    }
  }
  if (cached_has_bits & 0x00000070u) {
    ::memset(&_impl_.build_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.bugbug_no_) -
        reinterpret_cast<char*>(&_impl_.build_id_)) + sizeof(_impl_.bugbug_no_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CUserMessage_UserSentBugBug::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string command_line = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_command_line();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CUserMessage_UserSentBugBug.command_line");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional string autoexec_cfg = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_autoexec_cfg();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CUserMessage_UserSentBugBug.autoexec_cfg");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional .CMsgSource2SystemSpecs system_specs = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_system_specs(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 build_id = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          _Internal::set_has_build_id(&has_bits);
          _impl_.build_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional int32 osversion = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          _Internal::set_has_osversion(&has_bits);
          _impl_.osversion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string command_logs = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_command_logs();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CUserMessage_UserSentBugBug.command_logs");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional int32 bugbug_no = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          _Internal::set_has_bugbug_no(&has_bits);
          _impl_.bugbug_no_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CUserMessage_UserSentBugBug::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CUserMessage_UserSentBugBug)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string command_line = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_command_line().data(), static_cast<int>(this->_internal_command_line().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CUserMessage_UserSentBugBug.command_line");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_command_line(), target);
  }

  // optional string autoexec_cfg = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_autoexec_cfg().data(), static_cast<int>(this->_internal_autoexec_cfg().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CUserMessage_UserSentBugBug.autoexec_cfg");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_autoexec_cfg(), target);
  }

  // optional .CMsgSource2SystemSpecs system_specs = 3;
  if (cached_has_bits & 0x00000008u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::system_specs(this),
        _Internal::system_specs(this).GetCachedSize(), target, stream);
  }

  // optional uint32 build_id = 4;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_build_id(), target);
  }

  // optional int32 osversion = 5;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_osversion(), target);
  }

  // optional string command_logs = 6;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_command_logs().data(), static_cast<int>(this->_internal_command_logs().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CUserMessage_UserSentBugBug.command_logs");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_command_logs(), target);
  }

  // optional int32 bugbug_no = 7;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(7, this->_internal_bugbug_no(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CUserMessage_UserSentBugBug)
  return target;
}

size_t CUserMessage_UserSentBugBug::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CUserMessage_UserSentBugBug)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    // optional string command_line = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_command_line());
    }

    // optional string autoexec_cfg = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_autoexec_cfg());
    }

    // optional string command_logs = 6;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_command_logs());
    }

    // optional .CMsgSource2SystemSpecs system_specs = 3;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.system_specs_);
    }

    // optional uint32 build_id = 4;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_build_id());
    }

    // optional int32 osversion = 5;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_osversion());
    }

    // optional int32 bugbug_no = 7;
    if (cached_has_bits & 0x00000040u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_bugbug_no());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CUserMessage_UserSentBugBug::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CUserMessage_UserSentBugBug::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CUserMessage_UserSentBugBug::GetClassData() const { return &_class_data_; }


void CUserMessage_UserSentBugBug::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CUserMessage_UserSentBugBug*>(&to_msg);
  auto& from = static_cast<const CUserMessage_UserSentBugBug&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CUserMessage_UserSentBugBug)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_command_line(from._internal_command_line());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_autoexec_cfg(from._internal_autoexec_cfg());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_set_command_logs(from._internal_command_logs());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_system_specs()->::CMsgSource2SystemSpecs::MergeFrom(
          from._internal_system_specs());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.build_id_ = from._impl_.build_id_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.osversion_ = from._impl_.osversion_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.bugbug_no_ = from._impl_.bugbug_no_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CUserMessage_UserSentBugBug::CopyFrom(const CUserMessage_UserSentBugBug& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CUserMessage_UserSentBugBug)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CUserMessage_UserSentBugBug::IsInitialized() const {
  return true;
}

void CUserMessage_UserSentBugBug::InternalSwap(CUserMessage_UserSentBugBug* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.command_line_, lhs_arena,
      &other->_impl_.command_line_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.autoexec_cfg_, lhs_arena,
      &other->_impl_.autoexec_cfg_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.command_logs_, lhs_arena,
      &other->_impl_.command_logs_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CUserMessage_UserSentBugBug, _impl_.bugbug_no_)
      + sizeof(CUserMessage_UserSentBugBug::_impl_.bugbug_no_)
      - PROTOBUF_FIELD_OFFSET(CUserMessage_UserSentBugBug, _impl_.system_specs_)>(
          reinterpret_cast<char*>(&_impl_.system_specs_),
          reinterpret_cast<char*>(&other->_impl_.system_specs_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CUserMessage_UserSentBugBug::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_source2_5fsteam_5fstats_2eproto_getter, &descriptor_table_source2_5fsteam_5fstats_2eproto_once,
      file_level_metadata_source2_5fsteam_5fstats_2eproto[15]);
}

// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::CMsgSource2SystemSpecs*
Arena::CreateMaybeMessage< ::CMsgSource2SystemSpecs >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2SystemSpecs >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2VProfLiteReportItem*
Arena::CreateMaybeMessage< ::CMsgSource2VProfLiteReportItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2VProfLiteReportItem >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2VProfLiteReport*
Arena::CreateMaybeMessage< ::CMsgSource2VProfLiteReport >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2VProfLiteReport >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2NetworkFlowQuality*
Arena::CreateMaybeMessage< ::CMsgSource2NetworkFlowQuality >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2NetworkFlowQuality >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2PerfIntervalSample_Tag*
Arena::CreateMaybeMessage< ::CMsgSource2PerfIntervalSample_Tag >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2PerfIntervalSample_Tag >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2PerfIntervalSample*
Arena::CreateMaybeMessage< ::CMsgSource2PerfIntervalSample >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2PerfIntervalSample >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_MatchPerfSummary_Notification_Client*
Arena::CreateMaybeMessage< ::CSource2Metrics_MatchPerfSummary_Notification_Client >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_MatchPerfSummary_Notification_Client >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_MatchPerfSummary_Notification*
Arena::CreateMaybeMessage< ::CSource2Metrics_MatchPerfSummary_Notification >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_MatchPerfSummary_Notification >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2PlayStatsPackedRecordList_FieldDef*
Arena::CreateMaybeMessage< ::CMsgSource2PlayStatsPackedRecordList_FieldDef >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2PlayStatsPackedRecordList_FieldDef >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2PlayStatsPackedRecordList_SteamIDList*
Arena::CreateMaybeMessage< ::CMsgSource2PlayStatsPackedRecordList_SteamIDList >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2PlayStatsPackedRecordList_SteamIDList >(arena);
}
template<> PROTOBUF_NOINLINE ::CMsgSource2PlayStatsPackedRecordList*
Arena::CreateMaybeMessage< ::CMsgSource2PlayStatsPackedRecordList >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgSource2PlayStatsPackedRecordList >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_RecordPlayStats_Notification*
Arena::CreateMaybeMessage< ::CSource2Metrics_RecordPlayStats_Notification >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_RecordPlayStats_Notification >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_FetchMapData_Request*
Arena::CreateMaybeMessage< ::CSource2Metrics_FetchMapData_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_FetchMapData_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_FetchMapData_Response_MapData*
Arena::CreateMaybeMessage< ::CSource2Metrics_FetchMapData_Response_MapData >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_FetchMapData_Response_MapData >(arena);
}
template<> PROTOBUF_NOINLINE ::CSource2Metrics_FetchMapData_Response*
Arena::CreateMaybeMessage< ::CSource2Metrics_FetchMapData_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CSource2Metrics_FetchMapData_Response >(arena);
}
template<> PROTOBUF_NOINLINE ::CUserMessage_UserSentBugBug*
Arena::CreateMaybeMessage< ::CUserMessage_UserSentBugBug >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CUserMessage_UserSentBugBug >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
