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

#ifndef GOOGLE_PROTOBUF_INCLUDED_source2_5fsteam_5fstats_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_source2_5fsteam_5fstats_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_source2_5fsteam_5fstats_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_source2_5fsteam_5fstats_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_source2_5fsteam_5fstats_2eproto;
class CMsgSource2NetworkFlowQuality;
struct CMsgSource2NetworkFlowQualityDefaultTypeInternal;
extern CMsgSource2NetworkFlowQualityDefaultTypeInternal _CMsgSource2NetworkFlowQuality_default_instance_;
class CMsgSource2PerfIntervalSample;
struct CMsgSource2PerfIntervalSampleDefaultTypeInternal;
extern CMsgSource2PerfIntervalSampleDefaultTypeInternal _CMsgSource2PerfIntervalSample_default_instance_;
class CMsgSource2PerfIntervalSample_Tag;
struct CMsgSource2PerfIntervalSample_TagDefaultTypeInternal;
extern CMsgSource2PerfIntervalSample_TagDefaultTypeInternal _CMsgSource2PerfIntervalSample_Tag_default_instance_;
class CMsgSource2SystemSpecs;
struct CMsgSource2SystemSpecsDefaultTypeInternal;
extern CMsgSource2SystemSpecsDefaultTypeInternal _CMsgSource2SystemSpecs_default_instance_;
class CMsgSource2VProfLiteReport;
struct CMsgSource2VProfLiteReportDefaultTypeInternal;
extern CMsgSource2VProfLiteReportDefaultTypeInternal _CMsgSource2VProfLiteReport_default_instance_;
class CMsgSource2VProfLiteReportItem;
struct CMsgSource2VProfLiteReportItemDefaultTypeInternal;
extern CMsgSource2VProfLiteReportItemDefaultTypeInternal _CMsgSource2VProfLiteReportItem_default_instance_;
class CSource2Metrics_MatchPerfSummary_Notification;
struct CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal;
extern CSource2Metrics_MatchPerfSummary_NotificationDefaultTypeInternal _CSource2Metrics_MatchPerfSummary_Notification_default_instance_;
class CSource2Metrics_MatchPerfSummary_Notification_Client;
struct CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal;
extern CSource2Metrics_MatchPerfSummary_Notification_ClientDefaultTypeInternal _CSource2Metrics_MatchPerfSummary_Notification_Client_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::CMsgSource2NetworkFlowQuality* Arena::CreateMaybeMessage<::CMsgSource2NetworkFlowQuality>(Arena*);
template<> ::CMsgSource2PerfIntervalSample* Arena::CreateMaybeMessage<::CMsgSource2PerfIntervalSample>(Arena*);
template<> ::CMsgSource2PerfIntervalSample_Tag* Arena::CreateMaybeMessage<::CMsgSource2PerfIntervalSample_Tag>(Arena*);
template<> ::CMsgSource2SystemSpecs* Arena::CreateMaybeMessage<::CMsgSource2SystemSpecs>(Arena*);
template<> ::CMsgSource2VProfLiteReport* Arena::CreateMaybeMessage<::CMsgSource2VProfLiteReport>(Arena*);
template<> ::CMsgSource2VProfLiteReportItem* Arena::CreateMaybeMessage<::CMsgSource2VProfLiteReportItem>(Arena*);
template<> ::CSource2Metrics_MatchPerfSummary_Notification* Arena::CreateMaybeMessage<::CSource2Metrics_MatchPerfSummary_Notification>(Arena*);
template<> ::CSource2Metrics_MatchPerfSummary_Notification_Client* Arena::CreateMaybeMessage<::CSource2Metrics_MatchPerfSummary_Notification_Client>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

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

class CMsgSource2SystemSpecs final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2SystemSpecs) */ {
 public:
  inline CMsgSource2SystemSpecs() : CMsgSource2SystemSpecs(nullptr) {}
  ~CMsgSource2SystemSpecs() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2SystemSpecs(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2SystemSpecs(const CMsgSource2SystemSpecs& from);
  CMsgSource2SystemSpecs(CMsgSource2SystemSpecs&& from) noexcept
    : CMsgSource2SystemSpecs() {
    *this = ::std::move(from);
  }

  inline CMsgSource2SystemSpecs& operator=(const CMsgSource2SystemSpecs& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2SystemSpecs& operator=(CMsgSource2SystemSpecs&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2SystemSpecs& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2SystemSpecs* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2SystemSpecs*>(
               &_CMsgSource2SystemSpecs_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(CMsgSource2SystemSpecs& a, CMsgSource2SystemSpecs& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2SystemSpecs* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2SystemSpecs* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2SystemSpecs* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2SystemSpecs>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2SystemSpecs& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2SystemSpecs& from) {
    CMsgSource2SystemSpecs::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2SystemSpecs* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2SystemSpecs";
  }
  protected:
  explicit CMsgSource2SystemSpecs(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCpuIdFieldNumber = 1,
    kCpuBrandFieldNumber = 2,
    kGpuRendersystemDllNameFieldNumber = 41,
    kGpuDriverNameFieldNumber = 43,
    kCpuModelFieldNumber = 3,
    kCpuNumPhysicalFieldNumber = 4,
    kRamPhysicalTotalMbFieldNumber = 21,
    kGpuVendorIdFieldNumber = 42,
    kGpuDriverVersionHighFieldNumber = 44,
    kGpuDriverVersionLowFieldNumber = 45,
    kGpuDxSupportLevelFieldNumber = 46,
    kGpuTextureMemorySizeMbFieldNumber = 47,
    kBackbufferWidthFieldNumber = 51,
    kBackbufferHeightFieldNumber = 52,
  };
  // optional string cpu_id = 1;
  bool has_cpu_id() const;
  private:
  bool _internal_has_cpu_id() const;
  public:
  void clear_cpu_id();
  const std::string& cpu_id() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cpu_id(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cpu_id();
  PROTOBUF_NODISCARD std::string* release_cpu_id();
  void set_allocated_cpu_id(std::string* cpu_id);
  private:
  const std::string& _internal_cpu_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cpu_id(const std::string& value);
  std::string* _internal_mutable_cpu_id();
  public:

  // optional string cpu_brand = 2;
  bool has_cpu_brand() const;
  private:
  bool _internal_has_cpu_brand() const;
  public:
  void clear_cpu_brand();
  const std::string& cpu_brand() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_cpu_brand(ArgT0&& arg0, ArgT... args);
  std::string* mutable_cpu_brand();
  PROTOBUF_NODISCARD std::string* release_cpu_brand();
  void set_allocated_cpu_brand(std::string* cpu_brand);
  private:
  const std::string& _internal_cpu_brand() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_cpu_brand(const std::string& value);
  std::string* _internal_mutable_cpu_brand();
  public:

  // optional string gpu_rendersystem_dll_name = 41;
  bool has_gpu_rendersystem_dll_name() const;
  private:
  bool _internal_has_gpu_rendersystem_dll_name() const;
  public:
  void clear_gpu_rendersystem_dll_name();
  const std::string& gpu_rendersystem_dll_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_gpu_rendersystem_dll_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_gpu_rendersystem_dll_name();
  PROTOBUF_NODISCARD std::string* release_gpu_rendersystem_dll_name();
  void set_allocated_gpu_rendersystem_dll_name(std::string* gpu_rendersystem_dll_name);
  private:
  const std::string& _internal_gpu_rendersystem_dll_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_gpu_rendersystem_dll_name(const std::string& value);
  std::string* _internal_mutable_gpu_rendersystem_dll_name();
  public:

  // optional string gpu_driver_name = 43;
  bool has_gpu_driver_name() const;
  private:
  bool _internal_has_gpu_driver_name() const;
  public:
  void clear_gpu_driver_name();
  const std::string& gpu_driver_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_gpu_driver_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_gpu_driver_name();
  PROTOBUF_NODISCARD std::string* release_gpu_driver_name();
  void set_allocated_gpu_driver_name(std::string* gpu_driver_name);
  private:
  const std::string& _internal_gpu_driver_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_gpu_driver_name(const std::string& value);
  std::string* _internal_mutable_gpu_driver_name();
  public:

  // optional uint32 cpu_model = 3;
  bool has_cpu_model() const;
  private:
  bool _internal_has_cpu_model() const;
  public:
  void clear_cpu_model();
  uint32_t cpu_model() const;
  void set_cpu_model(uint32_t value);
  private:
  uint32_t _internal_cpu_model() const;
  void _internal_set_cpu_model(uint32_t value);
  public:

  // optional uint32 cpu_num_physical = 4;
  bool has_cpu_num_physical() const;
  private:
  bool _internal_has_cpu_num_physical() const;
  public:
  void clear_cpu_num_physical();
  uint32_t cpu_num_physical() const;
  void set_cpu_num_physical(uint32_t value);
  private:
  uint32_t _internal_cpu_num_physical() const;
  void _internal_set_cpu_num_physical(uint32_t value);
  public:

  // optional uint32 ram_physical_total_mb = 21;
  bool has_ram_physical_total_mb() const;
  private:
  bool _internal_has_ram_physical_total_mb() const;
  public:
  void clear_ram_physical_total_mb();
  uint32_t ram_physical_total_mb() const;
  void set_ram_physical_total_mb(uint32_t value);
  private:
  uint32_t _internal_ram_physical_total_mb() const;
  void _internal_set_ram_physical_total_mb(uint32_t value);
  public:

  // optional uint32 gpu_vendor_id = 42;
  bool has_gpu_vendor_id() const;
  private:
  bool _internal_has_gpu_vendor_id() const;
  public:
  void clear_gpu_vendor_id();
  uint32_t gpu_vendor_id() const;
  void set_gpu_vendor_id(uint32_t value);
  private:
  uint32_t _internal_gpu_vendor_id() const;
  void _internal_set_gpu_vendor_id(uint32_t value);
  public:

  // optional uint32 gpu_driver_version_high = 44;
  bool has_gpu_driver_version_high() const;
  private:
  bool _internal_has_gpu_driver_version_high() const;
  public:
  void clear_gpu_driver_version_high();
  uint32_t gpu_driver_version_high() const;
  void set_gpu_driver_version_high(uint32_t value);
  private:
  uint32_t _internal_gpu_driver_version_high() const;
  void _internal_set_gpu_driver_version_high(uint32_t value);
  public:

  // optional uint32 gpu_driver_version_low = 45;
  bool has_gpu_driver_version_low() const;
  private:
  bool _internal_has_gpu_driver_version_low() const;
  public:
  void clear_gpu_driver_version_low();
  uint32_t gpu_driver_version_low() const;
  void set_gpu_driver_version_low(uint32_t value);
  private:
  uint32_t _internal_gpu_driver_version_low() const;
  void _internal_set_gpu_driver_version_low(uint32_t value);
  public:

  // optional uint32 gpu_dx_support_level = 46;
  bool has_gpu_dx_support_level() const;
  private:
  bool _internal_has_gpu_dx_support_level() const;
  public:
  void clear_gpu_dx_support_level();
  uint32_t gpu_dx_support_level() const;
  void set_gpu_dx_support_level(uint32_t value);
  private:
  uint32_t _internal_gpu_dx_support_level() const;
  void _internal_set_gpu_dx_support_level(uint32_t value);
  public:

  // optional uint32 gpu_texture_memory_size_mb = 47;
  bool has_gpu_texture_memory_size_mb() const;
  private:
  bool _internal_has_gpu_texture_memory_size_mb() const;
  public:
  void clear_gpu_texture_memory_size_mb();
  uint32_t gpu_texture_memory_size_mb() const;
  void set_gpu_texture_memory_size_mb(uint32_t value);
  private:
  uint32_t _internal_gpu_texture_memory_size_mb() const;
  void _internal_set_gpu_texture_memory_size_mb(uint32_t value);
  public:

  // optional uint32 backbuffer_width = 51;
  bool has_backbuffer_width() const;
  private:
  bool _internal_has_backbuffer_width() const;
  public:
  void clear_backbuffer_width();
  uint32_t backbuffer_width() const;
  void set_backbuffer_width(uint32_t value);
  private:
  uint32_t _internal_backbuffer_width() const;
  void _internal_set_backbuffer_width(uint32_t value);
  public:

  // optional uint32 backbuffer_height = 52;
  bool has_backbuffer_height() const;
  private:
  bool _internal_has_backbuffer_height() const;
  public:
  void clear_backbuffer_height();
  uint32_t backbuffer_height() const;
  void set_backbuffer_height(uint32_t value);
  private:
  uint32_t _internal_backbuffer_height() const;
  void _internal_set_backbuffer_height(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2SystemSpecs)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cpu_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cpu_brand_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr gpu_rendersystem_dll_name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr gpu_driver_name_;
    uint32_t cpu_model_;
    uint32_t cpu_num_physical_;
    uint32_t ram_physical_total_mb_;
    uint32_t gpu_vendor_id_;
    uint32_t gpu_driver_version_high_;
    uint32_t gpu_driver_version_low_;
    uint32_t gpu_dx_support_level_;
    uint32_t gpu_texture_memory_size_mb_;
    uint32_t backbuffer_width_;
    uint32_t backbuffer_height_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CMsgSource2VProfLiteReportItem final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2VProfLiteReportItem) */ {
 public:
  inline CMsgSource2VProfLiteReportItem() : CMsgSource2VProfLiteReportItem(nullptr) {}
  ~CMsgSource2VProfLiteReportItem() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReportItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2VProfLiteReportItem(const CMsgSource2VProfLiteReportItem& from);
  CMsgSource2VProfLiteReportItem(CMsgSource2VProfLiteReportItem&& from) noexcept
    : CMsgSource2VProfLiteReportItem() {
    *this = ::std::move(from);
  }

  inline CMsgSource2VProfLiteReportItem& operator=(const CMsgSource2VProfLiteReportItem& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2VProfLiteReportItem& operator=(CMsgSource2VProfLiteReportItem&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2VProfLiteReportItem& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2VProfLiteReportItem* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2VProfLiteReportItem*>(
               &_CMsgSource2VProfLiteReportItem_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(CMsgSource2VProfLiteReportItem& a, CMsgSource2VProfLiteReportItem& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2VProfLiteReportItem* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2VProfLiteReportItem* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2VProfLiteReportItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2VProfLiteReportItem>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2VProfLiteReportItem& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2VProfLiteReportItem& from) {
    CMsgSource2VProfLiteReportItem::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2VProfLiteReportItem* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2VProfLiteReportItem";
  }
  protected:
  explicit CMsgSource2VProfLiteReportItem(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kActiveSamplesFieldNumber = 2,
    kUsecMaxFieldNumber = 3,
    kActiveSamples1SecmaxFieldNumber = 4,
    kUsecAvgActiveFieldNumber = 11,
    kUsecP50ActiveFieldNumber = 12,
    kUsecP99ActiveFieldNumber = 13,
    kUsecAvgAllFieldNumber = 21,
    kUsecP50AllFieldNumber = 22,
    kUsecP99AllFieldNumber = 23,
    kUsec1SecmaxAvgActiveFieldNumber = 31,
    kUsec1SecmaxP50ActiveFieldNumber = 32,
    kUsec1SecmaxP95ActiveFieldNumber = 33,
    kUsec1SecmaxP99ActiveFieldNumber = 34,
    kUsec1SecmaxAvgAllFieldNumber = 41,
    kUsec1SecmaxP50AllFieldNumber = 42,
    kUsec1SecmaxP95AllFieldNumber = 43,
    kUsec1SecmaxP99AllFieldNumber = 44,
  };
  // optional string name = 1;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional uint32 active_samples = 2;
  bool has_active_samples() const;
  private:
  bool _internal_has_active_samples() const;
  public:
  void clear_active_samples();
  uint32_t active_samples() const;
  void set_active_samples(uint32_t value);
  private:
  uint32_t _internal_active_samples() const;
  void _internal_set_active_samples(uint32_t value);
  public:

  // optional uint32 usec_max = 3;
  bool has_usec_max() const;
  private:
  bool _internal_has_usec_max() const;
  public:
  void clear_usec_max();
  uint32_t usec_max() const;
  void set_usec_max(uint32_t value);
  private:
  uint32_t _internal_usec_max() const;
  void _internal_set_usec_max(uint32_t value);
  public:

  // optional uint32 active_samples_1secmax = 4;
  bool has_active_samples_1secmax() const;
  private:
  bool _internal_has_active_samples_1secmax() const;
  public:
  void clear_active_samples_1secmax();
  uint32_t active_samples_1secmax() const;
  void set_active_samples_1secmax(uint32_t value);
  private:
  uint32_t _internal_active_samples_1secmax() const;
  void _internal_set_active_samples_1secmax(uint32_t value);
  public:

  // optional uint32 usec_avg_active = 11;
  bool has_usec_avg_active() const;
  private:
  bool _internal_has_usec_avg_active() const;
  public:
  void clear_usec_avg_active();
  uint32_t usec_avg_active() const;
  void set_usec_avg_active(uint32_t value);
  private:
  uint32_t _internal_usec_avg_active() const;
  void _internal_set_usec_avg_active(uint32_t value);
  public:

  // optional uint32 usec_p50_active = 12;
  bool has_usec_p50_active() const;
  private:
  bool _internal_has_usec_p50_active() const;
  public:
  void clear_usec_p50_active();
  uint32_t usec_p50_active() const;
  void set_usec_p50_active(uint32_t value);
  private:
  uint32_t _internal_usec_p50_active() const;
  void _internal_set_usec_p50_active(uint32_t value);
  public:

  // optional uint32 usec_p99_active = 13;
  bool has_usec_p99_active() const;
  private:
  bool _internal_has_usec_p99_active() const;
  public:
  void clear_usec_p99_active();
  uint32_t usec_p99_active() const;
  void set_usec_p99_active(uint32_t value);
  private:
  uint32_t _internal_usec_p99_active() const;
  void _internal_set_usec_p99_active(uint32_t value);
  public:

  // optional uint32 usec_avg_all = 21;
  bool has_usec_avg_all() const;
  private:
  bool _internal_has_usec_avg_all() const;
  public:
  void clear_usec_avg_all();
  uint32_t usec_avg_all() const;
  void set_usec_avg_all(uint32_t value);
  private:
  uint32_t _internal_usec_avg_all() const;
  void _internal_set_usec_avg_all(uint32_t value);
  public:

  // optional uint32 usec_p50_all = 22;
  bool has_usec_p50_all() const;
  private:
  bool _internal_has_usec_p50_all() const;
  public:
  void clear_usec_p50_all();
  uint32_t usec_p50_all() const;
  void set_usec_p50_all(uint32_t value);
  private:
  uint32_t _internal_usec_p50_all() const;
  void _internal_set_usec_p50_all(uint32_t value);
  public:

  // optional uint32 usec_p99_all = 23;
  bool has_usec_p99_all() const;
  private:
  bool _internal_has_usec_p99_all() const;
  public:
  void clear_usec_p99_all();
  uint32_t usec_p99_all() const;
  void set_usec_p99_all(uint32_t value);
  private:
  uint32_t _internal_usec_p99_all() const;
  void _internal_set_usec_p99_all(uint32_t value);
  public:

  // optional uint32 usec_1secmax_avg_active = 31;
  bool has_usec_1secmax_avg_active() const;
  private:
  bool _internal_has_usec_1secmax_avg_active() const;
  public:
  void clear_usec_1secmax_avg_active();
  uint32_t usec_1secmax_avg_active() const;
  void set_usec_1secmax_avg_active(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_avg_active() const;
  void _internal_set_usec_1secmax_avg_active(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p50_active = 32;
  bool has_usec_1secmax_p50_active() const;
  private:
  bool _internal_has_usec_1secmax_p50_active() const;
  public:
  void clear_usec_1secmax_p50_active();
  uint32_t usec_1secmax_p50_active() const;
  void set_usec_1secmax_p50_active(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p50_active() const;
  void _internal_set_usec_1secmax_p50_active(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p95_active = 33;
  bool has_usec_1secmax_p95_active() const;
  private:
  bool _internal_has_usec_1secmax_p95_active() const;
  public:
  void clear_usec_1secmax_p95_active();
  uint32_t usec_1secmax_p95_active() const;
  void set_usec_1secmax_p95_active(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p95_active() const;
  void _internal_set_usec_1secmax_p95_active(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p99_active = 34;
  bool has_usec_1secmax_p99_active() const;
  private:
  bool _internal_has_usec_1secmax_p99_active() const;
  public:
  void clear_usec_1secmax_p99_active();
  uint32_t usec_1secmax_p99_active() const;
  void set_usec_1secmax_p99_active(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p99_active() const;
  void _internal_set_usec_1secmax_p99_active(uint32_t value);
  public:

  // optional uint32 usec_1secmax_avg_all = 41;
  bool has_usec_1secmax_avg_all() const;
  private:
  bool _internal_has_usec_1secmax_avg_all() const;
  public:
  void clear_usec_1secmax_avg_all();
  uint32_t usec_1secmax_avg_all() const;
  void set_usec_1secmax_avg_all(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_avg_all() const;
  void _internal_set_usec_1secmax_avg_all(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p50_all = 42;
  bool has_usec_1secmax_p50_all() const;
  private:
  bool _internal_has_usec_1secmax_p50_all() const;
  public:
  void clear_usec_1secmax_p50_all();
  uint32_t usec_1secmax_p50_all() const;
  void set_usec_1secmax_p50_all(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p50_all() const;
  void _internal_set_usec_1secmax_p50_all(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p95_all = 43;
  bool has_usec_1secmax_p95_all() const;
  private:
  bool _internal_has_usec_1secmax_p95_all() const;
  public:
  void clear_usec_1secmax_p95_all();
  uint32_t usec_1secmax_p95_all() const;
  void set_usec_1secmax_p95_all(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p95_all() const;
  void _internal_set_usec_1secmax_p95_all(uint32_t value);
  public:

  // optional uint32 usec_1secmax_p99_all = 44;
  bool has_usec_1secmax_p99_all() const;
  private:
  bool _internal_has_usec_1secmax_p99_all() const;
  public:
  void clear_usec_1secmax_p99_all();
  uint32_t usec_1secmax_p99_all() const;
  void set_usec_1secmax_p99_all(uint32_t value);
  private:
  uint32_t _internal_usec_1secmax_p99_all() const;
  void _internal_set_usec_1secmax_p99_all(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2VProfLiteReportItem)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    uint32_t active_samples_;
    uint32_t usec_max_;
    uint32_t active_samples_1secmax_;
    uint32_t usec_avg_active_;
    uint32_t usec_p50_active_;
    uint32_t usec_p99_active_;
    uint32_t usec_avg_all_;
    uint32_t usec_p50_all_;
    uint32_t usec_p99_all_;
    uint32_t usec_1secmax_avg_active_;
    uint32_t usec_1secmax_p50_active_;
    uint32_t usec_1secmax_p95_active_;
    uint32_t usec_1secmax_p99_active_;
    uint32_t usec_1secmax_avg_all_;
    uint32_t usec_1secmax_p50_all_;
    uint32_t usec_1secmax_p95_all_;
    uint32_t usec_1secmax_p99_all_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CMsgSource2VProfLiteReport final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2VProfLiteReport) */ {
 public:
  inline CMsgSource2VProfLiteReport() : CMsgSource2VProfLiteReport(nullptr) {}
  ~CMsgSource2VProfLiteReport() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2VProfLiteReport(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2VProfLiteReport(const CMsgSource2VProfLiteReport& from);
  CMsgSource2VProfLiteReport(CMsgSource2VProfLiteReport&& from) noexcept
    : CMsgSource2VProfLiteReport() {
    *this = ::std::move(from);
  }

  inline CMsgSource2VProfLiteReport& operator=(const CMsgSource2VProfLiteReport& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2VProfLiteReport& operator=(CMsgSource2VProfLiteReport&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2VProfLiteReport& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2VProfLiteReport* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2VProfLiteReport*>(
               &_CMsgSource2VProfLiteReport_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(CMsgSource2VProfLiteReport& a, CMsgSource2VProfLiteReport& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2VProfLiteReport* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2VProfLiteReport* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2VProfLiteReport* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2VProfLiteReport>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2VProfLiteReport& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2VProfLiteReport& from) {
    CMsgSource2VProfLiteReport::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2VProfLiteReport* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2VProfLiteReport";
  }
  protected:
  explicit CMsgSource2VProfLiteReport(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kItemsFieldNumber = 2,
    kTotalFieldNumber = 1,
    kDiscardedFramesFieldNumber = 3,
  };
  // repeated .CMsgSource2VProfLiteReportItem items = 2;
  int items_size() const;
  private:
  int _internal_items_size() const;
  public:
  void clear_items();
  ::CMsgSource2VProfLiteReportItem* mutable_items(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2VProfLiteReportItem >*
      mutable_items();
  private:
  const ::CMsgSource2VProfLiteReportItem& _internal_items(int index) const;
  ::CMsgSource2VProfLiteReportItem* _internal_add_items();
  public:
  const ::CMsgSource2VProfLiteReportItem& items(int index) const;
  ::CMsgSource2VProfLiteReportItem* add_items();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2VProfLiteReportItem >&
      items() const;

  // optional .CMsgSource2VProfLiteReportItem total = 1;
  bool has_total() const;
  private:
  bool _internal_has_total() const;
  public:
  void clear_total();
  const ::CMsgSource2VProfLiteReportItem& total() const;
  PROTOBUF_NODISCARD ::CMsgSource2VProfLiteReportItem* release_total();
  ::CMsgSource2VProfLiteReportItem* mutable_total();
  void set_allocated_total(::CMsgSource2VProfLiteReportItem* total);
  private:
  const ::CMsgSource2VProfLiteReportItem& _internal_total() const;
  ::CMsgSource2VProfLiteReportItem* _internal_mutable_total();
  public:
  void unsafe_arena_set_allocated_total(
      ::CMsgSource2VProfLiteReportItem* total);
  ::CMsgSource2VProfLiteReportItem* unsafe_arena_release_total();

  // optional uint32 discarded_frames = 3;
  bool has_discarded_frames() const;
  private:
  bool _internal_has_discarded_frames() const;
  public:
  void clear_discarded_frames();
  uint32_t discarded_frames() const;
  void set_discarded_frames(uint32_t value);
  private:
  uint32_t _internal_discarded_frames() const;
  void _internal_set_discarded_frames(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2VProfLiteReport)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2VProfLiteReportItem > items_;
    ::CMsgSource2VProfLiteReportItem* total_;
    uint32_t discarded_frames_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CMsgSource2NetworkFlowQuality final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2NetworkFlowQuality) */ {
 public:
  inline CMsgSource2NetworkFlowQuality() : CMsgSource2NetworkFlowQuality(nullptr) {}
  ~CMsgSource2NetworkFlowQuality() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2NetworkFlowQuality(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2NetworkFlowQuality(const CMsgSource2NetworkFlowQuality& from);
  CMsgSource2NetworkFlowQuality(CMsgSource2NetworkFlowQuality&& from) noexcept
    : CMsgSource2NetworkFlowQuality() {
    *this = ::std::move(from);
  }

  inline CMsgSource2NetworkFlowQuality& operator=(const CMsgSource2NetworkFlowQuality& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2NetworkFlowQuality& operator=(CMsgSource2NetworkFlowQuality&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2NetworkFlowQuality& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2NetworkFlowQuality* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2NetworkFlowQuality*>(
               &_CMsgSource2NetworkFlowQuality_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(CMsgSource2NetworkFlowQuality& a, CMsgSource2NetworkFlowQuality& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2NetworkFlowQuality* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2NetworkFlowQuality* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2NetworkFlowQuality* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2NetworkFlowQuality>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2NetworkFlowQuality& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2NetworkFlowQuality& from) {
    CMsgSource2NetworkFlowQuality::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2NetworkFlowQuality* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2NetworkFlowQuality";
  }
  protected:
  explicit CMsgSource2NetworkFlowQuality(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBytesTotalFieldNumber = 5,
    kDurationFieldNumber = 1,
    kBytesSecP95FieldNumber = 10,
    kBytesTotalReliableFieldNumber = 6,
    kBytesTotalVoiceFieldNumber = 7,
    kBytesSecP99FieldNumber = 11,
    kEnginemsgsTotalFieldNumber = 20,
    kEnginemsgsSecP95FieldNumber = 21,
    kEnginemsgsSecP99FieldNumber = 22,
    kNetframesTotalFieldNumber = 30,
    kNetframesDroppedFieldNumber = 31,
    kNetframesOutoforderFieldNumber = 32,
    kNetframesSizeExceedsMtuFieldNumber = 34,
    kNetframesSizeP95FieldNumber = 35,
    kNetframesSizeP99FieldNumber = 36,
    kTicksTotalFieldNumber = 40,
    kTicksGoodFieldNumber = 41,
    kTicksGoodAlmostLateFieldNumber = 42,
    kTicksFixedDroppedFieldNumber = 43,
    kTicksFixedLateFieldNumber = 44,
    kTicksBadDroppedFieldNumber = 45,
    kTicksBadLateFieldNumber = 46,
    kTicksBadOtherFieldNumber = 47,
    kTickMissrateSamplesTotalFieldNumber = 50,
    kTickMissrateSamplesPerfectFieldNumber = 51,
    kTickMissrateSamplesPerfectnetFieldNumber = 52,
    kTickMissratenetP75X10FieldNumber = 53,
    kTickMissratenetP95X10FieldNumber = 54,
    kTickMissratenetP99X10FieldNumber = 55,
    kRecvmarginP1FieldNumber = 61,
    kRecvmarginP5FieldNumber = 62,
    kRecvmarginP25FieldNumber = 63,
    kRecvmarginP50FieldNumber = 64,
    kRecvmarginP75FieldNumber = 65,
    kRecvmarginP95FieldNumber = 66,
    kNetframeJitterP50FieldNumber = 70,
    kNetframeJitterP99FieldNumber = 71,
    kIntervalPeakjitterP50FieldNumber = 72,
    kIntervalPeakjitterP95FieldNumber = 73,
    kPacketMisdeliveryRateP50X4FieldNumber = 74,
    kPacketMisdeliveryRateP95X4FieldNumber = 75,
    kNetPingP5FieldNumber = 80,
    kNetPingP50FieldNumber = 81,
    kNetPingP95FieldNumber = 82,
  };
  // optional uint64 bytes_total = 5;
  bool has_bytes_total() const;
  private:
  bool _internal_has_bytes_total() const;
  public:
  void clear_bytes_total();
  uint64_t bytes_total() const;
  void set_bytes_total(uint64_t value);
  private:
  uint64_t _internal_bytes_total() const;
  void _internal_set_bytes_total(uint64_t value);
  public:

  // optional uint32 duration = 1;
  bool has_duration() const;
  private:
  bool _internal_has_duration() const;
  public:
  void clear_duration();
  uint32_t duration() const;
  void set_duration(uint32_t value);
  private:
  uint32_t _internal_duration() const;
  void _internal_set_duration(uint32_t value);
  public:

  // optional uint32 bytes_sec_p95 = 10;
  bool has_bytes_sec_p95() const;
  private:
  bool _internal_has_bytes_sec_p95() const;
  public:
  void clear_bytes_sec_p95();
  uint32_t bytes_sec_p95() const;
  void set_bytes_sec_p95(uint32_t value);
  private:
  uint32_t _internal_bytes_sec_p95() const;
  void _internal_set_bytes_sec_p95(uint32_t value);
  public:

  // optional uint64 bytes_total_reliable = 6;
  bool has_bytes_total_reliable() const;
  private:
  bool _internal_has_bytes_total_reliable() const;
  public:
  void clear_bytes_total_reliable();
  uint64_t bytes_total_reliable() const;
  void set_bytes_total_reliable(uint64_t value);
  private:
  uint64_t _internal_bytes_total_reliable() const;
  void _internal_set_bytes_total_reliable(uint64_t value);
  public:

  // optional uint64 bytes_total_voice = 7;
  bool has_bytes_total_voice() const;
  private:
  bool _internal_has_bytes_total_voice() const;
  public:
  void clear_bytes_total_voice();
  uint64_t bytes_total_voice() const;
  void set_bytes_total_voice(uint64_t value);
  private:
  uint64_t _internal_bytes_total_voice() const;
  void _internal_set_bytes_total_voice(uint64_t value);
  public:

  // optional uint32 bytes_sec_p99 = 11;
  bool has_bytes_sec_p99() const;
  private:
  bool _internal_has_bytes_sec_p99() const;
  public:
  void clear_bytes_sec_p99();
  uint32_t bytes_sec_p99() const;
  void set_bytes_sec_p99(uint32_t value);
  private:
  uint32_t _internal_bytes_sec_p99() const;
  void _internal_set_bytes_sec_p99(uint32_t value);
  public:

  // optional uint32 enginemsgs_total = 20;
  bool has_enginemsgs_total() const;
  private:
  bool _internal_has_enginemsgs_total() const;
  public:
  void clear_enginemsgs_total();
  uint32_t enginemsgs_total() const;
  void set_enginemsgs_total(uint32_t value);
  private:
  uint32_t _internal_enginemsgs_total() const;
  void _internal_set_enginemsgs_total(uint32_t value);
  public:

  // optional uint32 enginemsgs_sec_p95 = 21;
  bool has_enginemsgs_sec_p95() const;
  private:
  bool _internal_has_enginemsgs_sec_p95() const;
  public:
  void clear_enginemsgs_sec_p95();
  uint32_t enginemsgs_sec_p95() const;
  void set_enginemsgs_sec_p95(uint32_t value);
  private:
  uint32_t _internal_enginemsgs_sec_p95() const;
  void _internal_set_enginemsgs_sec_p95(uint32_t value);
  public:

  // optional uint32 enginemsgs_sec_p99 = 22;
  bool has_enginemsgs_sec_p99() const;
  private:
  bool _internal_has_enginemsgs_sec_p99() const;
  public:
  void clear_enginemsgs_sec_p99();
  uint32_t enginemsgs_sec_p99() const;
  void set_enginemsgs_sec_p99(uint32_t value);
  private:
  uint32_t _internal_enginemsgs_sec_p99() const;
  void _internal_set_enginemsgs_sec_p99(uint32_t value);
  public:

  // optional uint32 netframes_total = 30;
  bool has_netframes_total() const;
  private:
  bool _internal_has_netframes_total() const;
  public:
  void clear_netframes_total();
  uint32_t netframes_total() const;
  void set_netframes_total(uint32_t value);
  private:
  uint32_t _internal_netframes_total() const;
  void _internal_set_netframes_total(uint32_t value);
  public:

  // optional uint32 netframes_dropped = 31;
  bool has_netframes_dropped() const;
  private:
  bool _internal_has_netframes_dropped() const;
  public:
  void clear_netframes_dropped();
  uint32_t netframes_dropped() const;
  void set_netframes_dropped(uint32_t value);
  private:
  uint32_t _internal_netframes_dropped() const;
  void _internal_set_netframes_dropped(uint32_t value);
  public:

  // optional uint32 netframes_outoforder = 32;
  bool has_netframes_outoforder() const;
  private:
  bool _internal_has_netframes_outoforder() const;
  public:
  void clear_netframes_outoforder();
  uint32_t netframes_outoforder() const;
  void set_netframes_outoforder(uint32_t value);
  private:
  uint32_t _internal_netframes_outoforder() const;
  void _internal_set_netframes_outoforder(uint32_t value);
  public:

  // optional uint32 netframes_size_exceeds_mtu = 34;
  bool has_netframes_size_exceeds_mtu() const;
  private:
  bool _internal_has_netframes_size_exceeds_mtu() const;
  public:
  void clear_netframes_size_exceeds_mtu();
  uint32_t netframes_size_exceeds_mtu() const;
  void set_netframes_size_exceeds_mtu(uint32_t value);
  private:
  uint32_t _internal_netframes_size_exceeds_mtu() const;
  void _internal_set_netframes_size_exceeds_mtu(uint32_t value);
  public:

  // optional uint32 netframes_size_p95 = 35;
  bool has_netframes_size_p95() const;
  private:
  bool _internal_has_netframes_size_p95() const;
  public:
  void clear_netframes_size_p95();
  uint32_t netframes_size_p95() const;
  void set_netframes_size_p95(uint32_t value);
  private:
  uint32_t _internal_netframes_size_p95() const;
  void _internal_set_netframes_size_p95(uint32_t value);
  public:

  // optional uint32 netframes_size_p99 = 36;
  bool has_netframes_size_p99() const;
  private:
  bool _internal_has_netframes_size_p99() const;
  public:
  void clear_netframes_size_p99();
  uint32_t netframes_size_p99() const;
  void set_netframes_size_p99(uint32_t value);
  private:
  uint32_t _internal_netframes_size_p99() const;
  void _internal_set_netframes_size_p99(uint32_t value);
  public:

  // optional uint32 ticks_total = 40;
  bool has_ticks_total() const;
  private:
  bool _internal_has_ticks_total() const;
  public:
  void clear_ticks_total();
  uint32_t ticks_total() const;
  void set_ticks_total(uint32_t value);
  private:
  uint32_t _internal_ticks_total() const;
  void _internal_set_ticks_total(uint32_t value);
  public:

  // optional uint32 ticks_good = 41;
  bool has_ticks_good() const;
  private:
  bool _internal_has_ticks_good() const;
  public:
  void clear_ticks_good();
  uint32_t ticks_good() const;
  void set_ticks_good(uint32_t value);
  private:
  uint32_t _internal_ticks_good() const;
  void _internal_set_ticks_good(uint32_t value);
  public:

  // optional uint32 ticks_good_almost_late = 42;
  bool has_ticks_good_almost_late() const;
  private:
  bool _internal_has_ticks_good_almost_late() const;
  public:
  void clear_ticks_good_almost_late();
  uint32_t ticks_good_almost_late() const;
  void set_ticks_good_almost_late(uint32_t value);
  private:
  uint32_t _internal_ticks_good_almost_late() const;
  void _internal_set_ticks_good_almost_late(uint32_t value);
  public:

  // optional uint32 ticks_fixed_dropped = 43;
  bool has_ticks_fixed_dropped() const;
  private:
  bool _internal_has_ticks_fixed_dropped() const;
  public:
  void clear_ticks_fixed_dropped();
  uint32_t ticks_fixed_dropped() const;
  void set_ticks_fixed_dropped(uint32_t value);
  private:
  uint32_t _internal_ticks_fixed_dropped() const;
  void _internal_set_ticks_fixed_dropped(uint32_t value);
  public:

  // optional uint32 ticks_fixed_late = 44;
  bool has_ticks_fixed_late() const;
  private:
  bool _internal_has_ticks_fixed_late() const;
  public:
  void clear_ticks_fixed_late();
  uint32_t ticks_fixed_late() const;
  void set_ticks_fixed_late(uint32_t value);
  private:
  uint32_t _internal_ticks_fixed_late() const;
  void _internal_set_ticks_fixed_late(uint32_t value);
  public:

  // optional uint32 ticks_bad_dropped = 45;
  bool has_ticks_bad_dropped() const;
  private:
  bool _internal_has_ticks_bad_dropped() const;
  public:
  void clear_ticks_bad_dropped();
  uint32_t ticks_bad_dropped() const;
  void set_ticks_bad_dropped(uint32_t value);
  private:
  uint32_t _internal_ticks_bad_dropped() const;
  void _internal_set_ticks_bad_dropped(uint32_t value);
  public:

  // optional uint32 ticks_bad_late = 46;
  bool has_ticks_bad_late() const;
  private:
  bool _internal_has_ticks_bad_late() const;
  public:
  void clear_ticks_bad_late();
  uint32_t ticks_bad_late() const;
  void set_ticks_bad_late(uint32_t value);
  private:
  uint32_t _internal_ticks_bad_late() const;
  void _internal_set_ticks_bad_late(uint32_t value);
  public:

  // optional uint32 ticks_bad_other = 47;
  bool has_ticks_bad_other() const;
  private:
  bool _internal_has_ticks_bad_other() const;
  public:
  void clear_ticks_bad_other();
  uint32_t ticks_bad_other() const;
  void set_ticks_bad_other(uint32_t value);
  private:
  uint32_t _internal_ticks_bad_other() const;
  void _internal_set_ticks_bad_other(uint32_t value);
  public:

  // optional uint32 tick_missrate_samples_total = 50;
  bool has_tick_missrate_samples_total() const;
  private:
  bool _internal_has_tick_missrate_samples_total() const;
  public:
  void clear_tick_missrate_samples_total();
  uint32_t tick_missrate_samples_total() const;
  void set_tick_missrate_samples_total(uint32_t value);
  private:
  uint32_t _internal_tick_missrate_samples_total() const;
  void _internal_set_tick_missrate_samples_total(uint32_t value);
  public:

  // optional uint32 tick_missrate_samples_perfect = 51;
  bool has_tick_missrate_samples_perfect() const;
  private:
  bool _internal_has_tick_missrate_samples_perfect() const;
  public:
  void clear_tick_missrate_samples_perfect();
  uint32_t tick_missrate_samples_perfect() const;
  void set_tick_missrate_samples_perfect(uint32_t value);
  private:
  uint32_t _internal_tick_missrate_samples_perfect() const;
  void _internal_set_tick_missrate_samples_perfect(uint32_t value);
  public:

  // optional uint32 tick_missrate_samples_perfectnet = 52;
  bool has_tick_missrate_samples_perfectnet() const;
  private:
  bool _internal_has_tick_missrate_samples_perfectnet() const;
  public:
  void clear_tick_missrate_samples_perfectnet();
  uint32_t tick_missrate_samples_perfectnet() const;
  void set_tick_missrate_samples_perfectnet(uint32_t value);
  private:
  uint32_t _internal_tick_missrate_samples_perfectnet() const;
  void _internal_set_tick_missrate_samples_perfectnet(uint32_t value);
  public:

  // optional uint32 tick_missratenet_p75_x10 = 53;
  bool has_tick_missratenet_p75_x10() const;
  private:
  bool _internal_has_tick_missratenet_p75_x10() const;
  public:
  void clear_tick_missratenet_p75_x10();
  uint32_t tick_missratenet_p75_x10() const;
  void set_tick_missratenet_p75_x10(uint32_t value);
  private:
  uint32_t _internal_tick_missratenet_p75_x10() const;
  void _internal_set_tick_missratenet_p75_x10(uint32_t value);
  public:

  // optional uint32 tick_missratenet_p95_x10 = 54;
  bool has_tick_missratenet_p95_x10() const;
  private:
  bool _internal_has_tick_missratenet_p95_x10() const;
  public:
  void clear_tick_missratenet_p95_x10();
  uint32_t tick_missratenet_p95_x10() const;
  void set_tick_missratenet_p95_x10(uint32_t value);
  private:
  uint32_t _internal_tick_missratenet_p95_x10() const;
  void _internal_set_tick_missratenet_p95_x10(uint32_t value);
  public:

  // optional uint32 tick_missratenet_p99_x10 = 55;
  bool has_tick_missratenet_p99_x10() const;
  private:
  bool _internal_has_tick_missratenet_p99_x10() const;
  public:
  void clear_tick_missratenet_p99_x10();
  uint32_t tick_missratenet_p99_x10() const;
  void set_tick_missratenet_p99_x10(uint32_t value);
  private:
  uint32_t _internal_tick_missratenet_p99_x10() const;
  void _internal_set_tick_missratenet_p99_x10(uint32_t value);
  public:

  // optional sint32 recvmargin_p1 = 61;
  bool has_recvmargin_p1() const;
  private:
  bool _internal_has_recvmargin_p1() const;
  public:
  void clear_recvmargin_p1();
  int32_t recvmargin_p1() const;
  void set_recvmargin_p1(int32_t value);
  private:
  int32_t _internal_recvmargin_p1() const;
  void _internal_set_recvmargin_p1(int32_t value);
  public:

  // optional sint32 recvmargin_p5 = 62;
  bool has_recvmargin_p5() const;
  private:
  bool _internal_has_recvmargin_p5() const;
  public:
  void clear_recvmargin_p5();
  int32_t recvmargin_p5() const;
  void set_recvmargin_p5(int32_t value);
  private:
  int32_t _internal_recvmargin_p5() const;
  void _internal_set_recvmargin_p5(int32_t value);
  public:

  // optional sint32 recvmargin_p25 = 63;
  bool has_recvmargin_p25() const;
  private:
  bool _internal_has_recvmargin_p25() const;
  public:
  void clear_recvmargin_p25();
  int32_t recvmargin_p25() const;
  void set_recvmargin_p25(int32_t value);
  private:
  int32_t _internal_recvmargin_p25() const;
  void _internal_set_recvmargin_p25(int32_t value);
  public:

  // optional sint32 recvmargin_p50 = 64;
  bool has_recvmargin_p50() const;
  private:
  bool _internal_has_recvmargin_p50() const;
  public:
  void clear_recvmargin_p50();
  int32_t recvmargin_p50() const;
  void set_recvmargin_p50(int32_t value);
  private:
  int32_t _internal_recvmargin_p50() const;
  void _internal_set_recvmargin_p50(int32_t value);
  public:

  // optional sint32 recvmargin_p75 = 65;
  bool has_recvmargin_p75() const;
  private:
  bool _internal_has_recvmargin_p75() const;
  public:
  void clear_recvmargin_p75();
  int32_t recvmargin_p75() const;
  void set_recvmargin_p75(int32_t value);
  private:
  int32_t _internal_recvmargin_p75() const;
  void _internal_set_recvmargin_p75(int32_t value);
  public:

  // optional sint32 recvmargin_p95 = 66;
  bool has_recvmargin_p95() const;
  private:
  bool _internal_has_recvmargin_p95() const;
  public:
  void clear_recvmargin_p95();
  int32_t recvmargin_p95() const;
  void set_recvmargin_p95(int32_t value);
  private:
  int32_t _internal_recvmargin_p95() const;
  void _internal_set_recvmargin_p95(int32_t value);
  public:

  // optional uint32 netframe_jitter_p50 = 70;
  bool has_netframe_jitter_p50() const;
  private:
  bool _internal_has_netframe_jitter_p50() const;
  public:
  void clear_netframe_jitter_p50();
  uint32_t netframe_jitter_p50() const;
  void set_netframe_jitter_p50(uint32_t value);
  private:
  uint32_t _internal_netframe_jitter_p50() const;
  void _internal_set_netframe_jitter_p50(uint32_t value);
  public:

  // optional uint32 netframe_jitter_p99 = 71;
  bool has_netframe_jitter_p99() const;
  private:
  bool _internal_has_netframe_jitter_p99() const;
  public:
  void clear_netframe_jitter_p99();
  uint32_t netframe_jitter_p99() const;
  void set_netframe_jitter_p99(uint32_t value);
  private:
  uint32_t _internal_netframe_jitter_p99() const;
  void _internal_set_netframe_jitter_p99(uint32_t value);
  public:

  // optional uint32 interval_peakjitter_p50 = 72;
  bool has_interval_peakjitter_p50() const;
  private:
  bool _internal_has_interval_peakjitter_p50() const;
  public:
  void clear_interval_peakjitter_p50();
  uint32_t interval_peakjitter_p50() const;
  void set_interval_peakjitter_p50(uint32_t value);
  private:
  uint32_t _internal_interval_peakjitter_p50() const;
  void _internal_set_interval_peakjitter_p50(uint32_t value);
  public:

  // optional uint32 interval_peakjitter_p95 = 73;
  bool has_interval_peakjitter_p95() const;
  private:
  bool _internal_has_interval_peakjitter_p95() const;
  public:
  void clear_interval_peakjitter_p95();
  uint32_t interval_peakjitter_p95() const;
  void set_interval_peakjitter_p95(uint32_t value);
  private:
  uint32_t _internal_interval_peakjitter_p95() const;
  void _internal_set_interval_peakjitter_p95(uint32_t value);
  public:

  // optional uint32 packet_misdelivery_rate_p50_x4 = 74;
  bool has_packet_misdelivery_rate_p50_x4() const;
  private:
  bool _internal_has_packet_misdelivery_rate_p50_x4() const;
  public:
  void clear_packet_misdelivery_rate_p50_x4();
  uint32_t packet_misdelivery_rate_p50_x4() const;
  void set_packet_misdelivery_rate_p50_x4(uint32_t value);
  private:
  uint32_t _internal_packet_misdelivery_rate_p50_x4() const;
  void _internal_set_packet_misdelivery_rate_p50_x4(uint32_t value);
  public:

  // optional uint32 packet_misdelivery_rate_p95_x4 = 75;
  bool has_packet_misdelivery_rate_p95_x4() const;
  private:
  bool _internal_has_packet_misdelivery_rate_p95_x4() const;
  public:
  void clear_packet_misdelivery_rate_p95_x4();
  uint32_t packet_misdelivery_rate_p95_x4() const;
  void set_packet_misdelivery_rate_p95_x4(uint32_t value);
  private:
  uint32_t _internal_packet_misdelivery_rate_p95_x4() const;
  void _internal_set_packet_misdelivery_rate_p95_x4(uint32_t value);
  public:

  // optional uint32 net_ping_p5 = 80;
  bool has_net_ping_p5() const;
  private:
  bool _internal_has_net_ping_p5() const;
  public:
  void clear_net_ping_p5();
  uint32_t net_ping_p5() const;
  void set_net_ping_p5(uint32_t value);
  private:
  uint32_t _internal_net_ping_p5() const;
  void _internal_set_net_ping_p5(uint32_t value);
  public:

  // optional uint32 net_ping_p50 = 81;
  bool has_net_ping_p50() const;
  private:
  bool _internal_has_net_ping_p50() const;
  public:
  void clear_net_ping_p50();
  uint32_t net_ping_p50() const;
  void set_net_ping_p50(uint32_t value);
  private:
  uint32_t _internal_net_ping_p50() const;
  void _internal_set_net_ping_p50(uint32_t value);
  public:

  // optional uint32 net_ping_p95 = 82;
  bool has_net_ping_p95() const;
  private:
  bool _internal_has_net_ping_p95() const;
  public:
  void clear_net_ping_p95();
  uint32_t net_ping_p95() const;
  void set_net_ping_p95(uint32_t value);
  private:
  uint32_t _internal_net_ping_p95() const;
  void _internal_set_net_ping_p95(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2NetworkFlowQuality)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<2> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t bytes_total_;
    uint32_t duration_;
    uint32_t bytes_sec_p95_;
    uint64_t bytes_total_reliable_;
    uint64_t bytes_total_voice_;
    uint32_t bytes_sec_p99_;
    uint32_t enginemsgs_total_;
    uint32_t enginemsgs_sec_p95_;
    uint32_t enginemsgs_sec_p99_;
    uint32_t netframes_total_;
    uint32_t netframes_dropped_;
    uint32_t netframes_outoforder_;
    uint32_t netframes_size_exceeds_mtu_;
    uint32_t netframes_size_p95_;
    uint32_t netframes_size_p99_;
    uint32_t ticks_total_;
    uint32_t ticks_good_;
    uint32_t ticks_good_almost_late_;
    uint32_t ticks_fixed_dropped_;
    uint32_t ticks_fixed_late_;
    uint32_t ticks_bad_dropped_;
    uint32_t ticks_bad_late_;
    uint32_t ticks_bad_other_;
    uint32_t tick_missrate_samples_total_;
    uint32_t tick_missrate_samples_perfect_;
    uint32_t tick_missrate_samples_perfectnet_;
    uint32_t tick_missratenet_p75_x10_;
    uint32_t tick_missratenet_p95_x10_;
    uint32_t tick_missratenet_p99_x10_;
    int32_t recvmargin_p1_;
    int32_t recvmargin_p5_;
    int32_t recvmargin_p25_;
    int32_t recvmargin_p50_;
    int32_t recvmargin_p75_;
    int32_t recvmargin_p95_;
    uint32_t netframe_jitter_p50_;
    uint32_t netframe_jitter_p99_;
    uint32_t interval_peakjitter_p50_;
    uint32_t interval_peakjitter_p95_;
    uint32_t packet_misdelivery_rate_p50_x4_;
    uint32_t packet_misdelivery_rate_p95_x4_;
    uint32_t net_ping_p5_;
    uint32_t net_ping_p50_;
    uint32_t net_ping_p95_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CMsgSource2PerfIntervalSample_Tag final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2PerfIntervalSample.Tag) */ {
 public:
  inline CMsgSource2PerfIntervalSample_Tag() : CMsgSource2PerfIntervalSample_Tag(nullptr) {}
  ~CMsgSource2PerfIntervalSample_Tag() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSample_Tag(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2PerfIntervalSample_Tag(const CMsgSource2PerfIntervalSample_Tag& from);
  CMsgSource2PerfIntervalSample_Tag(CMsgSource2PerfIntervalSample_Tag&& from) noexcept
    : CMsgSource2PerfIntervalSample_Tag() {
    *this = ::std::move(from);
  }

  inline CMsgSource2PerfIntervalSample_Tag& operator=(const CMsgSource2PerfIntervalSample_Tag& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2PerfIntervalSample_Tag& operator=(CMsgSource2PerfIntervalSample_Tag&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2PerfIntervalSample_Tag& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2PerfIntervalSample_Tag* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2PerfIntervalSample_Tag*>(
               &_CMsgSource2PerfIntervalSample_Tag_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(CMsgSource2PerfIntervalSample_Tag& a, CMsgSource2PerfIntervalSample_Tag& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2PerfIntervalSample_Tag* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2PerfIntervalSample_Tag* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2PerfIntervalSample_Tag* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2PerfIntervalSample_Tag>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2PerfIntervalSample_Tag& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2PerfIntervalSample_Tag& from) {
    CMsgSource2PerfIntervalSample_Tag::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2PerfIntervalSample_Tag* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2PerfIntervalSample.Tag";
  }
  protected:
  explicit CMsgSource2PerfIntervalSample_Tag(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTagFieldNumber = 1,
    kMaxValueFieldNumber = 2,
  };
  // optional string tag = 1;
  bool has_tag() const;
  private:
  bool _internal_has_tag() const;
  public:
  void clear_tag();
  const std::string& tag() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tag(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tag();
  PROTOBUF_NODISCARD std::string* release_tag();
  void set_allocated_tag(std::string* tag);
  private:
  const std::string& _internal_tag() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tag(const std::string& value);
  std::string* _internal_mutable_tag();
  public:

  // optional uint32 max_value = 2;
  bool has_max_value() const;
  private:
  bool _internal_has_max_value() const;
  public:
  void clear_max_value();
  uint32_t max_value() const;
  void set_max_value(uint32_t value);
  private:
  uint32_t _internal_max_value() const;
  void _internal_set_max_value(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2PerfIntervalSample.Tag)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_;
    uint32_t max_value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CMsgSource2PerfIntervalSample final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSource2PerfIntervalSample) */ {
 public:
  inline CMsgSource2PerfIntervalSample() : CMsgSource2PerfIntervalSample(nullptr) {}
  ~CMsgSource2PerfIntervalSample() override;
  explicit PROTOBUF_CONSTEXPR CMsgSource2PerfIntervalSample(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSource2PerfIntervalSample(const CMsgSource2PerfIntervalSample& from);
  CMsgSource2PerfIntervalSample(CMsgSource2PerfIntervalSample&& from) noexcept
    : CMsgSource2PerfIntervalSample() {
    *this = ::std::move(from);
  }

  inline CMsgSource2PerfIntervalSample& operator=(const CMsgSource2PerfIntervalSample& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSource2PerfIntervalSample& operator=(CMsgSource2PerfIntervalSample&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSource2PerfIntervalSample& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSource2PerfIntervalSample* internal_default_instance() {
    return reinterpret_cast<const CMsgSource2PerfIntervalSample*>(
               &_CMsgSource2PerfIntervalSample_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(CMsgSource2PerfIntervalSample& a, CMsgSource2PerfIntervalSample& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSource2PerfIntervalSample* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSource2PerfIntervalSample* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CMsgSource2PerfIntervalSample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSource2PerfIntervalSample>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSource2PerfIntervalSample& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSource2PerfIntervalSample& from) {
    CMsgSource2PerfIntervalSample::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSource2PerfIntervalSample* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSource2PerfIntervalSample";
  }
  protected:
  explicit CMsgSource2PerfIntervalSample(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSource2PerfIntervalSample_Tag Tag;

  // accessors -------------------------------------------------------

  enum : int {
    kTagsFieldNumber = 6,
    kFrameTimeMaxMsFieldNumber = 1,
    kFrameTimeAvgMsFieldNumber = 2,
    kFrameTimeMinMsFieldNumber = 3,
    kFrameCountFieldNumber = 4,
    kFrameTimeTotalMsFieldNumber = 5,
  };
  // repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
  int tags_size() const;
  private:
  int _internal_tags_size() const;
  public:
  void clear_tags();
  ::CMsgSource2PerfIntervalSample_Tag* mutable_tags(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample_Tag >*
      mutable_tags();
  private:
  const ::CMsgSource2PerfIntervalSample_Tag& _internal_tags(int index) const;
  ::CMsgSource2PerfIntervalSample_Tag* _internal_add_tags();
  public:
  const ::CMsgSource2PerfIntervalSample_Tag& tags(int index) const;
  ::CMsgSource2PerfIntervalSample_Tag* add_tags();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample_Tag >&
      tags() const;

  // optional float frame_time_max_ms = 1;
  bool has_frame_time_max_ms() const;
  private:
  bool _internal_has_frame_time_max_ms() const;
  public:
  void clear_frame_time_max_ms();
  float frame_time_max_ms() const;
  void set_frame_time_max_ms(float value);
  private:
  float _internal_frame_time_max_ms() const;
  void _internal_set_frame_time_max_ms(float value);
  public:

  // optional float frame_time_avg_ms = 2;
  bool has_frame_time_avg_ms() const;
  private:
  bool _internal_has_frame_time_avg_ms() const;
  public:
  void clear_frame_time_avg_ms();
  float frame_time_avg_ms() const;
  void set_frame_time_avg_ms(float value);
  private:
  float _internal_frame_time_avg_ms() const;
  void _internal_set_frame_time_avg_ms(float value);
  public:

  // optional float frame_time_min_ms = 3;
  bool has_frame_time_min_ms() const;
  private:
  bool _internal_has_frame_time_min_ms() const;
  public:
  void clear_frame_time_min_ms();
  float frame_time_min_ms() const;
  void set_frame_time_min_ms(float value);
  private:
  float _internal_frame_time_min_ms() const;
  void _internal_set_frame_time_min_ms(float value);
  public:

  // optional int32 frame_count = 4;
  bool has_frame_count() const;
  private:
  bool _internal_has_frame_count() const;
  public:
  void clear_frame_count();
  int32_t frame_count() const;
  void set_frame_count(int32_t value);
  private:
  int32_t _internal_frame_count() const;
  void _internal_set_frame_count(int32_t value);
  public:

  // optional float frame_time_total_ms = 5;
  bool has_frame_time_total_ms() const;
  private:
  bool _internal_has_frame_time_total_ms() const;
  public:
  void clear_frame_time_total_ms();
  float frame_time_total_ms() const;
  void set_frame_time_total_ms(float value);
  private:
  float _internal_frame_time_total_ms() const;
  void _internal_set_frame_time_total_ms(float value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSource2PerfIntervalSample)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample_Tag > tags_;
    float frame_time_max_ms_;
    float frame_time_avg_ms_;
    float frame_time_min_ms_;
    int32_t frame_count_;
    float frame_time_total_ms_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CSource2Metrics_MatchPerfSummary_Notification_Client final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CSource2Metrics_MatchPerfSummary_Notification.Client) */ {
 public:
  inline CSource2Metrics_MatchPerfSummary_Notification_Client() : CSource2Metrics_MatchPerfSummary_Notification_Client(nullptr) {}
  ~CSource2Metrics_MatchPerfSummary_Notification_Client() override;
  explicit PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_Notification_Client(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CSource2Metrics_MatchPerfSummary_Notification_Client(const CSource2Metrics_MatchPerfSummary_Notification_Client& from);
  CSource2Metrics_MatchPerfSummary_Notification_Client(CSource2Metrics_MatchPerfSummary_Notification_Client&& from) noexcept
    : CSource2Metrics_MatchPerfSummary_Notification_Client() {
    *this = ::std::move(from);
  }

  inline CSource2Metrics_MatchPerfSummary_Notification_Client& operator=(const CSource2Metrics_MatchPerfSummary_Notification_Client& from) {
    CopyFrom(from);
    return *this;
  }
  inline CSource2Metrics_MatchPerfSummary_Notification_Client& operator=(CSource2Metrics_MatchPerfSummary_Notification_Client&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CSource2Metrics_MatchPerfSummary_Notification_Client& default_instance() {
    return *internal_default_instance();
  }
  static inline const CSource2Metrics_MatchPerfSummary_Notification_Client* internal_default_instance() {
    return reinterpret_cast<const CSource2Metrics_MatchPerfSummary_Notification_Client*>(
               &_CSource2Metrics_MatchPerfSummary_Notification_Client_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(CSource2Metrics_MatchPerfSummary_Notification_Client& a, CSource2Metrics_MatchPerfSummary_Notification_Client& b) {
    a.Swap(&b);
  }
  inline void Swap(CSource2Metrics_MatchPerfSummary_Notification_Client* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CSource2Metrics_MatchPerfSummary_Notification_Client* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CSource2Metrics_MatchPerfSummary_Notification_Client* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CSource2Metrics_MatchPerfSummary_Notification_Client>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CSource2Metrics_MatchPerfSummary_Notification_Client& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CSource2Metrics_MatchPerfSummary_Notification_Client& from) {
    CSource2Metrics_MatchPerfSummary_Notification_Client::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CSource2Metrics_MatchPerfSummary_Notification_Client* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CSource2Metrics_MatchPerfSummary_Notification.Client";
  }
  protected:
  explicit CSource2Metrics_MatchPerfSummary_Notification_Client(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPerfSamplesFieldNumber = 11,
    kSystemSpecsFieldNumber = 1,
    kProfileFieldNumber = 2,
    kDownstreamFlowFieldNumber = 4,
    kUpstreamFlowFieldNumber = 5,
    kSteamidFieldNumber = 10,
    kBuildIdFieldNumber = 3,
  };
  // repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
  int perf_samples_size() const;
  private:
  int _internal_perf_samples_size() const;
  public:
  void clear_perf_samples();
  ::CMsgSource2PerfIntervalSample* mutable_perf_samples(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample >*
      mutable_perf_samples();
  private:
  const ::CMsgSource2PerfIntervalSample& _internal_perf_samples(int index) const;
  ::CMsgSource2PerfIntervalSample* _internal_add_perf_samples();
  public:
  const ::CMsgSource2PerfIntervalSample& perf_samples(int index) const;
  ::CMsgSource2PerfIntervalSample* add_perf_samples();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample >&
      perf_samples() const;

  // optional .CMsgSource2SystemSpecs system_specs = 1;
  bool has_system_specs() const;
  private:
  bool _internal_has_system_specs() const;
  public:
  void clear_system_specs();
  const ::CMsgSource2SystemSpecs& system_specs() const;
  PROTOBUF_NODISCARD ::CMsgSource2SystemSpecs* release_system_specs();
  ::CMsgSource2SystemSpecs* mutable_system_specs();
  void set_allocated_system_specs(::CMsgSource2SystemSpecs* system_specs);
  private:
  const ::CMsgSource2SystemSpecs& _internal_system_specs() const;
  ::CMsgSource2SystemSpecs* _internal_mutable_system_specs();
  public:
  void unsafe_arena_set_allocated_system_specs(
      ::CMsgSource2SystemSpecs* system_specs);
  ::CMsgSource2SystemSpecs* unsafe_arena_release_system_specs();

  // optional .CMsgSource2VProfLiteReport profile = 2;
  bool has_profile() const;
  private:
  bool _internal_has_profile() const;
  public:
  void clear_profile();
  const ::CMsgSource2VProfLiteReport& profile() const;
  PROTOBUF_NODISCARD ::CMsgSource2VProfLiteReport* release_profile();
  ::CMsgSource2VProfLiteReport* mutable_profile();
  void set_allocated_profile(::CMsgSource2VProfLiteReport* profile);
  private:
  const ::CMsgSource2VProfLiteReport& _internal_profile() const;
  ::CMsgSource2VProfLiteReport* _internal_mutable_profile();
  public:
  void unsafe_arena_set_allocated_profile(
      ::CMsgSource2VProfLiteReport* profile);
  ::CMsgSource2VProfLiteReport* unsafe_arena_release_profile();

  // optional .CMsgSource2NetworkFlowQuality downstream_flow = 4;
  bool has_downstream_flow() const;
  private:
  bool _internal_has_downstream_flow() const;
  public:
  void clear_downstream_flow();
  const ::CMsgSource2NetworkFlowQuality& downstream_flow() const;
  PROTOBUF_NODISCARD ::CMsgSource2NetworkFlowQuality* release_downstream_flow();
  ::CMsgSource2NetworkFlowQuality* mutable_downstream_flow();
  void set_allocated_downstream_flow(::CMsgSource2NetworkFlowQuality* downstream_flow);
  private:
  const ::CMsgSource2NetworkFlowQuality& _internal_downstream_flow() const;
  ::CMsgSource2NetworkFlowQuality* _internal_mutable_downstream_flow();
  public:
  void unsafe_arena_set_allocated_downstream_flow(
      ::CMsgSource2NetworkFlowQuality* downstream_flow);
  ::CMsgSource2NetworkFlowQuality* unsafe_arena_release_downstream_flow();

  // optional .CMsgSource2NetworkFlowQuality upstream_flow = 5;
  bool has_upstream_flow() const;
  private:
  bool _internal_has_upstream_flow() const;
  public:
  void clear_upstream_flow();
  const ::CMsgSource2NetworkFlowQuality& upstream_flow() const;
  PROTOBUF_NODISCARD ::CMsgSource2NetworkFlowQuality* release_upstream_flow();
  ::CMsgSource2NetworkFlowQuality* mutable_upstream_flow();
  void set_allocated_upstream_flow(::CMsgSource2NetworkFlowQuality* upstream_flow);
  private:
  const ::CMsgSource2NetworkFlowQuality& _internal_upstream_flow() const;
  ::CMsgSource2NetworkFlowQuality* _internal_mutable_upstream_flow();
  public:
  void unsafe_arena_set_allocated_upstream_flow(
      ::CMsgSource2NetworkFlowQuality* upstream_flow);
  ::CMsgSource2NetworkFlowQuality* unsafe_arena_release_upstream_flow();

  // optional fixed64 steamid = 10;
  bool has_steamid() const;
  private:
  bool _internal_has_steamid() const;
  public:
  void clear_steamid();
  uint64_t steamid() const;
  void set_steamid(uint64_t value);
  private:
  uint64_t _internal_steamid() const;
  void _internal_set_steamid(uint64_t value);
  public:

  // optional uint32 build_id = 3;
  bool has_build_id() const;
  private:
  bool _internal_has_build_id() const;
  public:
  void clear_build_id();
  uint32_t build_id() const;
  void set_build_id(uint32_t value);
  private:
  uint32_t _internal_build_id() const;
  void _internal_set_build_id(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CSource2Metrics_MatchPerfSummary_Notification.Client)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample > perf_samples_;
    ::CMsgSource2SystemSpecs* system_specs_;
    ::CMsgSource2VProfLiteReport* profile_;
    ::CMsgSource2NetworkFlowQuality* downstream_flow_;
    ::CMsgSource2NetworkFlowQuality* upstream_flow_;
    uint64_t steamid_;
    uint32_t build_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CSource2Metrics_MatchPerfSummary_Notification final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CSource2Metrics_MatchPerfSummary_Notification) */ {
 public:
  inline CSource2Metrics_MatchPerfSummary_Notification() : CSource2Metrics_MatchPerfSummary_Notification(nullptr) {}
  ~CSource2Metrics_MatchPerfSummary_Notification() override;
  explicit PROTOBUF_CONSTEXPR CSource2Metrics_MatchPerfSummary_Notification(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CSource2Metrics_MatchPerfSummary_Notification(const CSource2Metrics_MatchPerfSummary_Notification& from);
  CSource2Metrics_MatchPerfSummary_Notification(CSource2Metrics_MatchPerfSummary_Notification&& from) noexcept
    : CSource2Metrics_MatchPerfSummary_Notification() {
    *this = ::std::move(from);
  }

  inline CSource2Metrics_MatchPerfSummary_Notification& operator=(const CSource2Metrics_MatchPerfSummary_Notification& from) {
    CopyFrom(from);
    return *this;
  }
  inline CSource2Metrics_MatchPerfSummary_Notification& operator=(CSource2Metrics_MatchPerfSummary_Notification&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CSource2Metrics_MatchPerfSummary_Notification& default_instance() {
    return *internal_default_instance();
  }
  static inline const CSource2Metrics_MatchPerfSummary_Notification* internal_default_instance() {
    return reinterpret_cast<const CSource2Metrics_MatchPerfSummary_Notification*>(
               &_CSource2Metrics_MatchPerfSummary_Notification_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(CSource2Metrics_MatchPerfSummary_Notification& a, CSource2Metrics_MatchPerfSummary_Notification& b) {
    a.Swap(&b);
  }
  inline void Swap(CSource2Metrics_MatchPerfSummary_Notification* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CSource2Metrics_MatchPerfSummary_Notification* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CSource2Metrics_MatchPerfSummary_Notification* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CSource2Metrics_MatchPerfSummary_Notification>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CSource2Metrics_MatchPerfSummary_Notification& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CSource2Metrics_MatchPerfSummary_Notification& from) {
    CSource2Metrics_MatchPerfSummary_Notification::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CSource2Metrics_MatchPerfSummary_Notification* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CSource2Metrics_MatchPerfSummary_Notification";
  }
  protected:
  explicit CSource2Metrics_MatchPerfSummary_Notification(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CSource2Metrics_MatchPerfSummary_Notification_Client Client;

  // accessors -------------------------------------------------------

  enum : int {
    kClientsFieldNumber = 11,
    kGameModeFieldNumber = 2,
    kMapFieldNumber = 20,
    kServerProfileFieldNumber = 10,
    kAppidFieldNumber = 1,
    kServerBuildIdFieldNumber = 3,
    kServerPopidFieldNumber = 4,
  };
  // repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
  int clients_size() const;
  private:
  int _internal_clients_size() const;
  public:
  void clear_clients();
  ::CSource2Metrics_MatchPerfSummary_Notification_Client* mutable_clients(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CSource2Metrics_MatchPerfSummary_Notification_Client >*
      mutable_clients();
  private:
  const ::CSource2Metrics_MatchPerfSummary_Notification_Client& _internal_clients(int index) const;
  ::CSource2Metrics_MatchPerfSummary_Notification_Client* _internal_add_clients();
  public:
  const ::CSource2Metrics_MatchPerfSummary_Notification_Client& clients(int index) const;
  ::CSource2Metrics_MatchPerfSummary_Notification_Client* add_clients();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CSource2Metrics_MatchPerfSummary_Notification_Client >&
      clients() const;

  // optional string game_mode = 2;
  bool has_game_mode() const;
  private:
  bool _internal_has_game_mode() const;
  public:
  void clear_game_mode();
  const std::string& game_mode() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_game_mode(ArgT0&& arg0, ArgT... args);
  std::string* mutable_game_mode();
  PROTOBUF_NODISCARD std::string* release_game_mode();
  void set_allocated_game_mode(std::string* game_mode);
  private:
  const std::string& _internal_game_mode() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_game_mode(const std::string& value);
  std::string* _internal_mutable_game_mode();
  public:

  // optional string map = 20;
  bool has_map() const;
  private:
  bool _internal_has_map() const;
  public:
  void clear_map();
  const std::string& map() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_map(ArgT0&& arg0, ArgT... args);
  std::string* mutable_map();
  PROTOBUF_NODISCARD std::string* release_map();
  void set_allocated_map(std::string* map);
  private:
  const std::string& _internal_map() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_map(const std::string& value);
  std::string* _internal_mutable_map();
  public:

  // optional .CMsgSource2VProfLiteReport server_profile = 10;
  bool has_server_profile() const;
  private:
  bool _internal_has_server_profile() const;
  public:
  void clear_server_profile();
  const ::CMsgSource2VProfLiteReport& server_profile() const;
  PROTOBUF_NODISCARD ::CMsgSource2VProfLiteReport* release_server_profile();
  ::CMsgSource2VProfLiteReport* mutable_server_profile();
  void set_allocated_server_profile(::CMsgSource2VProfLiteReport* server_profile);
  private:
  const ::CMsgSource2VProfLiteReport& _internal_server_profile() const;
  ::CMsgSource2VProfLiteReport* _internal_mutable_server_profile();
  public:
  void unsafe_arena_set_allocated_server_profile(
      ::CMsgSource2VProfLiteReport* server_profile);
  ::CMsgSource2VProfLiteReport* unsafe_arena_release_server_profile();

  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // optional uint32 server_build_id = 3;
  bool has_server_build_id() const;
  private:
  bool _internal_has_server_build_id() const;
  public:
  void clear_server_build_id();
  uint32_t server_build_id() const;
  void set_server_build_id(uint32_t value);
  private:
  uint32_t _internal_server_build_id() const;
  void _internal_set_server_build_id(uint32_t value);
  public:

  // optional fixed32 server_popid = 4;
  bool has_server_popid() const;
  private:
  bool _internal_has_server_popid() const;
  public:
  void clear_server_popid();
  uint32_t server_popid() const;
  void set_server_popid(uint32_t value);
  private:
  uint32_t _internal_server_popid() const;
  void _internal_set_server_popid(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CSource2Metrics_MatchPerfSummary_Notification)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CSource2Metrics_MatchPerfSummary_Notification_Client > clients_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr game_mode_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr map_;
    ::CMsgSource2VProfLiteReport* server_profile_;
    uint32_t appid_;
    uint32_t server_build_id_;
    uint32_t server_popid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_source2_5fsteam_5fstats_2eproto;
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// CMsgSource2SystemSpecs

// optional string cpu_id = 1;
inline bool CMsgSource2SystemSpecs::_internal_has_cpu_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_cpu_id() const {
  return _internal_has_cpu_id();
}
inline void CMsgSource2SystemSpecs::clear_cpu_id() {
  _impl_.cpu_id_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSource2SystemSpecs::cpu_id() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.cpu_id)
  return _internal_cpu_id();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2SystemSpecs::set_cpu_id(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.cpu_id_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.cpu_id)
}
inline std::string* CMsgSource2SystemSpecs::mutable_cpu_id() {
  std::string* _s = _internal_mutable_cpu_id();
  // @@protoc_insertion_point(field_mutable:CMsgSource2SystemSpecs.cpu_id)
  return _s;
}
inline const std::string& CMsgSource2SystemSpecs::_internal_cpu_id() const {
  return _impl_.cpu_id_.Get();
}
inline void CMsgSource2SystemSpecs::_internal_set_cpu_id(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.cpu_id_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::_internal_mutable_cpu_id() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.cpu_id_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::release_cpu_id() {
  // @@protoc_insertion_point(field_release:CMsgSource2SystemSpecs.cpu_id)
  if (!_internal_has_cpu_id()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.cpu_id_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_id_.IsDefault()) {
    _impl_.cpu_id_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2SystemSpecs::set_allocated_cpu_id(std::string* cpu_id) {
  if (cpu_id != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.cpu_id_.SetAllocated(cpu_id, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_id_.IsDefault()) {
    _impl_.cpu_id_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2SystemSpecs.cpu_id)
}

// optional string cpu_brand = 2;
inline bool CMsgSource2SystemSpecs::_internal_has_cpu_brand() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_cpu_brand() const {
  return _internal_has_cpu_brand();
}
inline void CMsgSource2SystemSpecs::clear_cpu_brand() {
  _impl_.cpu_brand_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgSource2SystemSpecs::cpu_brand() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.cpu_brand)
  return _internal_cpu_brand();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2SystemSpecs::set_cpu_brand(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.cpu_brand_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.cpu_brand)
}
inline std::string* CMsgSource2SystemSpecs::mutable_cpu_brand() {
  std::string* _s = _internal_mutable_cpu_brand();
  // @@protoc_insertion_point(field_mutable:CMsgSource2SystemSpecs.cpu_brand)
  return _s;
}
inline const std::string& CMsgSource2SystemSpecs::_internal_cpu_brand() const {
  return _impl_.cpu_brand_.Get();
}
inline void CMsgSource2SystemSpecs::_internal_set_cpu_brand(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.cpu_brand_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::_internal_mutable_cpu_brand() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.cpu_brand_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::release_cpu_brand() {
  // @@protoc_insertion_point(field_release:CMsgSource2SystemSpecs.cpu_brand)
  if (!_internal_has_cpu_brand()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.cpu_brand_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_brand_.IsDefault()) {
    _impl_.cpu_brand_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2SystemSpecs::set_allocated_cpu_brand(std::string* cpu_brand) {
  if (cpu_brand != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.cpu_brand_.SetAllocated(cpu_brand, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.cpu_brand_.IsDefault()) {
    _impl_.cpu_brand_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2SystemSpecs.cpu_brand)
}

// optional uint32 cpu_model = 3;
inline bool CMsgSource2SystemSpecs::_internal_has_cpu_model() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_cpu_model() const {
  return _internal_has_cpu_model();
}
inline void CMsgSource2SystemSpecs::clear_cpu_model() {
  _impl_.cpu_model_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_cpu_model() const {
  return _impl_.cpu_model_;
}
inline uint32_t CMsgSource2SystemSpecs::cpu_model() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.cpu_model)
  return _internal_cpu_model();
}
inline void CMsgSource2SystemSpecs::_internal_set_cpu_model(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.cpu_model_ = value;
}
inline void CMsgSource2SystemSpecs::set_cpu_model(uint32_t value) {
  _internal_set_cpu_model(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.cpu_model)
}

// optional uint32 cpu_num_physical = 4;
inline bool CMsgSource2SystemSpecs::_internal_has_cpu_num_physical() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_cpu_num_physical() const {
  return _internal_has_cpu_num_physical();
}
inline void CMsgSource2SystemSpecs::clear_cpu_num_physical() {
  _impl_.cpu_num_physical_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_cpu_num_physical() const {
  return _impl_.cpu_num_physical_;
}
inline uint32_t CMsgSource2SystemSpecs::cpu_num_physical() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.cpu_num_physical)
  return _internal_cpu_num_physical();
}
inline void CMsgSource2SystemSpecs::_internal_set_cpu_num_physical(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.cpu_num_physical_ = value;
}
inline void CMsgSource2SystemSpecs::set_cpu_num_physical(uint32_t value) {
  _internal_set_cpu_num_physical(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.cpu_num_physical)
}

// optional uint32 ram_physical_total_mb = 21;
inline bool CMsgSource2SystemSpecs::_internal_has_ram_physical_total_mb() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_ram_physical_total_mb() const {
  return _internal_has_ram_physical_total_mb();
}
inline void CMsgSource2SystemSpecs::clear_ram_physical_total_mb() {
  _impl_.ram_physical_total_mb_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_ram_physical_total_mb() const {
  return _impl_.ram_physical_total_mb_;
}
inline uint32_t CMsgSource2SystemSpecs::ram_physical_total_mb() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.ram_physical_total_mb)
  return _internal_ram_physical_total_mb();
}
inline void CMsgSource2SystemSpecs::_internal_set_ram_physical_total_mb(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.ram_physical_total_mb_ = value;
}
inline void CMsgSource2SystemSpecs::set_ram_physical_total_mb(uint32_t value) {
  _internal_set_ram_physical_total_mb(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.ram_physical_total_mb)
}

// optional string gpu_rendersystem_dll_name = 41;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_rendersystem_dll_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_rendersystem_dll_name() const {
  return _internal_has_gpu_rendersystem_dll_name();
}
inline void CMsgSource2SystemSpecs::clear_gpu_rendersystem_dll_name() {
  _impl_.gpu_rendersystem_dll_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& CMsgSource2SystemSpecs::gpu_rendersystem_dll_name() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_rendersystem_dll_name)
  return _internal_gpu_rendersystem_dll_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2SystemSpecs::set_gpu_rendersystem_dll_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.gpu_rendersystem_dll_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_rendersystem_dll_name)
}
inline std::string* CMsgSource2SystemSpecs::mutable_gpu_rendersystem_dll_name() {
  std::string* _s = _internal_mutable_gpu_rendersystem_dll_name();
  // @@protoc_insertion_point(field_mutable:CMsgSource2SystemSpecs.gpu_rendersystem_dll_name)
  return _s;
}
inline const std::string& CMsgSource2SystemSpecs::_internal_gpu_rendersystem_dll_name() const {
  return _impl_.gpu_rendersystem_dll_name_.Get();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_rendersystem_dll_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.gpu_rendersystem_dll_name_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::_internal_mutable_gpu_rendersystem_dll_name() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.gpu_rendersystem_dll_name_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::release_gpu_rendersystem_dll_name() {
  // @@protoc_insertion_point(field_release:CMsgSource2SystemSpecs.gpu_rendersystem_dll_name)
  if (!_internal_has_gpu_rendersystem_dll_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.gpu_rendersystem_dll_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gpu_rendersystem_dll_name_.IsDefault()) {
    _impl_.gpu_rendersystem_dll_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2SystemSpecs::set_allocated_gpu_rendersystem_dll_name(std::string* gpu_rendersystem_dll_name) {
  if (gpu_rendersystem_dll_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.gpu_rendersystem_dll_name_.SetAllocated(gpu_rendersystem_dll_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gpu_rendersystem_dll_name_.IsDefault()) {
    _impl_.gpu_rendersystem_dll_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2SystemSpecs.gpu_rendersystem_dll_name)
}

// optional uint32 gpu_vendor_id = 42;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_vendor_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_vendor_id() const {
  return _internal_has_gpu_vendor_id();
}
inline void CMsgSource2SystemSpecs::clear_gpu_vendor_id() {
  _impl_.gpu_vendor_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_gpu_vendor_id() const {
  return _impl_.gpu_vendor_id_;
}
inline uint32_t CMsgSource2SystemSpecs::gpu_vendor_id() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_vendor_id)
  return _internal_gpu_vendor_id();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_vendor_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.gpu_vendor_id_ = value;
}
inline void CMsgSource2SystemSpecs::set_gpu_vendor_id(uint32_t value) {
  _internal_set_gpu_vendor_id(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_vendor_id)
}

// optional string gpu_driver_name = 43;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_driver_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_driver_name() const {
  return _internal_has_gpu_driver_name();
}
inline void CMsgSource2SystemSpecs::clear_gpu_driver_name() {
  _impl_.gpu_driver_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& CMsgSource2SystemSpecs::gpu_driver_name() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_driver_name)
  return _internal_gpu_driver_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2SystemSpecs::set_gpu_driver_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.gpu_driver_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_driver_name)
}
inline std::string* CMsgSource2SystemSpecs::mutable_gpu_driver_name() {
  std::string* _s = _internal_mutable_gpu_driver_name();
  // @@protoc_insertion_point(field_mutable:CMsgSource2SystemSpecs.gpu_driver_name)
  return _s;
}
inline const std::string& CMsgSource2SystemSpecs::_internal_gpu_driver_name() const {
  return _impl_.gpu_driver_name_.Get();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_driver_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.gpu_driver_name_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::_internal_mutable_gpu_driver_name() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.gpu_driver_name_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2SystemSpecs::release_gpu_driver_name() {
  // @@protoc_insertion_point(field_release:CMsgSource2SystemSpecs.gpu_driver_name)
  if (!_internal_has_gpu_driver_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.gpu_driver_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gpu_driver_name_.IsDefault()) {
    _impl_.gpu_driver_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2SystemSpecs::set_allocated_gpu_driver_name(std::string* gpu_driver_name) {
  if (gpu_driver_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.gpu_driver_name_.SetAllocated(gpu_driver_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.gpu_driver_name_.IsDefault()) {
    _impl_.gpu_driver_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2SystemSpecs.gpu_driver_name)
}

// optional uint32 gpu_driver_version_high = 44;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_driver_version_high() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_driver_version_high() const {
  return _internal_has_gpu_driver_version_high();
}
inline void CMsgSource2SystemSpecs::clear_gpu_driver_version_high() {
  _impl_.gpu_driver_version_high_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_gpu_driver_version_high() const {
  return _impl_.gpu_driver_version_high_;
}
inline uint32_t CMsgSource2SystemSpecs::gpu_driver_version_high() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_driver_version_high)
  return _internal_gpu_driver_version_high();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_driver_version_high(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.gpu_driver_version_high_ = value;
}
inline void CMsgSource2SystemSpecs::set_gpu_driver_version_high(uint32_t value) {
  _internal_set_gpu_driver_version_high(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_driver_version_high)
}

// optional uint32 gpu_driver_version_low = 45;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_driver_version_low() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_driver_version_low() const {
  return _internal_has_gpu_driver_version_low();
}
inline void CMsgSource2SystemSpecs::clear_gpu_driver_version_low() {
  _impl_.gpu_driver_version_low_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_gpu_driver_version_low() const {
  return _impl_.gpu_driver_version_low_;
}
inline uint32_t CMsgSource2SystemSpecs::gpu_driver_version_low() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_driver_version_low)
  return _internal_gpu_driver_version_low();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_driver_version_low(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.gpu_driver_version_low_ = value;
}
inline void CMsgSource2SystemSpecs::set_gpu_driver_version_low(uint32_t value) {
  _internal_set_gpu_driver_version_low(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_driver_version_low)
}

// optional uint32 gpu_dx_support_level = 46;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_dx_support_level() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_dx_support_level() const {
  return _internal_has_gpu_dx_support_level();
}
inline void CMsgSource2SystemSpecs::clear_gpu_dx_support_level() {
  _impl_.gpu_dx_support_level_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_gpu_dx_support_level() const {
  return _impl_.gpu_dx_support_level_;
}
inline uint32_t CMsgSource2SystemSpecs::gpu_dx_support_level() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_dx_support_level)
  return _internal_gpu_dx_support_level();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_dx_support_level(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.gpu_dx_support_level_ = value;
}
inline void CMsgSource2SystemSpecs::set_gpu_dx_support_level(uint32_t value) {
  _internal_set_gpu_dx_support_level(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_dx_support_level)
}

// optional uint32 gpu_texture_memory_size_mb = 47;
inline bool CMsgSource2SystemSpecs::_internal_has_gpu_texture_memory_size_mb() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_gpu_texture_memory_size_mb() const {
  return _internal_has_gpu_texture_memory_size_mb();
}
inline void CMsgSource2SystemSpecs::clear_gpu_texture_memory_size_mb() {
  _impl_.gpu_texture_memory_size_mb_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_gpu_texture_memory_size_mb() const {
  return _impl_.gpu_texture_memory_size_mb_;
}
inline uint32_t CMsgSource2SystemSpecs::gpu_texture_memory_size_mb() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.gpu_texture_memory_size_mb)
  return _internal_gpu_texture_memory_size_mb();
}
inline void CMsgSource2SystemSpecs::_internal_set_gpu_texture_memory_size_mb(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.gpu_texture_memory_size_mb_ = value;
}
inline void CMsgSource2SystemSpecs::set_gpu_texture_memory_size_mb(uint32_t value) {
  _internal_set_gpu_texture_memory_size_mb(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.gpu_texture_memory_size_mb)
}

// optional uint32 backbuffer_width = 51;
inline bool CMsgSource2SystemSpecs::_internal_has_backbuffer_width() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_backbuffer_width() const {
  return _internal_has_backbuffer_width();
}
inline void CMsgSource2SystemSpecs::clear_backbuffer_width() {
  _impl_.backbuffer_width_ = 0u;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_backbuffer_width() const {
  return _impl_.backbuffer_width_;
}
inline uint32_t CMsgSource2SystemSpecs::backbuffer_width() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.backbuffer_width)
  return _internal_backbuffer_width();
}
inline void CMsgSource2SystemSpecs::_internal_set_backbuffer_width(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.backbuffer_width_ = value;
}
inline void CMsgSource2SystemSpecs::set_backbuffer_width(uint32_t value) {
  _internal_set_backbuffer_width(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.backbuffer_width)
}

// optional uint32 backbuffer_height = 52;
inline bool CMsgSource2SystemSpecs::_internal_has_backbuffer_height() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool CMsgSource2SystemSpecs::has_backbuffer_height() const {
  return _internal_has_backbuffer_height();
}
inline void CMsgSource2SystemSpecs::clear_backbuffer_height() {
  _impl_.backbuffer_height_ = 0u;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline uint32_t CMsgSource2SystemSpecs::_internal_backbuffer_height() const {
  return _impl_.backbuffer_height_;
}
inline uint32_t CMsgSource2SystemSpecs::backbuffer_height() const {
  // @@protoc_insertion_point(field_get:CMsgSource2SystemSpecs.backbuffer_height)
  return _internal_backbuffer_height();
}
inline void CMsgSource2SystemSpecs::_internal_set_backbuffer_height(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.backbuffer_height_ = value;
}
inline void CMsgSource2SystemSpecs::set_backbuffer_height(uint32_t value) {
  _internal_set_backbuffer_height(value);
  // @@protoc_insertion_point(field_set:CMsgSource2SystemSpecs.backbuffer_height)
}

// -------------------------------------------------------------------

// CMsgSource2VProfLiteReportItem

// optional string name = 1;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_name() const {
  return _internal_has_name();
}
inline void CMsgSource2VProfLiteReportItem::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSource2VProfLiteReportItem::name() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2VProfLiteReportItem::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.name)
}
inline std::string* CMsgSource2VProfLiteReportItem::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:CMsgSource2VProfLiteReportItem.name)
  return _s;
}
inline const std::string& CMsgSource2VProfLiteReportItem::_internal_name() const {
  return _impl_.name_.Get();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2VProfLiteReportItem::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2VProfLiteReportItem::release_name() {
  // @@protoc_insertion_point(field_release:CMsgSource2VProfLiteReportItem.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2VProfLiteReportItem::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2VProfLiteReportItem.name)
}

// optional uint32 active_samples = 2;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_active_samples() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_active_samples() const {
  return _internal_has_active_samples();
}
inline void CMsgSource2VProfLiteReportItem::clear_active_samples() {
  _impl_.active_samples_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_active_samples() const {
  return _impl_.active_samples_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::active_samples() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.active_samples)
  return _internal_active_samples();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_active_samples(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.active_samples_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_active_samples(uint32_t value) {
  _internal_set_active_samples(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.active_samples)
}

// optional uint32 active_samples_1secmax = 4;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_active_samples_1secmax() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_active_samples_1secmax() const {
  return _internal_has_active_samples_1secmax();
}
inline void CMsgSource2VProfLiteReportItem::clear_active_samples_1secmax() {
  _impl_.active_samples_1secmax_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_active_samples_1secmax() const {
  return _impl_.active_samples_1secmax_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::active_samples_1secmax() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.active_samples_1secmax)
  return _internal_active_samples_1secmax();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_active_samples_1secmax(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.active_samples_1secmax_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_active_samples_1secmax(uint32_t value) {
  _internal_set_active_samples_1secmax(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.active_samples_1secmax)
}

// optional uint32 usec_max = 3;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_max() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_max() const {
  return _internal_has_usec_max();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_max() {
  _impl_.usec_max_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_max() const {
  return _impl_.usec_max_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_max() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_max)
  return _internal_usec_max();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_max(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.usec_max_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_max(uint32_t value) {
  _internal_set_usec_max(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_max)
}

// optional uint32 usec_avg_active = 11;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_avg_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_avg_active() const {
  return _internal_has_usec_avg_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_avg_active() {
  _impl_.usec_avg_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_avg_active() const {
  return _impl_.usec_avg_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_avg_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_avg_active)
  return _internal_usec_avg_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_avg_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.usec_avg_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_avg_active(uint32_t value) {
  _internal_set_usec_avg_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_avg_active)
}

// optional uint32 usec_p50_active = 12;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_p50_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_p50_active() const {
  return _internal_has_usec_p50_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_p50_active() {
  _impl_.usec_p50_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_p50_active() const {
  return _impl_.usec_p50_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_p50_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_p50_active)
  return _internal_usec_p50_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_p50_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.usec_p50_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_p50_active(uint32_t value) {
  _internal_set_usec_p50_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_p50_active)
}

// optional uint32 usec_p99_active = 13;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_p99_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_p99_active() const {
  return _internal_has_usec_p99_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_p99_active() {
  _impl_.usec_p99_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_p99_active() const {
  return _impl_.usec_p99_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_p99_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_p99_active)
  return _internal_usec_p99_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_p99_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.usec_p99_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_p99_active(uint32_t value) {
  _internal_set_usec_p99_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_p99_active)
}

// optional uint32 usec_avg_all = 21;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_avg_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_avg_all() const {
  return _internal_has_usec_avg_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_avg_all() {
  _impl_.usec_avg_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_avg_all() const {
  return _impl_.usec_avg_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_avg_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_avg_all)
  return _internal_usec_avg_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_avg_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.usec_avg_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_avg_all(uint32_t value) {
  _internal_set_usec_avg_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_avg_all)
}

// optional uint32 usec_p50_all = 22;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_p50_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_p50_all() const {
  return _internal_has_usec_p50_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_p50_all() {
  _impl_.usec_p50_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_p50_all() const {
  return _impl_.usec_p50_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_p50_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_p50_all)
  return _internal_usec_p50_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_p50_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.usec_p50_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_p50_all(uint32_t value) {
  _internal_set_usec_p50_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_p50_all)
}

// optional uint32 usec_p99_all = 23;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_p99_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_p99_all() const {
  return _internal_has_usec_p99_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_p99_all() {
  _impl_.usec_p99_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_p99_all() const {
  return _impl_.usec_p99_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_p99_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_p99_all)
  return _internal_usec_p99_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_p99_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.usec_p99_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_p99_all(uint32_t value) {
  _internal_set_usec_p99_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_p99_all)
}

// optional uint32 usec_1secmax_avg_active = 31;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_avg_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_avg_active() const {
  return _internal_has_usec_1secmax_avg_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_avg_active() {
  _impl_.usec_1secmax_avg_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_avg_active() const {
  return _impl_.usec_1secmax_avg_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_avg_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_avg_active)
  return _internal_usec_1secmax_avg_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_avg_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.usec_1secmax_avg_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_avg_active(uint32_t value) {
  _internal_set_usec_1secmax_avg_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_avg_active)
}

// optional uint32 usec_1secmax_p50_active = 32;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p50_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p50_active() const {
  return _internal_has_usec_1secmax_p50_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p50_active() {
  _impl_.usec_1secmax_p50_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p50_active() const {
  return _impl_.usec_1secmax_p50_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p50_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p50_active)
  return _internal_usec_1secmax_p50_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p50_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.usec_1secmax_p50_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p50_active(uint32_t value) {
  _internal_set_usec_1secmax_p50_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p50_active)
}

// optional uint32 usec_1secmax_p95_active = 33;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p95_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p95_active() const {
  return _internal_has_usec_1secmax_p95_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p95_active() {
  _impl_.usec_1secmax_p95_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p95_active() const {
  return _impl_.usec_1secmax_p95_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p95_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p95_active)
  return _internal_usec_1secmax_p95_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p95_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.usec_1secmax_p95_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p95_active(uint32_t value) {
  _internal_set_usec_1secmax_p95_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p95_active)
}

// optional uint32 usec_1secmax_p99_active = 34;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p99_active() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p99_active() const {
  return _internal_has_usec_1secmax_p99_active();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p99_active() {
  _impl_.usec_1secmax_p99_active_ = 0u;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p99_active() const {
  return _impl_.usec_1secmax_p99_active_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p99_active() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p99_active)
  return _internal_usec_1secmax_p99_active();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p99_active(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.usec_1secmax_p99_active_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p99_active(uint32_t value) {
  _internal_set_usec_1secmax_p99_active(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p99_active)
}

// optional uint32 usec_1secmax_avg_all = 41;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_avg_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_avg_all() const {
  return _internal_has_usec_1secmax_avg_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_avg_all() {
  _impl_.usec_1secmax_avg_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_avg_all() const {
  return _impl_.usec_1secmax_avg_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_avg_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_avg_all)
  return _internal_usec_1secmax_avg_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_avg_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00004000u;
  _impl_.usec_1secmax_avg_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_avg_all(uint32_t value) {
  _internal_set_usec_1secmax_avg_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_avg_all)
}

// optional uint32 usec_1secmax_p50_all = 42;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p50_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p50_all() const {
  return _internal_has_usec_1secmax_p50_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p50_all() {
  _impl_.usec_1secmax_p50_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00008000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p50_all() const {
  return _impl_.usec_1secmax_p50_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p50_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p50_all)
  return _internal_usec_1secmax_p50_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p50_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00008000u;
  _impl_.usec_1secmax_p50_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p50_all(uint32_t value) {
  _internal_set_usec_1secmax_p50_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p50_all)
}

// optional uint32 usec_1secmax_p95_all = 43;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p95_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p95_all() const {
  return _internal_has_usec_1secmax_p95_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p95_all() {
  _impl_.usec_1secmax_p95_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00010000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p95_all() const {
  return _impl_.usec_1secmax_p95_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p95_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p95_all)
  return _internal_usec_1secmax_p95_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p95_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00010000u;
  _impl_.usec_1secmax_p95_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p95_all(uint32_t value) {
  _internal_set_usec_1secmax_p95_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p95_all)
}

// optional uint32 usec_1secmax_p99_all = 44;
inline bool CMsgSource2VProfLiteReportItem::_internal_has_usec_1secmax_p99_all() const {
  bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReportItem::has_usec_1secmax_p99_all() const {
  return _internal_has_usec_1secmax_p99_all();
}
inline void CMsgSource2VProfLiteReportItem::clear_usec_1secmax_p99_all() {
  _impl_.usec_1secmax_p99_all_ = 0u;
  _impl_._has_bits_[0] &= ~0x00020000u;
}
inline uint32_t CMsgSource2VProfLiteReportItem::_internal_usec_1secmax_p99_all() const {
  return _impl_.usec_1secmax_p99_all_;
}
inline uint32_t CMsgSource2VProfLiteReportItem::usec_1secmax_p99_all() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReportItem.usec_1secmax_p99_all)
  return _internal_usec_1secmax_p99_all();
}
inline void CMsgSource2VProfLiteReportItem::_internal_set_usec_1secmax_p99_all(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00020000u;
  _impl_.usec_1secmax_p99_all_ = value;
}
inline void CMsgSource2VProfLiteReportItem::set_usec_1secmax_p99_all(uint32_t value) {
  _internal_set_usec_1secmax_p99_all(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReportItem.usec_1secmax_p99_all)
}

// -------------------------------------------------------------------

// CMsgSource2VProfLiteReport

// optional .CMsgSource2VProfLiteReportItem total = 1;
inline bool CMsgSource2VProfLiteReport::_internal_has_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.total_ != nullptr);
  return value;
}
inline bool CMsgSource2VProfLiteReport::has_total() const {
  return _internal_has_total();
}
inline void CMsgSource2VProfLiteReport::clear_total() {
  if (_impl_.total_ != nullptr) _impl_.total_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSource2VProfLiteReportItem& CMsgSource2VProfLiteReport::_internal_total() const {
  const ::CMsgSource2VProfLiteReportItem* p = _impl_.total_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2VProfLiteReportItem&>(
      ::_CMsgSource2VProfLiteReportItem_default_instance_);
}
inline const ::CMsgSource2VProfLiteReportItem& CMsgSource2VProfLiteReport::total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReport.total)
  return _internal_total();
}
inline void CMsgSource2VProfLiteReport::unsafe_arena_set_allocated_total(
    ::CMsgSource2VProfLiteReportItem* total) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.total_);
  }
  _impl_.total_ = total;
  if (total) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSource2VProfLiteReport.total)
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::release_total() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSource2VProfLiteReportItem* temp = _impl_.total_;
  _impl_.total_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::unsafe_arena_release_total() {
  // @@protoc_insertion_point(field_release:CMsgSource2VProfLiteReport.total)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSource2VProfLiteReportItem* temp = _impl_.total_;
  _impl_.total_ = nullptr;
  return temp;
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::_internal_mutable_total() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.total_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2VProfLiteReportItem>(GetArenaForAllocation());
    _impl_.total_ = p;
  }
  return _impl_.total_;
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::mutable_total() {
  ::CMsgSource2VProfLiteReportItem* _msg = _internal_mutable_total();
  // @@protoc_insertion_point(field_mutable:CMsgSource2VProfLiteReport.total)
  return _msg;
}
inline void CMsgSource2VProfLiteReport::set_allocated_total(::CMsgSource2VProfLiteReportItem* total) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.total_;
  }
  if (total) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(total);
    if (message_arena != submessage_arena) {
      total = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, total, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.total_ = total;
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2VProfLiteReport.total)
}

// repeated .CMsgSource2VProfLiteReportItem items = 2;
inline int CMsgSource2VProfLiteReport::_internal_items_size() const {
  return _impl_.items_.size();
}
inline int CMsgSource2VProfLiteReport::items_size() const {
  return _internal_items_size();
}
inline void CMsgSource2VProfLiteReport::clear_items() {
  _impl_.items_.Clear();
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::mutable_items(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSource2VProfLiteReport.items)
  return _impl_.items_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2VProfLiteReportItem >*
CMsgSource2VProfLiteReport::mutable_items() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSource2VProfLiteReport.items)
  return &_impl_.items_;
}
inline const ::CMsgSource2VProfLiteReportItem& CMsgSource2VProfLiteReport::_internal_items(int index) const {
  return _impl_.items_.Get(index);
}
inline const ::CMsgSource2VProfLiteReportItem& CMsgSource2VProfLiteReport::items(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReport.items)
  return _internal_items(index);
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::_internal_add_items() {
  return _impl_.items_.Add();
}
inline ::CMsgSource2VProfLiteReportItem* CMsgSource2VProfLiteReport::add_items() {
  ::CMsgSource2VProfLiteReportItem* _add = _internal_add_items();
  // @@protoc_insertion_point(field_add:CMsgSource2VProfLiteReport.items)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2VProfLiteReportItem >&
CMsgSource2VProfLiteReport::items() const {
  // @@protoc_insertion_point(field_list:CMsgSource2VProfLiteReport.items)
  return _impl_.items_;
}

// optional uint32 discarded_frames = 3;
inline bool CMsgSource2VProfLiteReport::_internal_has_discarded_frames() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2VProfLiteReport::has_discarded_frames() const {
  return _internal_has_discarded_frames();
}
inline void CMsgSource2VProfLiteReport::clear_discarded_frames() {
  _impl_.discarded_frames_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSource2VProfLiteReport::_internal_discarded_frames() const {
  return _impl_.discarded_frames_;
}
inline uint32_t CMsgSource2VProfLiteReport::discarded_frames() const {
  // @@protoc_insertion_point(field_get:CMsgSource2VProfLiteReport.discarded_frames)
  return _internal_discarded_frames();
}
inline void CMsgSource2VProfLiteReport::_internal_set_discarded_frames(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.discarded_frames_ = value;
}
inline void CMsgSource2VProfLiteReport::set_discarded_frames(uint32_t value) {
  _internal_set_discarded_frames(value);
  // @@protoc_insertion_point(field_set:CMsgSource2VProfLiteReport.discarded_frames)
}

// -------------------------------------------------------------------

// CMsgSource2NetworkFlowQuality

// optional uint32 duration = 1;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_duration() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_duration() const {
  return _internal_has_duration();
}
inline void CMsgSource2NetworkFlowQuality::clear_duration() {
  _impl_.duration_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_duration() const {
  return _impl_.duration_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::duration() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.duration)
  return _internal_duration();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_duration(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.duration_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_duration(uint32_t value) {
  _internal_set_duration(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.duration)
}

// optional uint64 bytes_total = 5;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_bytes_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_bytes_total() const {
  return _internal_has_bytes_total();
}
inline void CMsgSource2NetworkFlowQuality::clear_bytes_total() {
  _impl_.bytes_total_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgSource2NetworkFlowQuality::_internal_bytes_total() const {
  return _impl_.bytes_total_;
}
inline uint64_t CMsgSource2NetworkFlowQuality::bytes_total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.bytes_total)
  return _internal_bytes_total();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_bytes_total(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.bytes_total_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_bytes_total(uint64_t value) {
  _internal_set_bytes_total(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.bytes_total)
}

// optional uint64 bytes_total_reliable = 6;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_bytes_total_reliable() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_bytes_total_reliable() const {
  return _internal_has_bytes_total_reliable();
}
inline void CMsgSource2NetworkFlowQuality::clear_bytes_total_reliable() {
  _impl_.bytes_total_reliable_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t CMsgSource2NetworkFlowQuality::_internal_bytes_total_reliable() const {
  return _impl_.bytes_total_reliable_;
}
inline uint64_t CMsgSource2NetworkFlowQuality::bytes_total_reliable() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.bytes_total_reliable)
  return _internal_bytes_total_reliable();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_bytes_total_reliable(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.bytes_total_reliable_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_bytes_total_reliable(uint64_t value) {
  _internal_set_bytes_total_reliable(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.bytes_total_reliable)
}

// optional uint64 bytes_total_voice = 7;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_bytes_total_voice() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_bytes_total_voice() const {
  return _internal_has_bytes_total_voice();
}
inline void CMsgSource2NetworkFlowQuality::clear_bytes_total_voice() {
  _impl_.bytes_total_voice_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint64_t CMsgSource2NetworkFlowQuality::_internal_bytes_total_voice() const {
  return _impl_.bytes_total_voice_;
}
inline uint64_t CMsgSource2NetworkFlowQuality::bytes_total_voice() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.bytes_total_voice)
  return _internal_bytes_total_voice();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_bytes_total_voice(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.bytes_total_voice_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_bytes_total_voice(uint64_t value) {
  _internal_set_bytes_total_voice(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.bytes_total_voice)
}

// optional uint32 bytes_sec_p95 = 10;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_bytes_sec_p95() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_bytes_sec_p95() const {
  return _internal_has_bytes_sec_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_bytes_sec_p95() {
  _impl_.bytes_sec_p95_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_bytes_sec_p95() const {
  return _impl_.bytes_sec_p95_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::bytes_sec_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.bytes_sec_p95)
  return _internal_bytes_sec_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_bytes_sec_p95(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.bytes_sec_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_bytes_sec_p95(uint32_t value) {
  _internal_set_bytes_sec_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.bytes_sec_p95)
}

// optional uint32 bytes_sec_p99 = 11;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_bytes_sec_p99() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_bytes_sec_p99() const {
  return _internal_has_bytes_sec_p99();
}
inline void CMsgSource2NetworkFlowQuality::clear_bytes_sec_p99() {
  _impl_.bytes_sec_p99_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_bytes_sec_p99() const {
  return _impl_.bytes_sec_p99_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::bytes_sec_p99() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.bytes_sec_p99)
  return _internal_bytes_sec_p99();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_bytes_sec_p99(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.bytes_sec_p99_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_bytes_sec_p99(uint32_t value) {
  _internal_set_bytes_sec_p99(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.bytes_sec_p99)
}

// optional uint32 enginemsgs_total = 20;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_enginemsgs_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_enginemsgs_total() const {
  return _internal_has_enginemsgs_total();
}
inline void CMsgSource2NetworkFlowQuality::clear_enginemsgs_total() {
  _impl_.enginemsgs_total_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_enginemsgs_total() const {
  return _impl_.enginemsgs_total_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::enginemsgs_total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.enginemsgs_total)
  return _internal_enginemsgs_total();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_enginemsgs_total(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.enginemsgs_total_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_enginemsgs_total(uint32_t value) {
  _internal_set_enginemsgs_total(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.enginemsgs_total)
}

// optional uint32 enginemsgs_sec_p95 = 21;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_enginemsgs_sec_p95() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_enginemsgs_sec_p95() const {
  return _internal_has_enginemsgs_sec_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_enginemsgs_sec_p95() {
  _impl_.enginemsgs_sec_p95_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_enginemsgs_sec_p95() const {
  return _impl_.enginemsgs_sec_p95_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::enginemsgs_sec_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.enginemsgs_sec_p95)
  return _internal_enginemsgs_sec_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_enginemsgs_sec_p95(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.enginemsgs_sec_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_enginemsgs_sec_p95(uint32_t value) {
  _internal_set_enginemsgs_sec_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.enginemsgs_sec_p95)
}

// optional uint32 enginemsgs_sec_p99 = 22;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_enginemsgs_sec_p99() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_enginemsgs_sec_p99() const {
  return _internal_has_enginemsgs_sec_p99();
}
inline void CMsgSource2NetworkFlowQuality::clear_enginemsgs_sec_p99() {
  _impl_.enginemsgs_sec_p99_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_enginemsgs_sec_p99() const {
  return _impl_.enginemsgs_sec_p99_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::enginemsgs_sec_p99() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.enginemsgs_sec_p99)
  return _internal_enginemsgs_sec_p99();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_enginemsgs_sec_p99(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.enginemsgs_sec_p99_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_enginemsgs_sec_p99(uint32_t value) {
  _internal_set_enginemsgs_sec_p99(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.enginemsgs_sec_p99)
}

// optional uint32 netframes_total = 30;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_total() const {
  return _internal_has_netframes_total();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_total() {
  _impl_.netframes_total_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_total() const {
  return _impl_.netframes_total_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_total)
  return _internal_netframes_total();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_total(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.netframes_total_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_total(uint32_t value) {
  _internal_set_netframes_total(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_total)
}

// optional uint32 netframes_dropped = 31;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_dropped() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_dropped() const {
  return _internal_has_netframes_dropped();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_dropped() {
  _impl_.netframes_dropped_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_dropped() const {
  return _impl_.netframes_dropped_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_dropped() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_dropped)
  return _internal_netframes_dropped();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_dropped(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.netframes_dropped_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_dropped(uint32_t value) {
  _internal_set_netframes_dropped(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_dropped)
}

// optional uint32 netframes_outoforder = 32;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_outoforder() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_outoforder() const {
  return _internal_has_netframes_outoforder();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_outoforder() {
  _impl_.netframes_outoforder_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_outoforder() const {
  return _impl_.netframes_outoforder_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_outoforder() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_outoforder)
  return _internal_netframes_outoforder();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_outoforder(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.netframes_outoforder_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_outoforder(uint32_t value) {
  _internal_set_netframes_outoforder(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_outoforder)
}

// optional uint32 netframes_size_exceeds_mtu = 34;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_size_exceeds_mtu() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_size_exceeds_mtu() const {
  return _internal_has_netframes_size_exceeds_mtu();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_size_exceeds_mtu() {
  _impl_.netframes_size_exceeds_mtu_ = 0u;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_size_exceeds_mtu() const {
  return _impl_.netframes_size_exceeds_mtu_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_size_exceeds_mtu() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_size_exceeds_mtu)
  return _internal_netframes_size_exceeds_mtu();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_size_exceeds_mtu(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.netframes_size_exceeds_mtu_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_size_exceeds_mtu(uint32_t value) {
  _internal_set_netframes_size_exceeds_mtu(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_size_exceeds_mtu)
}

// optional uint32 netframes_size_p95 = 35;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_size_p95() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_size_p95() const {
  return _internal_has_netframes_size_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_size_p95() {
  _impl_.netframes_size_p95_ = 0u;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_size_p95() const {
  return _impl_.netframes_size_p95_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_size_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_size_p95)
  return _internal_netframes_size_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_size_p95(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.netframes_size_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_size_p95(uint32_t value) {
  _internal_set_netframes_size_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_size_p95)
}

// optional uint32 netframes_size_p99 = 36;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframes_size_p99() const {
  bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframes_size_p99() const {
  return _internal_has_netframes_size_p99();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframes_size_p99() {
  _impl_.netframes_size_p99_ = 0u;
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframes_size_p99() const {
  return _impl_.netframes_size_p99_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframes_size_p99() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframes_size_p99)
  return _internal_netframes_size_p99();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframes_size_p99(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00004000u;
  _impl_.netframes_size_p99_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframes_size_p99(uint32_t value) {
  _internal_set_netframes_size_p99(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframes_size_p99)
}

// optional uint32 ticks_total = 40;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_total() const {
  return _internal_has_ticks_total();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_total() {
  _impl_.ticks_total_ = 0u;
  _impl_._has_bits_[0] &= ~0x00008000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_total() const {
  return _impl_.ticks_total_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_total)
  return _internal_ticks_total();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_total(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00008000u;
  _impl_.ticks_total_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_total(uint32_t value) {
  _internal_set_ticks_total(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_total)
}

// optional uint32 ticks_good = 41;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_good() const {
  bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_good() const {
  return _internal_has_ticks_good();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_good() {
  _impl_.ticks_good_ = 0u;
  _impl_._has_bits_[0] &= ~0x00010000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_good() const {
  return _impl_.ticks_good_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_good() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_good)
  return _internal_ticks_good();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_good(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00010000u;
  _impl_.ticks_good_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_good(uint32_t value) {
  _internal_set_ticks_good(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_good)
}

// optional uint32 ticks_good_almost_late = 42;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_good_almost_late() const {
  bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_good_almost_late() const {
  return _internal_has_ticks_good_almost_late();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_good_almost_late() {
  _impl_.ticks_good_almost_late_ = 0u;
  _impl_._has_bits_[0] &= ~0x00020000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_good_almost_late() const {
  return _impl_.ticks_good_almost_late_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_good_almost_late() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_good_almost_late)
  return _internal_ticks_good_almost_late();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_good_almost_late(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00020000u;
  _impl_.ticks_good_almost_late_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_good_almost_late(uint32_t value) {
  _internal_set_ticks_good_almost_late(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_good_almost_late)
}

// optional uint32 ticks_fixed_dropped = 43;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_fixed_dropped() const {
  bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_fixed_dropped() const {
  return _internal_has_ticks_fixed_dropped();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_fixed_dropped() {
  _impl_.ticks_fixed_dropped_ = 0u;
  _impl_._has_bits_[0] &= ~0x00040000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_fixed_dropped() const {
  return _impl_.ticks_fixed_dropped_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_fixed_dropped() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_fixed_dropped)
  return _internal_ticks_fixed_dropped();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_fixed_dropped(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00040000u;
  _impl_.ticks_fixed_dropped_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_fixed_dropped(uint32_t value) {
  _internal_set_ticks_fixed_dropped(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_fixed_dropped)
}

// optional uint32 ticks_fixed_late = 44;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_fixed_late() const {
  bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_fixed_late() const {
  return _internal_has_ticks_fixed_late();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_fixed_late() {
  _impl_.ticks_fixed_late_ = 0u;
  _impl_._has_bits_[0] &= ~0x00080000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_fixed_late() const {
  return _impl_.ticks_fixed_late_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_fixed_late() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_fixed_late)
  return _internal_ticks_fixed_late();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_fixed_late(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00080000u;
  _impl_.ticks_fixed_late_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_fixed_late(uint32_t value) {
  _internal_set_ticks_fixed_late(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_fixed_late)
}

// optional uint32 ticks_bad_dropped = 45;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_bad_dropped() const {
  bool value = (_impl_._has_bits_[0] & 0x00100000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_bad_dropped() const {
  return _internal_has_ticks_bad_dropped();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_bad_dropped() {
  _impl_.ticks_bad_dropped_ = 0u;
  _impl_._has_bits_[0] &= ~0x00100000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_bad_dropped() const {
  return _impl_.ticks_bad_dropped_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_bad_dropped() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_bad_dropped)
  return _internal_ticks_bad_dropped();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_bad_dropped(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00100000u;
  _impl_.ticks_bad_dropped_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_bad_dropped(uint32_t value) {
  _internal_set_ticks_bad_dropped(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_bad_dropped)
}

// optional uint32 ticks_bad_late = 46;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_bad_late() const {
  bool value = (_impl_._has_bits_[0] & 0x00200000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_bad_late() const {
  return _internal_has_ticks_bad_late();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_bad_late() {
  _impl_.ticks_bad_late_ = 0u;
  _impl_._has_bits_[0] &= ~0x00200000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_bad_late() const {
  return _impl_.ticks_bad_late_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_bad_late() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_bad_late)
  return _internal_ticks_bad_late();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_bad_late(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00200000u;
  _impl_.ticks_bad_late_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_bad_late(uint32_t value) {
  _internal_set_ticks_bad_late(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_bad_late)
}

// optional uint32 ticks_bad_other = 47;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_ticks_bad_other() const {
  bool value = (_impl_._has_bits_[0] & 0x00400000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_ticks_bad_other() const {
  return _internal_has_ticks_bad_other();
}
inline void CMsgSource2NetworkFlowQuality::clear_ticks_bad_other() {
  _impl_.ticks_bad_other_ = 0u;
  _impl_._has_bits_[0] &= ~0x00400000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_ticks_bad_other() const {
  return _impl_.ticks_bad_other_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::ticks_bad_other() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.ticks_bad_other)
  return _internal_ticks_bad_other();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_ticks_bad_other(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00400000u;
  _impl_.ticks_bad_other_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_ticks_bad_other(uint32_t value) {
  _internal_set_ticks_bad_other(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.ticks_bad_other)
}

// optional uint32 tick_missrate_samples_total = 50;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missrate_samples_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00800000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missrate_samples_total() const {
  return _internal_has_tick_missrate_samples_total();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missrate_samples_total() {
  _impl_.tick_missrate_samples_total_ = 0u;
  _impl_._has_bits_[0] &= ~0x00800000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missrate_samples_total() const {
  return _impl_.tick_missrate_samples_total_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missrate_samples_total() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missrate_samples_total)
  return _internal_tick_missrate_samples_total();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missrate_samples_total(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00800000u;
  _impl_.tick_missrate_samples_total_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missrate_samples_total(uint32_t value) {
  _internal_set_tick_missrate_samples_total(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missrate_samples_total)
}

// optional uint32 tick_missrate_samples_perfect = 51;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missrate_samples_perfect() const {
  bool value = (_impl_._has_bits_[0] & 0x01000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missrate_samples_perfect() const {
  return _internal_has_tick_missrate_samples_perfect();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missrate_samples_perfect() {
  _impl_.tick_missrate_samples_perfect_ = 0u;
  _impl_._has_bits_[0] &= ~0x01000000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missrate_samples_perfect() const {
  return _impl_.tick_missrate_samples_perfect_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missrate_samples_perfect() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missrate_samples_perfect)
  return _internal_tick_missrate_samples_perfect();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missrate_samples_perfect(uint32_t value) {
  _impl_._has_bits_[0] |= 0x01000000u;
  _impl_.tick_missrate_samples_perfect_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missrate_samples_perfect(uint32_t value) {
  _internal_set_tick_missrate_samples_perfect(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missrate_samples_perfect)
}

// optional uint32 tick_missrate_samples_perfectnet = 52;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missrate_samples_perfectnet() const {
  bool value = (_impl_._has_bits_[0] & 0x02000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missrate_samples_perfectnet() const {
  return _internal_has_tick_missrate_samples_perfectnet();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missrate_samples_perfectnet() {
  _impl_.tick_missrate_samples_perfectnet_ = 0u;
  _impl_._has_bits_[0] &= ~0x02000000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missrate_samples_perfectnet() const {
  return _impl_.tick_missrate_samples_perfectnet_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missrate_samples_perfectnet() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missrate_samples_perfectnet)
  return _internal_tick_missrate_samples_perfectnet();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missrate_samples_perfectnet(uint32_t value) {
  _impl_._has_bits_[0] |= 0x02000000u;
  _impl_.tick_missrate_samples_perfectnet_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missrate_samples_perfectnet(uint32_t value) {
  _internal_set_tick_missrate_samples_perfectnet(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missrate_samples_perfectnet)
}

// optional uint32 tick_missratenet_p75_x10 = 53;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missratenet_p75_x10() const {
  bool value = (_impl_._has_bits_[0] & 0x04000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missratenet_p75_x10() const {
  return _internal_has_tick_missratenet_p75_x10();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missratenet_p75_x10() {
  _impl_.tick_missratenet_p75_x10_ = 0u;
  _impl_._has_bits_[0] &= ~0x04000000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missratenet_p75_x10() const {
  return _impl_.tick_missratenet_p75_x10_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missratenet_p75_x10() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missratenet_p75_x10)
  return _internal_tick_missratenet_p75_x10();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missratenet_p75_x10(uint32_t value) {
  _impl_._has_bits_[0] |= 0x04000000u;
  _impl_.tick_missratenet_p75_x10_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missratenet_p75_x10(uint32_t value) {
  _internal_set_tick_missratenet_p75_x10(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missratenet_p75_x10)
}

// optional uint32 tick_missratenet_p95_x10 = 54;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missratenet_p95_x10() const {
  bool value = (_impl_._has_bits_[0] & 0x08000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missratenet_p95_x10() const {
  return _internal_has_tick_missratenet_p95_x10();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missratenet_p95_x10() {
  _impl_.tick_missratenet_p95_x10_ = 0u;
  _impl_._has_bits_[0] &= ~0x08000000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missratenet_p95_x10() const {
  return _impl_.tick_missratenet_p95_x10_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missratenet_p95_x10() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missratenet_p95_x10)
  return _internal_tick_missratenet_p95_x10();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missratenet_p95_x10(uint32_t value) {
  _impl_._has_bits_[0] |= 0x08000000u;
  _impl_.tick_missratenet_p95_x10_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missratenet_p95_x10(uint32_t value) {
  _internal_set_tick_missratenet_p95_x10(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missratenet_p95_x10)
}

// optional uint32 tick_missratenet_p99_x10 = 55;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_tick_missratenet_p99_x10() const {
  bool value = (_impl_._has_bits_[0] & 0x10000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_tick_missratenet_p99_x10() const {
  return _internal_has_tick_missratenet_p99_x10();
}
inline void CMsgSource2NetworkFlowQuality::clear_tick_missratenet_p99_x10() {
  _impl_.tick_missratenet_p99_x10_ = 0u;
  _impl_._has_bits_[0] &= ~0x10000000u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_tick_missratenet_p99_x10() const {
  return _impl_.tick_missratenet_p99_x10_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::tick_missratenet_p99_x10() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.tick_missratenet_p99_x10)
  return _internal_tick_missratenet_p99_x10();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_tick_missratenet_p99_x10(uint32_t value) {
  _impl_._has_bits_[0] |= 0x10000000u;
  _impl_.tick_missratenet_p99_x10_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_tick_missratenet_p99_x10(uint32_t value) {
  _internal_set_tick_missratenet_p99_x10(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.tick_missratenet_p99_x10)
}

// optional sint32 recvmargin_p1 = 61;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p1() const {
  bool value = (_impl_._has_bits_[0] & 0x20000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p1() const {
  return _internal_has_recvmargin_p1();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p1() {
  _impl_.recvmargin_p1_ = 0;
  _impl_._has_bits_[0] &= ~0x20000000u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p1() const {
  return _impl_.recvmargin_p1_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p1() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p1)
  return _internal_recvmargin_p1();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p1(int32_t value) {
  _impl_._has_bits_[0] |= 0x20000000u;
  _impl_.recvmargin_p1_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p1(int32_t value) {
  _internal_set_recvmargin_p1(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p1)
}

// optional sint32 recvmargin_p5 = 62;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p5() const {
  bool value = (_impl_._has_bits_[0] & 0x40000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p5() const {
  return _internal_has_recvmargin_p5();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p5() {
  _impl_.recvmargin_p5_ = 0;
  _impl_._has_bits_[0] &= ~0x40000000u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p5() const {
  return _impl_.recvmargin_p5_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p5() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p5)
  return _internal_recvmargin_p5();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p5(int32_t value) {
  _impl_._has_bits_[0] |= 0x40000000u;
  _impl_.recvmargin_p5_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p5(int32_t value) {
  _internal_set_recvmargin_p5(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p5)
}

// optional sint32 recvmargin_p25 = 63;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p25() const {
  bool value = (_impl_._has_bits_[0] & 0x80000000u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p25() const {
  return _internal_has_recvmargin_p25();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p25() {
  _impl_.recvmargin_p25_ = 0;
  _impl_._has_bits_[0] &= ~0x80000000u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p25() const {
  return _impl_.recvmargin_p25_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p25() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p25)
  return _internal_recvmargin_p25();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p25(int32_t value) {
  _impl_._has_bits_[0] |= 0x80000000u;
  _impl_.recvmargin_p25_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p25(int32_t value) {
  _internal_set_recvmargin_p25(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p25)
}

// optional sint32 recvmargin_p50 = 64;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p50() const {
  bool value = (_impl_._has_bits_[1] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p50() const {
  return _internal_has_recvmargin_p50();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p50() {
  _impl_.recvmargin_p50_ = 0;
  _impl_._has_bits_[1] &= ~0x00000001u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p50() const {
  return _impl_.recvmargin_p50_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p50() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p50)
  return _internal_recvmargin_p50();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p50(int32_t value) {
  _impl_._has_bits_[1] |= 0x00000001u;
  _impl_.recvmargin_p50_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p50(int32_t value) {
  _internal_set_recvmargin_p50(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p50)
}

// optional sint32 recvmargin_p75 = 65;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p75() const {
  bool value = (_impl_._has_bits_[1] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p75() const {
  return _internal_has_recvmargin_p75();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p75() {
  _impl_.recvmargin_p75_ = 0;
  _impl_._has_bits_[1] &= ~0x00000002u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p75() const {
  return _impl_.recvmargin_p75_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p75() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p75)
  return _internal_recvmargin_p75();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p75(int32_t value) {
  _impl_._has_bits_[1] |= 0x00000002u;
  _impl_.recvmargin_p75_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p75(int32_t value) {
  _internal_set_recvmargin_p75(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p75)
}

// optional sint32 recvmargin_p95 = 66;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_recvmargin_p95() const {
  bool value = (_impl_._has_bits_[1] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_recvmargin_p95() const {
  return _internal_has_recvmargin_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_recvmargin_p95() {
  _impl_.recvmargin_p95_ = 0;
  _impl_._has_bits_[1] &= ~0x00000004u;
}
inline int32_t CMsgSource2NetworkFlowQuality::_internal_recvmargin_p95() const {
  return _impl_.recvmargin_p95_;
}
inline int32_t CMsgSource2NetworkFlowQuality::recvmargin_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.recvmargin_p95)
  return _internal_recvmargin_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_recvmargin_p95(int32_t value) {
  _impl_._has_bits_[1] |= 0x00000004u;
  _impl_.recvmargin_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_recvmargin_p95(int32_t value) {
  _internal_set_recvmargin_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.recvmargin_p95)
}

// optional uint32 netframe_jitter_p50 = 70;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframe_jitter_p50() const {
  bool value = (_impl_._has_bits_[1] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframe_jitter_p50() const {
  return _internal_has_netframe_jitter_p50();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframe_jitter_p50() {
  _impl_.netframe_jitter_p50_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000008u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframe_jitter_p50() const {
  return _impl_.netframe_jitter_p50_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframe_jitter_p50() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframe_jitter_p50)
  return _internal_netframe_jitter_p50();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframe_jitter_p50(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000008u;
  _impl_.netframe_jitter_p50_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframe_jitter_p50(uint32_t value) {
  _internal_set_netframe_jitter_p50(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframe_jitter_p50)
}

// optional uint32 netframe_jitter_p99 = 71;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_netframe_jitter_p99() const {
  bool value = (_impl_._has_bits_[1] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_netframe_jitter_p99() const {
  return _internal_has_netframe_jitter_p99();
}
inline void CMsgSource2NetworkFlowQuality::clear_netframe_jitter_p99() {
  _impl_.netframe_jitter_p99_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000010u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_netframe_jitter_p99() const {
  return _impl_.netframe_jitter_p99_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::netframe_jitter_p99() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.netframe_jitter_p99)
  return _internal_netframe_jitter_p99();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_netframe_jitter_p99(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000010u;
  _impl_.netframe_jitter_p99_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_netframe_jitter_p99(uint32_t value) {
  _internal_set_netframe_jitter_p99(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.netframe_jitter_p99)
}

// optional uint32 interval_peakjitter_p50 = 72;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_interval_peakjitter_p50() const {
  bool value = (_impl_._has_bits_[1] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_interval_peakjitter_p50() const {
  return _internal_has_interval_peakjitter_p50();
}
inline void CMsgSource2NetworkFlowQuality::clear_interval_peakjitter_p50() {
  _impl_.interval_peakjitter_p50_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000020u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_interval_peakjitter_p50() const {
  return _impl_.interval_peakjitter_p50_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::interval_peakjitter_p50() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.interval_peakjitter_p50)
  return _internal_interval_peakjitter_p50();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_interval_peakjitter_p50(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000020u;
  _impl_.interval_peakjitter_p50_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_interval_peakjitter_p50(uint32_t value) {
  _internal_set_interval_peakjitter_p50(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.interval_peakjitter_p50)
}

// optional uint32 interval_peakjitter_p95 = 73;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_interval_peakjitter_p95() const {
  bool value = (_impl_._has_bits_[1] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_interval_peakjitter_p95() const {
  return _internal_has_interval_peakjitter_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_interval_peakjitter_p95() {
  _impl_.interval_peakjitter_p95_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000040u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_interval_peakjitter_p95() const {
  return _impl_.interval_peakjitter_p95_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::interval_peakjitter_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.interval_peakjitter_p95)
  return _internal_interval_peakjitter_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_interval_peakjitter_p95(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000040u;
  _impl_.interval_peakjitter_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_interval_peakjitter_p95(uint32_t value) {
  _internal_set_interval_peakjitter_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.interval_peakjitter_p95)
}

// optional uint32 packet_misdelivery_rate_p50_x4 = 74;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_packet_misdelivery_rate_p50_x4() const {
  bool value = (_impl_._has_bits_[1] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_packet_misdelivery_rate_p50_x4() const {
  return _internal_has_packet_misdelivery_rate_p50_x4();
}
inline void CMsgSource2NetworkFlowQuality::clear_packet_misdelivery_rate_p50_x4() {
  _impl_.packet_misdelivery_rate_p50_x4_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000080u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_packet_misdelivery_rate_p50_x4() const {
  return _impl_.packet_misdelivery_rate_p50_x4_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::packet_misdelivery_rate_p50_x4() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.packet_misdelivery_rate_p50_x4)
  return _internal_packet_misdelivery_rate_p50_x4();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_packet_misdelivery_rate_p50_x4(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000080u;
  _impl_.packet_misdelivery_rate_p50_x4_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_packet_misdelivery_rate_p50_x4(uint32_t value) {
  _internal_set_packet_misdelivery_rate_p50_x4(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.packet_misdelivery_rate_p50_x4)
}

// optional uint32 packet_misdelivery_rate_p95_x4 = 75;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_packet_misdelivery_rate_p95_x4() const {
  bool value = (_impl_._has_bits_[1] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_packet_misdelivery_rate_p95_x4() const {
  return _internal_has_packet_misdelivery_rate_p95_x4();
}
inline void CMsgSource2NetworkFlowQuality::clear_packet_misdelivery_rate_p95_x4() {
  _impl_.packet_misdelivery_rate_p95_x4_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000100u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_packet_misdelivery_rate_p95_x4() const {
  return _impl_.packet_misdelivery_rate_p95_x4_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::packet_misdelivery_rate_p95_x4() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.packet_misdelivery_rate_p95_x4)
  return _internal_packet_misdelivery_rate_p95_x4();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_packet_misdelivery_rate_p95_x4(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000100u;
  _impl_.packet_misdelivery_rate_p95_x4_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_packet_misdelivery_rate_p95_x4(uint32_t value) {
  _internal_set_packet_misdelivery_rate_p95_x4(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.packet_misdelivery_rate_p95_x4)
}

// optional uint32 net_ping_p5 = 80;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_net_ping_p5() const {
  bool value = (_impl_._has_bits_[1] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_net_ping_p5() const {
  return _internal_has_net_ping_p5();
}
inline void CMsgSource2NetworkFlowQuality::clear_net_ping_p5() {
  _impl_.net_ping_p5_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000200u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_net_ping_p5() const {
  return _impl_.net_ping_p5_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::net_ping_p5() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.net_ping_p5)
  return _internal_net_ping_p5();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_net_ping_p5(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000200u;
  _impl_.net_ping_p5_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_net_ping_p5(uint32_t value) {
  _internal_set_net_ping_p5(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.net_ping_p5)
}

// optional uint32 net_ping_p50 = 81;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_net_ping_p50() const {
  bool value = (_impl_._has_bits_[1] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_net_ping_p50() const {
  return _internal_has_net_ping_p50();
}
inline void CMsgSource2NetworkFlowQuality::clear_net_ping_p50() {
  _impl_.net_ping_p50_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000400u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_net_ping_p50() const {
  return _impl_.net_ping_p50_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::net_ping_p50() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.net_ping_p50)
  return _internal_net_ping_p50();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_net_ping_p50(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000400u;
  _impl_.net_ping_p50_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_net_ping_p50(uint32_t value) {
  _internal_set_net_ping_p50(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.net_ping_p50)
}

// optional uint32 net_ping_p95 = 82;
inline bool CMsgSource2NetworkFlowQuality::_internal_has_net_ping_p95() const {
  bool value = (_impl_._has_bits_[1] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgSource2NetworkFlowQuality::has_net_ping_p95() const {
  return _internal_has_net_ping_p95();
}
inline void CMsgSource2NetworkFlowQuality::clear_net_ping_p95() {
  _impl_.net_ping_p95_ = 0u;
  _impl_._has_bits_[1] &= ~0x00000800u;
}
inline uint32_t CMsgSource2NetworkFlowQuality::_internal_net_ping_p95() const {
  return _impl_.net_ping_p95_;
}
inline uint32_t CMsgSource2NetworkFlowQuality::net_ping_p95() const {
  // @@protoc_insertion_point(field_get:CMsgSource2NetworkFlowQuality.net_ping_p95)
  return _internal_net_ping_p95();
}
inline void CMsgSource2NetworkFlowQuality::_internal_set_net_ping_p95(uint32_t value) {
  _impl_._has_bits_[1] |= 0x00000800u;
  _impl_.net_ping_p95_ = value;
}
inline void CMsgSource2NetworkFlowQuality::set_net_ping_p95(uint32_t value) {
  _internal_set_net_ping_p95(value);
  // @@protoc_insertion_point(field_set:CMsgSource2NetworkFlowQuality.net_ping_p95)
}

// -------------------------------------------------------------------

// CMsgSource2PerfIntervalSample_Tag

// optional string tag = 1;
inline bool CMsgSource2PerfIntervalSample_Tag::_internal_has_tag() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample_Tag::has_tag() const {
  return _internal_has_tag();
}
inline void CMsgSource2PerfIntervalSample_Tag::clear_tag() {
  _impl_.tag_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSource2PerfIntervalSample_Tag::tag() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.Tag.tag)
  return _internal_tag();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSource2PerfIntervalSample_Tag::set_tag(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.tag_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.Tag.tag)
}
inline std::string* CMsgSource2PerfIntervalSample_Tag::mutable_tag() {
  std::string* _s = _internal_mutable_tag();
  // @@protoc_insertion_point(field_mutable:CMsgSource2PerfIntervalSample.Tag.tag)
  return _s;
}
inline const std::string& CMsgSource2PerfIntervalSample_Tag::_internal_tag() const {
  return _impl_.tag_.Get();
}
inline void CMsgSource2PerfIntervalSample_Tag::_internal_set_tag(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.tag_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSource2PerfIntervalSample_Tag::_internal_mutable_tag() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.tag_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSource2PerfIntervalSample_Tag::release_tag() {
  // @@protoc_insertion_point(field_release:CMsgSource2PerfIntervalSample.Tag.tag)
  if (!_internal_has_tag()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.tag_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_.IsDefault()) {
    _impl_.tag_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSource2PerfIntervalSample_Tag::set_allocated_tag(std::string* tag) {
  if (tag != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.tag_.SetAllocated(tag, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.tag_.IsDefault()) {
    _impl_.tag_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSource2PerfIntervalSample.Tag.tag)
}

// optional uint32 max_value = 2;
inline bool CMsgSource2PerfIntervalSample_Tag::_internal_has_max_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample_Tag::has_max_value() const {
  return _internal_has_max_value();
}
inline void CMsgSource2PerfIntervalSample_Tag::clear_max_value() {
  _impl_.max_value_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSource2PerfIntervalSample_Tag::_internal_max_value() const {
  return _impl_.max_value_;
}
inline uint32_t CMsgSource2PerfIntervalSample_Tag::max_value() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.Tag.max_value)
  return _internal_max_value();
}
inline void CMsgSource2PerfIntervalSample_Tag::_internal_set_max_value(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.max_value_ = value;
}
inline void CMsgSource2PerfIntervalSample_Tag::set_max_value(uint32_t value) {
  _internal_set_max_value(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.Tag.max_value)
}

// -------------------------------------------------------------------

// CMsgSource2PerfIntervalSample

// optional float frame_time_max_ms = 1;
inline bool CMsgSource2PerfIntervalSample::_internal_has_frame_time_max_ms() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample::has_frame_time_max_ms() const {
  return _internal_has_frame_time_max_ms();
}
inline void CMsgSource2PerfIntervalSample::clear_frame_time_max_ms() {
  _impl_.frame_time_max_ms_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline float CMsgSource2PerfIntervalSample::_internal_frame_time_max_ms() const {
  return _impl_.frame_time_max_ms_;
}
inline float CMsgSource2PerfIntervalSample::frame_time_max_ms() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.frame_time_max_ms)
  return _internal_frame_time_max_ms();
}
inline void CMsgSource2PerfIntervalSample::_internal_set_frame_time_max_ms(float value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.frame_time_max_ms_ = value;
}
inline void CMsgSource2PerfIntervalSample::set_frame_time_max_ms(float value) {
  _internal_set_frame_time_max_ms(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.frame_time_max_ms)
}

// optional float frame_time_avg_ms = 2;
inline bool CMsgSource2PerfIntervalSample::_internal_has_frame_time_avg_ms() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample::has_frame_time_avg_ms() const {
  return _internal_has_frame_time_avg_ms();
}
inline void CMsgSource2PerfIntervalSample::clear_frame_time_avg_ms() {
  _impl_.frame_time_avg_ms_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline float CMsgSource2PerfIntervalSample::_internal_frame_time_avg_ms() const {
  return _impl_.frame_time_avg_ms_;
}
inline float CMsgSource2PerfIntervalSample::frame_time_avg_ms() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.frame_time_avg_ms)
  return _internal_frame_time_avg_ms();
}
inline void CMsgSource2PerfIntervalSample::_internal_set_frame_time_avg_ms(float value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.frame_time_avg_ms_ = value;
}
inline void CMsgSource2PerfIntervalSample::set_frame_time_avg_ms(float value) {
  _internal_set_frame_time_avg_ms(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.frame_time_avg_ms)
}

// optional float frame_time_min_ms = 3;
inline bool CMsgSource2PerfIntervalSample::_internal_has_frame_time_min_ms() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample::has_frame_time_min_ms() const {
  return _internal_has_frame_time_min_ms();
}
inline void CMsgSource2PerfIntervalSample::clear_frame_time_min_ms() {
  _impl_.frame_time_min_ms_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CMsgSource2PerfIntervalSample::_internal_frame_time_min_ms() const {
  return _impl_.frame_time_min_ms_;
}
inline float CMsgSource2PerfIntervalSample::frame_time_min_ms() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.frame_time_min_ms)
  return _internal_frame_time_min_ms();
}
inline void CMsgSource2PerfIntervalSample::_internal_set_frame_time_min_ms(float value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.frame_time_min_ms_ = value;
}
inline void CMsgSource2PerfIntervalSample::set_frame_time_min_ms(float value) {
  _internal_set_frame_time_min_ms(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.frame_time_min_ms)
}

// optional int32 frame_count = 4;
inline bool CMsgSource2PerfIntervalSample::_internal_has_frame_count() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample::has_frame_count() const {
  return _internal_has_frame_count();
}
inline void CMsgSource2PerfIntervalSample::clear_frame_count() {
  _impl_.frame_count_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t CMsgSource2PerfIntervalSample::_internal_frame_count() const {
  return _impl_.frame_count_;
}
inline int32_t CMsgSource2PerfIntervalSample::frame_count() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.frame_count)
  return _internal_frame_count();
}
inline void CMsgSource2PerfIntervalSample::_internal_set_frame_count(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.frame_count_ = value;
}
inline void CMsgSource2PerfIntervalSample::set_frame_count(int32_t value) {
  _internal_set_frame_count(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.frame_count)
}

// optional float frame_time_total_ms = 5;
inline bool CMsgSource2PerfIntervalSample::_internal_has_frame_time_total_ms() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgSource2PerfIntervalSample::has_frame_time_total_ms() const {
  return _internal_has_frame_time_total_ms();
}
inline void CMsgSource2PerfIntervalSample::clear_frame_time_total_ms() {
  _impl_.frame_time_total_ms_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline float CMsgSource2PerfIntervalSample::_internal_frame_time_total_ms() const {
  return _impl_.frame_time_total_ms_;
}
inline float CMsgSource2PerfIntervalSample::frame_time_total_ms() const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.frame_time_total_ms)
  return _internal_frame_time_total_ms();
}
inline void CMsgSource2PerfIntervalSample::_internal_set_frame_time_total_ms(float value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.frame_time_total_ms_ = value;
}
inline void CMsgSource2PerfIntervalSample::set_frame_time_total_ms(float value) {
  _internal_set_frame_time_total_ms(value);
  // @@protoc_insertion_point(field_set:CMsgSource2PerfIntervalSample.frame_time_total_ms)
}

// repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
inline int CMsgSource2PerfIntervalSample::_internal_tags_size() const {
  return _impl_.tags_.size();
}
inline int CMsgSource2PerfIntervalSample::tags_size() const {
  return _internal_tags_size();
}
inline void CMsgSource2PerfIntervalSample::clear_tags() {
  _impl_.tags_.Clear();
}
inline ::CMsgSource2PerfIntervalSample_Tag* CMsgSource2PerfIntervalSample::mutable_tags(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSource2PerfIntervalSample.tags)
  return _impl_.tags_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample_Tag >*
CMsgSource2PerfIntervalSample::mutable_tags() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSource2PerfIntervalSample.tags)
  return &_impl_.tags_;
}
inline const ::CMsgSource2PerfIntervalSample_Tag& CMsgSource2PerfIntervalSample::_internal_tags(int index) const {
  return _impl_.tags_.Get(index);
}
inline const ::CMsgSource2PerfIntervalSample_Tag& CMsgSource2PerfIntervalSample::tags(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSource2PerfIntervalSample.tags)
  return _internal_tags(index);
}
inline ::CMsgSource2PerfIntervalSample_Tag* CMsgSource2PerfIntervalSample::_internal_add_tags() {
  return _impl_.tags_.Add();
}
inline ::CMsgSource2PerfIntervalSample_Tag* CMsgSource2PerfIntervalSample::add_tags() {
  ::CMsgSource2PerfIntervalSample_Tag* _add = _internal_add_tags();
  // @@protoc_insertion_point(field_add:CMsgSource2PerfIntervalSample.tags)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample_Tag >&
CMsgSource2PerfIntervalSample::tags() const {
  // @@protoc_insertion_point(field_list:CMsgSource2PerfIntervalSample.tags)
  return _impl_.tags_;
}

// -------------------------------------------------------------------

// CSource2Metrics_MatchPerfSummary_Notification_Client

// optional .CMsgSource2SystemSpecs system_specs = 1;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_system_specs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.system_specs_ != nullptr);
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_system_specs() const {
  return _internal_has_system_specs();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_system_specs() {
  if (_impl_.system_specs_ != nullptr) _impl_.system_specs_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSource2SystemSpecs& CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_system_specs() const {
  const ::CMsgSource2SystemSpecs* p = _impl_.system_specs_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2SystemSpecs&>(
      ::_CMsgSource2SystemSpecs_default_instance_);
}
inline const ::CMsgSource2SystemSpecs& CSource2Metrics_MatchPerfSummary_Notification_Client::system_specs() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs)
  return _internal_system_specs();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_set_allocated_system_specs(
    ::CMsgSource2SystemSpecs* system_specs) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.system_specs_);
  }
  _impl_.system_specs_ = system_specs;
  if (system_specs) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs)
}
inline ::CMsgSource2SystemSpecs* CSource2Metrics_MatchPerfSummary_Notification_Client::release_system_specs() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSource2SystemSpecs* temp = _impl_.system_specs_;
  _impl_.system_specs_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2SystemSpecs* CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_release_system_specs() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSource2SystemSpecs* temp = _impl_.system_specs_;
  _impl_.system_specs_ = nullptr;
  return temp;
}
inline ::CMsgSource2SystemSpecs* CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_mutable_system_specs() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.system_specs_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2SystemSpecs>(GetArenaForAllocation());
    _impl_.system_specs_ = p;
  }
  return _impl_.system_specs_;
}
inline ::CMsgSource2SystemSpecs* CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_system_specs() {
  ::CMsgSource2SystemSpecs* _msg = _internal_mutable_system_specs();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs)
  return _msg;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_allocated_system_specs(::CMsgSource2SystemSpecs* system_specs) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.system_specs_;
  }
  if (system_specs) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(system_specs);
    if (message_arena != submessage_arena) {
      system_specs = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, system_specs, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.system_specs_ = system_specs;
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.system_specs)
}

// optional .CMsgSource2VProfLiteReport profile = 2;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_profile() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.profile_ != nullptr);
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_profile() const {
  return _internal_has_profile();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_profile() {
  if (_impl_.profile_ != nullptr) _impl_.profile_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::CMsgSource2VProfLiteReport& CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_profile() const {
  const ::CMsgSource2VProfLiteReport* p = _impl_.profile_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2VProfLiteReport&>(
      ::_CMsgSource2VProfLiteReport_default_instance_);
}
inline const ::CMsgSource2VProfLiteReport& CSource2Metrics_MatchPerfSummary_Notification_Client::profile() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.profile)
  return _internal_profile();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_set_allocated_profile(
    ::CMsgSource2VProfLiteReport* profile) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.profile_);
  }
  _impl_.profile_ = profile;
  if (profile) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.profile)
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification_Client::release_profile() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::CMsgSource2VProfLiteReport* temp = _impl_.profile_;
  _impl_.profile_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_release_profile() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.Client.profile)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::CMsgSource2VProfLiteReport* temp = _impl_.profile_;
  _impl_.profile_ = nullptr;
  return temp;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_mutable_profile() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.profile_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2VProfLiteReport>(GetArenaForAllocation());
    _impl_.profile_ = p;
  }
  return _impl_.profile_;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_profile() {
  ::CMsgSource2VProfLiteReport* _msg = _internal_mutable_profile();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.Client.profile)
  return _msg;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_allocated_profile(::CMsgSource2VProfLiteReport* profile) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.profile_;
  }
  if (profile) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(profile);
    if (message_arena != submessage_arena) {
      profile = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, profile, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.profile_ = profile;
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.profile)
}

// optional uint32 build_id = 3;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_build_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_build_id() const {
  return _internal_has_build_id();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_build_id() {
  _impl_.build_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_build_id() const {
  return _impl_.build_id_;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification_Client::build_id() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.build_id)
  return _internal_build_id();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_set_build_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.build_id_ = value;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_build_id(uint32_t value) {
  _internal_set_build_id(value);
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.Client.build_id)
}

// optional .CMsgSource2NetworkFlowQuality downstream_flow = 4;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_downstream_flow() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.downstream_flow_ != nullptr);
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_downstream_flow() const {
  return _internal_has_downstream_flow();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_downstream_flow() {
  if (_impl_.downstream_flow_ != nullptr) _impl_.downstream_flow_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::CMsgSource2NetworkFlowQuality& CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_downstream_flow() const {
  const ::CMsgSource2NetworkFlowQuality* p = _impl_.downstream_flow_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2NetworkFlowQuality&>(
      ::_CMsgSource2NetworkFlowQuality_default_instance_);
}
inline const ::CMsgSource2NetworkFlowQuality& CSource2Metrics_MatchPerfSummary_Notification_Client::downstream_flow() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.downstream_flow)
  return _internal_downstream_flow();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_set_allocated_downstream_flow(
    ::CMsgSource2NetworkFlowQuality* downstream_flow) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.downstream_flow_);
  }
  _impl_.downstream_flow_ = downstream_flow;
  if (downstream_flow) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.downstream_flow)
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::release_downstream_flow() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSource2NetworkFlowQuality* temp = _impl_.downstream_flow_;
  _impl_.downstream_flow_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_release_downstream_flow() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.Client.downstream_flow)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSource2NetworkFlowQuality* temp = _impl_.downstream_flow_;
  _impl_.downstream_flow_ = nullptr;
  return temp;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_mutable_downstream_flow() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.downstream_flow_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2NetworkFlowQuality>(GetArenaForAllocation());
    _impl_.downstream_flow_ = p;
  }
  return _impl_.downstream_flow_;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_downstream_flow() {
  ::CMsgSource2NetworkFlowQuality* _msg = _internal_mutable_downstream_flow();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.Client.downstream_flow)
  return _msg;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_allocated_downstream_flow(::CMsgSource2NetworkFlowQuality* downstream_flow) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.downstream_flow_;
  }
  if (downstream_flow) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(downstream_flow);
    if (message_arena != submessage_arena) {
      downstream_flow = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, downstream_flow, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.downstream_flow_ = downstream_flow;
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.downstream_flow)
}

// optional .CMsgSource2NetworkFlowQuality upstream_flow = 5;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_upstream_flow() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.upstream_flow_ != nullptr);
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_upstream_flow() const {
  return _internal_has_upstream_flow();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_upstream_flow() {
  if (_impl_.upstream_flow_ != nullptr) _impl_.upstream_flow_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::CMsgSource2NetworkFlowQuality& CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_upstream_flow() const {
  const ::CMsgSource2NetworkFlowQuality* p = _impl_.upstream_flow_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2NetworkFlowQuality&>(
      ::_CMsgSource2NetworkFlowQuality_default_instance_);
}
inline const ::CMsgSource2NetworkFlowQuality& CSource2Metrics_MatchPerfSummary_Notification_Client::upstream_flow() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.upstream_flow)
  return _internal_upstream_flow();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_set_allocated_upstream_flow(
    ::CMsgSource2NetworkFlowQuality* upstream_flow) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.upstream_flow_);
  }
  _impl_.upstream_flow_ = upstream_flow;
  if (upstream_flow) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.upstream_flow)
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::release_upstream_flow() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::CMsgSource2NetworkFlowQuality* temp = _impl_.upstream_flow_;
  _impl_.upstream_flow_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::unsafe_arena_release_upstream_flow() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.Client.upstream_flow)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::CMsgSource2NetworkFlowQuality* temp = _impl_.upstream_flow_;
  _impl_.upstream_flow_ = nullptr;
  return temp;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_mutable_upstream_flow() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.upstream_flow_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2NetworkFlowQuality>(GetArenaForAllocation());
    _impl_.upstream_flow_ = p;
  }
  return _impl_.upstream_flow_;
}
inline ::CMsgSource2NetworkFlowQuality* CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_upstream_flow() {
  ::CMsgSource2NetworkFlowQuality* _msg = _internal_mutable_upstream_flow();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.Client.upstream_flow)
  return _msg;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_allocated_upstream_flow(::CMsgSource2NetworkFlowQuality* upstream_flow) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.upstream_flow_;
  }
  if (upstream_flow) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(upstream_flow);
    if (message_arena != submessage_arena) {
      upstream_flow = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, upstream_flow, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.upstream_flow_ = upstream_flow;
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.Client.upstream_flow)
}

// optional fixed64 steamid = 10;
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_has_steamid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification_Client::has_steamid() const {
  return _internal_has_steamid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_steamid() {
  _impl_.steamid_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint64_t CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_steamid() const {
  return _impl_.steamid_;
}
inline uint64_t CSource2Metrics_MatchPerfSummary_Notification_Client::steamid() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.steamid)
  return _internal_steamid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_set_steamid(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.steamid_ = value;
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::set_steamid(uint64_t value) {
  _internal_set_steamid(value);
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.Client.steamid)
}

// repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
inline int CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_perf_samples_size() const {
  return _impl_.perf_samples_.size();
}
inline int CSource2Metrics_MatchPerfSummary_Notification_Client::perf_samples_size() const {
  return _internal_perf_samples_size();
}
inline void CSource2Metrics_MatchPerfSummary_Notification_Client::clear_perf_samples() {
  _impl_.perf_samples_.Clear();
}
inline ::CMsgSource2PerfIntervalSample* CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_perf_samples(int index) {
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.Client.perf_samples)
  return _impl_.perf_samples_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample >*
CSource2Metrics_MatchPerfSummary_Notification_Client::mutable_perf_samples() {
  // @@protoc_insertion_point(field_mutable_list:CSource2Metrics_MatchPerfSummary_Notification.Client.perf_samples)
  return &_impl_.perf_samples_;
}
inline const ::CMsgSource2PerfIntervalSample& CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_perf_samples(int index) const {
  return _impl_.perf_samples_.Get(index);
}
inline const ::CMsgSource2PerfIntervalSample& CSource2Metrics_MatchPerfSummary_Notification_Client::perf_samples(int index) const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.Client.perf_samples)
  return _internal_perf_samples(index);
}
inline ::CMsgSource2PerfIntervalSample* CSource2Metrics_MatchPerfSummary_Notification_Client::_internal_add_perf_samples() {
  return _impl_.perf_samples_.Add();
}
inline ::CMsgSource2PerfIntervalSample* CSource2Metrics_MatchPerfSummary_Notification_Client::add_perf_samples() {
  ::CMsgSource2PerfIntervalSample* _add = _internal_add_perf_samples();
  // @@protoc_insertion_point(field_add:CSource2Metrics_MatchPerfSummary_Notification.Client.perf_samples)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSource2PerfIntervalSample >&
CSource2Metrics_MatchPerfSummary_Notification_Client::perf_samples() const {
  // @@protoc_insertion_point(field_list:CSource2Metrics_MatchPerfSummary_Notification.Client.perf_samples)
  return _impl_.perf_samples_;
}

// -------------------------------------------------------------------

// CSource2Metrics_MatchPerfSummary_Notification

// optional uint32 appid = 1;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_appid() const {
  return _internal_has_appid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::appid() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.appid)
  return _internal_appid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.appid_ = value;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.appid)
}

// optional string game_mode = 2;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_game_mode() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_game_mode() const {
  return _internal_has_game_mode();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_game_mode() {
  _impl_.game_mode_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CSource2Metrics_MatchPerfSummary_Notification::game_mode() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.game_mode)
  return _internal_game_mode();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CSource2Metrics_MatchPerfSummary_Notification::set_game_mode(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.game_mode_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.game_mode)
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::mutable_game_mode() {
  std::string* _s = _internal_mutable_game_mode();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.game_mode)
  return _s;
}
inline const std::string& CSource2Metrics_MatchPerfSummary_Notification::_internal_game_mode() const {
  return _impl_.game_mode_.Get();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::_internal_set_game_mode(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.game_mode_.Set(value, GetArenaForAllocation());
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::_internal_mutable_game_mode() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.game_mode_.Mutable(GetArenaForAllocation());
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::release_game_mode() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.game_mode)
  if (!_internal_has_game_mode()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.game_mode_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_mode_.IsDefault()) {
    _impl_.game_mode_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_allocated_game_mode(std::string* game_mode) {
  if (game_mode != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.game_mode_.SetAllocated(game_mode, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_mode_.IsDefault()) {
    _impl_.game_mode_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.game_mode)
}

// optional uint32 server_build_id = 3;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_server_build_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_server_build_id() const {
  return _internal_has_server_build_id();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_server_build_id() {
  _impl_.server_build_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::_internal_server_build_id() const {
  return _impl_.server_build_id_;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::server_build_id() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.server_build_id)
  return _internal_server_build_id();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::_internal_set_server_build_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.server_build_id_ = value;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_server_build_id(uint32_t value) {
  _internal_set_server_build_id(value);
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.server_build_id)
}

// optional fixed32 server_popid = 4;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_server_popid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_server_popid() const {
  return _internal_has_server_popid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_server_popid() {
  _impl_.server_popid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::_internal_server_popid() const {
  return _impl_.server_popid_;
}
inline uint32_t CSource2Metrics_MatchPerfSummary_Notification::server_popid() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.server_popid)
  return _internal_server_popid();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::_internal_set_server_popid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.server_popid_ = value;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_server_popid(uint32_t value) {
  _internal_set_server_popid(value);
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.server_popid)
}

// optional .CMsgSource2VProfLiteReport server_profile = 10;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_server_profile() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.server_profile_ != nullptr);
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_server_profile() const {
  return _internal_has_server_profile();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_server_profile() {
  if (_impl_.server_profile_ != nullptr) _impl_.server_profile_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::CMsgSource2VProfLiteReport& CSource2Metrics_MatchPerfSummary_Notification::_internal_server_profile() const {
  const ::CMsgSource2VProfLiteReport* p = _impl_.server_profile_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSource2VProfLiteReport&>(
      ::_CMsgSource2VProfLiteReport_default_instance_);
}
inline const ::CMsgSource2VProfLiteReport& CSource2Metrics_MatchPerfSummary_Notification::server_profile() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.server_profile)
  return _internal_server_profile();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::unsafe_arena_set_allocated_server_profile(
    ::CMsgSource2VProfLiteReport* server_profile) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.server_profile_);
  }
  _impl_.server_profile_ = server_profile;
  if (server_profile) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.server_profile)
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification::release_server_profile() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSource2VProfLiteReport* temp = _impl_.server_profile_;
  _impl_.server_profile_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification::unsafe_arena_release_server_profile() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.server_profile)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::CMsgSource2VProfLiteReport* temp = _impl_.server_profile_;
  _impl_.server_profile_ = nullptr;
  return temp;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification::_internal_mutable_server_profile() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.server_profile_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSource2VProfLiteReport>(GetArenaForAllocation());
    _impl_.server_profile_ = p;
  }
  return _impl_.server_profile_;
}
inline ::CMsgSource2VProfLiteReport* CSource2Metrics_MatchPerfSummary_Notification::mutable_server_profile() {
  ::CMsgSource2VProfLiteReport* _msg = _internal_mutable_server_profile();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.server_profile)
  return _msg;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_allocated_server_profile(::CMsgSource2VProfLiteReport* server_profile) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.server_profile_;
  }
  if (server_profile) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(server_profile);
    if (message_arena != submessage_arena) {
      server_profile = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, server_profile, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.server_profile_ = server_profile;
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.server_profile)
}

// repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
inline int CSource2Metrics_MatchPerfSummary_Notification::_internal_clients_size() const {
  return _impl_.clients_.size();
}
inline int CSource2Metrics_MatchPerfSummary_Notification::clients_size() const {
  return _internal_clients_size();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_clients() {
  _impl_.clients_.Clear();
}
inline ::CSource2Metrics_MatchPerfSummary_Notification_Client* CSource2Metrics_MatchPerfSummary_Notification::mutable_clients(int index) {
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.clients)
  return _impl_.clients_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CSource2Metrics_MatchPerfSummary_Notification_Client >*
CSource2Metrics_MatchPerfSummary_Notification::mutable_clients() {
  // @@protoc_insertion_point(field_mutable_list:CSource2Metrics_MatchPerfSummary_Notification.clients)
  return &_impl_.clients_;
}
inline const ::CSource2Metrics_MatchPerfSummary_Notification_Client& CSource2Metrics_MatchPerfSummary_Notification::_internal_clients(int index) const {
  return _impl_.clients_.Get(index);
}
inline const ::CSource2Metrics_MatchPerfSummary_Notification_Client& CSource2Metrics_MatchPerfSummary_Notification::clients(int index) const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.clients)
  return _internal_clients(index);
}
inline ::CSource2Metrics_MatchPerfSummary_Notification_Client* CSource2Metrics_MatchPerfSummary_Notification::_internal_add_clients() {
  return _impl_.clients_.Add();
}
inline ::CSource2Metrics_MatchPerfSummary_Notification_Client* CSource2Metrics_MatchPerfSummary_Notification::add_clients() {
  ::CSource2Metrics_MatchPerfSummary_Notification_Client* _add = _internal_add_clients();
  // @@protoc_insertion_point(field_add:CSource2Metrics_MatchPerfSummary_Notification.clients)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CSource2Metrics_MatchPerfSummary_Notification_Client >&
CSource2Metrics_MatchPerfSummary_Notification::clients() const {
  // @@protoc_insertion_point(field_list:CSource2Metrics_MatchPerfSummary_Notification.clients)
  return _impl_.clients_;
}

// optional string map = 20;
inline bool CSource2Metrics_MatchPerfSummary_Notification::_internal_has_map() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CSource2Metrics_MatchPerfSummary_Notification::has_map() const {
  return _internal_has_map();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::clear_map() {
  _impl_.map_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CSource2Metrics_MatchPerfSummary_Notification::map() const {
  // @@protoc_insertion_point(field_get:CSource2Metrics_MatchPerfSummary_Notification.map)
  return _internal_map();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CSource2Metrics_MatchPerfSummary_Notification::set_map(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.map_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CSource2Metrics_MatchPerfSummary_Notification.map)
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::mutable_map() {
  std::string* _s = _internal_mutable_map();
  // @@protoc_insertion_point(field_mutable:CSource2Metrics_MatchPerfSummary_Notification.map)
  return _s;
}
inline const std::string& CSource2Metrics_MatchPerfSummary_Notification::_internal_map() const {
  return _impl_.map_.Get();
}
inline void CSource2Metrics_MatchPerfSummary_Notification::_internal_set_map(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.map_.Set(value, GetArenaForAllocation());
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::_internal_mutable_map() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.map_.Mutable(GetArenaForAllocation());
}
inline std::string* CSource2Metrics_MatchPerfSummary_Notification::release_map() {
  // @@protoc_insertion_point(field_release:CSource2Metrics_MatchPerfSummary_Notification.map)
  if (!_internal_has_map()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.map_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.map_.IsDefault()) {
    _impl_.map_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CSource2Metrics_MatchPerfSummary_Notification::set_allocated_map(std::string* map) {
  if (map != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.map_.SetAllocated(map, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.map_.IsDefault()) {
    _impl_.map_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CSource2Metrics_MatchPerfSummary_Notification.map)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)


// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_source2_5fsteam_5fstats_2eproto
