// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: third_party/metrics_proto/system_profile.proto
// Protobuf C++ Version: 7.35.1

#include "third_party/metrics_proto/system_profile.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace metrics {
class SystemProfileProto_TpmIdentifier::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_TpmIdentifier>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_._has_bits_);
};

constexpr SystemProfileProto_TpmIdentifier::ParseTableT_ SystemProfileProto_TpmIdentifier::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_TpmIdentifier>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // fixed32 manufacturer_id = 1;
      {::_pbi::TcParser::FastF32S1,
       {13, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_id_)}},
      // string manufacturer_version = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_)}},
      // fixed32 manufacturer_version_hash = 3;
      {::_pbi::TcParser::FastF32S1,
       {29, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_hash_)}},
      // string manufacturer_version_info = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_info_)}},
      // fixed32 manufacturer_version_info_hash = 5;
      {::_pbi::TcParser::FastF32S1,
       {45, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_info_hash_)}},
      // string tpm_specific_version = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.tpm_specific_version_)}},
      // fixed32 tpm_specific_version_hash = 7;
      {::_pbi::TcParser::FastF32S1,
       {61, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.tpm_specific_version_hash_)}},
    }}, {{
      65535, 65535
    }}, {{
      // fixed32 manufacturer_id = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // string manufacturer_version = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 manufacturer_version_hash = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_hash_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // string manufacturer_version_info = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_info_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 manufacturer_version_info_hash = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_version_info_hash_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // string tpm_specific_version = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.tpm_specific_version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 tpm_specific_version_hash = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.tpm_specific_version_hash_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_TpmIdentifier::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        manufacturer_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        manufacturer_version_info_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tpm_specific_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        manufacturer_id_{0u},
        manufacturer_version_hash_{0u},
        manufacturer_version_info_hash_{0u},
        tpm_specific_version_hash_{0u} {}

template <typename>
constexpr SystemProfileProto_TpmIdentifier::SystemProfileProto_TpmIdentifier(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_TpmIdentifier::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_TpmIdentifier(arena);
}
constexpr auto SystemProfileProto_TpmIdentifier::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_TpmIdentifier), alignof(SystemProfileProto_TpmIdentifier));
}
constexpr auto SystemProfileProto_TpmIdentifier::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_TpmIdentifier::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_TpmIdentifier>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_TpmIdentifier::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_TpmIdentifier>(), &SystemProfileProto_TpmIdentifier::ByteSizeLong,
              &SystemProfileProto_TpmIdentifier::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.TpmIdentifier",
  };
}
struct SystemProfileProto_TpmIdentifierGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_TpmIdentifierGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_TpmIdentifier_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_TpmIdentifier::InternalGenerateClassData_(
            _default, &SystemProfileProto_TpmIdentifier_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_TpmIdentifier>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_TpmIdentifierGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_TpmIdentifier _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_TpmIdentifier>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifierGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_TpmIdentifierGlobalsTypeInternal SystemProfileProto_TpmIdentifier_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_TpmIdentifier_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_TpmIdentifier_globals_.GetClassData();
#else
  return SystemProfileProto_TpmIdentifier_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Stability::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Stability>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_._has_bits_);
};

constexpr SystemProfileProto_Stability::ParseTableT_ SystemProfileProto_Stability::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_._has_bits_),
      0, // no _extensions_
      30, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      3456089661,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Stability>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // int32 page_load_count = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.page_load_count_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // int32 other_user_crash_count = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.other_user_crash_count_)}},
      // int32 kernel_crash_count = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.kernel_crash_count_)}},
      // int32 unclean_system_shutdown_count = 9;
      {::_pbi::TcParser::FastV32S1,
       {72, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.unclean_system_shutdown_count_)}},
      // int32 renderer_launch_count = 26;
      {::_pbi::TcParser::FastV32S2,
       {464, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.renderer_launch_count_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // bool from_previous_run = 29;
      {::_pbi::TcParser::FastV8S2,
       {488, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.from_previous_run_)}},
      // int32 crash_count_due_to_gms_core_update = 30;
      {::_pbi::TcParser::FastV32S2,
       {496, 7, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.crash_count_due_to_gms_core_update_)}},
      // int32 launch_count = 15;
      {::_pbi::TcParser::FastV32S1,
       {120, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.launch_count_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 page_load_count = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.page_load_count_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 other_user_crash_count = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.other_user_crash_count_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 kernel_crash_count = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.kernel_crash_count_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 unclean_system_shutdown_count = 9;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.unclean_system_shutdown_count_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 launch_count = 15;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.launch_count_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 renderer_launch_count = 26;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.renderer_launch_count_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool from_previous_run = 29;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.from_previous_run_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 crash_count_due_to_gms_core_update = 30;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.crash_count_due_to_gms_core_update_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Stability::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_load_count_{0},
        other_user_crash_count_{0},
        kernel_crash_count_{0},
        unclean_system_shutdown_count_{0},
        launch_count_{0},
        renderer_launch_count_{0},
        from_previous_run_{false},
        crash_count_due_to_gms_core_update_{0} {}

template <typename>
constexpr SystemProfileProto_Stability::SystemProfileProto_Stability(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Stability::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Stability(arena);
}
constexpr auto SystemProfileProto_Stability::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_Stability), alignof(SystemProfileProto_Stability));
}
constexpr auto SystemProfileProto_Stability::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Stability::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Stability>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Stability::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Stability>(), &SystemProfileProto_Stability::ByteSizeLong,
              &SystemProfileProto_Stability::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Stability",
  };
}
struct SystemProfileProto_StabilityGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_StabilityGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Stability_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Stability::InternalGenerateClassData_(
            _default, &SystemProfileProto_Stability_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Stability>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_StabilityGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Stability _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Stability>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_StabilityGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_StabilityGlobalsTypeInternal SystemProfileProto_Stability_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Stability_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Stability_globals_.GetClassData();
#else
  return SystemProfileProto_Stability_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_OS_Arc::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_OS_Arc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_Arc, _impl_._has_bits_);
};

constexpr SystemProfileProto_OS_Arc::ParseTableT_ SystemProfileProto_OS_Arc::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_Arc, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_OS_Arc>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string release = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_Arc, _impl_.release_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string release = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_Arc, _impl_.release_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_OS_Arc::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        release_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr SystemProfileProto_OS_Arc::SystemProfileProto_OS_Arc(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_OS_Arc::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_OS_Arc(arena);
}
constexpr auto SystemProfileProto_OS_Arc::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_OS_Arc), alignof(SystemProfileProto_OS_Arc));
}
constexpr auto SystemProfileProto_OS_Arc::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_OS_Arc::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_OS_Arc>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_OS_Arc::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_OS_Arc>(), &SystemProfileProto_OS_Arc::ByteSizeLong,
              &SystemProfileProto_OS_Arc::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_Arc, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.OS.Arc",
  };
}
struct SystemProfileProto_OS_ArcGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_OS_ArcGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_OS_Arc_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_OS_Arc::InternalGenerateClassData_(
            _default, &SystemProfileProto_OS_Arc_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_OS_Arc>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_OS_ArcGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_OS_Arc _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_OS_Arc>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS_ArcGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_OS_ArcGlobalsTypeInternal SystemProfileProto_OS_Arc_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_OS_Arc_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_OS_Arc_globals_.GetClassData();
#else
  return SystemProfileProto_OS_Arc_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Network::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Network>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_._has_bits_);
};

constexpr SystemProfileProto_Network::ParseTableT_ SystemProfileProto_Network::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_._has_bits_),
      0, // no _extensions_
      8, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967100,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Network>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .metrics.SystemProfileProto.Network.EffectiveConnectionType max_effective_connection_type = 8;
      {::_pbi::TcParser::FastEr0S1,
       {64, 3, 6,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.max_effective_connection_type_)}},
      // bool connection_type_is_ambiguous = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.connection_type_is_ambiguous_)}},
      // .metrics.SystemProfileProto.Network.ConnectionType connection_type = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 9,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.connection_type_)}},
      // .metrics.SystemProfileProto.Network.EffectiveConnectionType min_effective_connection_type = 7;
      {::_pbi::TcParser::FastEr0S1,
       {56, 2, 6,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.min_effective_connection_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool connection_type_is_ambiguous = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.connection_type_is_ambiguous_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .metrics.SystemProfileProto.Network.ConnectionType connection_type = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.connection_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.Network.EffectiveConnectionType min_effective_connection_type = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.min_effective_connection_type_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.Network.EffectiveConnectionType max_effective_connection_type = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.max_effective_connection_type_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 9},
        {0, 6},
        {0, 6},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Network::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        connection_type_is_ambiguous_{false},
        connection_type_{static_cast< ::metrics::SystemProfileProto_Network_ConnectionType >(0)},
        min_effective_connection_type_{static_cast< ::metrics::SystemProfileProto_Network_EffectiveConnectionType >(0)},
        max_effective_connection_type_{static_cast< ::metrics::SystemProfileProto_Network_EffectiveConnectionType >(0)} {}

template <typename>
constexpr SystemProfileProto_Network::SystemProfileProto_Network(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Network::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Network(arena);
}
constexpr auto SystemProfileProto_Network::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_Network), alignof(SystemProfileProto_Network));
}
constexpr auto SystemProfileProto_Network::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Network::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Network>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Network::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Network>(), &SystemProfileProto_Network::ByteSizeLong,
              &SystemProfileProto_Network::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Network",
  };
}
struct SystemProfileProto_NetworkGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_NetworkGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Network_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Network::InternalGenerateClassData_(
            _default, &SystemProfileProto_Network_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Network>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_NetworkGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Network _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Network>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_NetworkGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_NetworkGlobalsTypeInternal SystemProfileProto_Network_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Network_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Network_globals_.GetClassData();
#else
  return SystemProfileProto_Network_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_LinkedAndroidPhoneData::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_LinkedAndroidPhoneData>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_._has_bits_);
};

constexpr SystemProfileProto_LinkedAndroidPhoneData::ParseTableT_ SystemProfileProto_LinkedAndroidPhoneData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_LinkedAndroidPhoneData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool is_messages_enabled = 4 [deprecated = true];
      {::_pbi::TcParser::FastV8S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_messages_enabled_)}},
      // fixed32 phone_model_name_hash = 1;
      {::_pbi::TcParser::FastF32S1,
       {13, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.phone_model_name_hash_)}},
      // bool is_smartlock_enabled = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_smartlock_enabled_)}},
      // bool is_instant_tethering_enabled = 3;
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_instant_tethering_enabled_)}},
    }}, {{
      65535, 65535
    }}, {{
      // fixed32 phone_model_name_hash = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.phone_model_name_hash_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // bool is_smartlock_enabled = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_smartlock_enabled_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_instant_tethering_enabled = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_instant_tethering_enabled_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_messages_enabled = 4 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_messages_enabled_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_LinkedAndroidPhoneData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        phone_model_name_hash_{0u},
        is_smartlock_enabled_{false},
        is_instant_tethering_enabled_{false},
        is_messages_enabled_{false} {}

template <typename>
constexpr SystemProfileProto_LinkedAndroidPhoneData::SystemProfileProto_LinkedAndroidPhoneData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_LinkedAndroidPhoneData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_LinkedAndroidPhoneData(arena);
}
constexpr auto SystemProfileProto_LinkedAndroidPhoneData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_LinkedAndroidPhoneData), alignof(SystemProfileProto_LinkedAndroidPhoneData));
}
constexpr auto SystemProfileProto_LinkedAndroidPhoneData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_LinkedAndroidPhoneData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_LinkedAndroidPhoneData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_LinkedAndroidPhoneData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_LinkedAndroidPhoneData>(), &SystemProfileProto_LinkedAndroidPhoneData::ByteSizeLong,
              &SystemProfileProto_LinkedAndroidPhoneData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.LinkedAndroidPhoneData",
  };
}
struct SystemProfileProto_LinkedAndroidPhoneDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_LinkedAndroidPhoneDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_LinkedAndroidPhoneData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_LinkedAndroidPhoneData::InternalGenerateClassData_(
            _default, &SystemProfileProto_LinkedAndroidPhoneData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_LinkedAndroidPhoneData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_LinkedAndroidPhoneDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_LinkedAndroidPhoneData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_LinkedAndroidPhoneData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_LinkedAndroidPhoneDataGlobalsTypeInternal SystemProfileProto_LinkedAndroidPhoneData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_LinkedAndroidPhoneData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_LinkedAndroidPhoneData_globals_.GetClassData();
#else
  return SystemProfileProto_LinkedAndroidPhoneData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware_Motherboard::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware_Motherboard>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware_Motherboard::ParseTableT_ SystemProfileProto_Hardware_Motherboard::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Motherboard>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string manufacturer = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.manufacturer_)}},
      // string model = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.model_)}},
      // string bios_manufacturer = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_manufacturer_)}},
      // string bios_version = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_version_)}},
      // .metrics.SystemProfileProto.Hardware.BiosType bios_type = 5;
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 2,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string manufacturer = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.manufacturer_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string model = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.model_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string bios_manufacturer = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_manufacturer_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string bios_version = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_version_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.Hardware.BiosType bios_type = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_.bios_type_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware_Motherboard::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        manufacturer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        model_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bios_manufacturer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bios_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bios_type_{static_cast< ::metrics::SystemProfileProto_Hardware_BiosType >(0)} {}

template <typename>
constexpr SystemProfileProto_Hardware_Motherboard::SystemProfileProto_Hardware_Motherboard(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware_Motherboard::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware_Motherboard(arena);
}
constexpr auto SystemProfileProto_Hardware_Motherboard::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_Hardware_Motherboard), alignof(SystemProfileProto_Hardware_Motherboard));
}
constexpr auto SystemProfileProto_Hardware_Motherboard::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware_Motherboard::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware_Motherboard>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware_Motherboard::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware_Motherboard>(), &SystemProfileProto_Hardware_Motherboard::ByteSizeLong,
              &SystemProfileProto_Hardware_Motherboard::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Motherboard, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware.Motherboard",
  };
}
struct SystemProfileProto_Hardware_MotherboardGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_Hardware_MotherboardGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_Motherboard_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware_Motherboard::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_Motherboard_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Motherboard>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_Hardware_MotherboardGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware_Motherboard _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Motherboard>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_MotherboardGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_Hardware_MotherboardGlobalsTypeInternal SystemProfileProto_Hardware_Motherboard_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_Motherboard_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_Motherboard_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_Motherboard_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware_InternalStorageDevice::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware_InternalStorageDevice>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware_InternalStorageDevice::ParseTableT_ SystemProfileProto_Hardware_InternalStorageDevice::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_InternalStorageDevice>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Purpose purpose = 8;
      {::_pbi::TcParser::FastEr0S1,
       {64, 7, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.purpose_)}},
      // uint32 vendor_id = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.vendor_id_)}},
      // uint64 product_id = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.product_id_)}},
      // uint32 revision = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.revision_)}},
      // string model = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.model_)}},
      // uint32 size_mb = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.size_mb_)}},
      // uint64 firmware_version = 6;
      {::_pbi::TcParser::FastV64S1,
       {48, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.firmware_version_)}},
      // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Type type = 7;
      {::_pbi::TcParser::FastEr0S1,
       {56, 6, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 vendor_id = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.vendor_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 product_id = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.product_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint32 revision = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.revision_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // string model = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.model_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // uint32 size_mb = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.size_mb_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 firmware_version = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.firmware_version_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Type type = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.type_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Purpose purpose = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.purpose_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 4},
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware_InternalStorageDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        model_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_id_{::uint64_t{0u}},
        vendor_id_{0u},
        revision_{0u},
        firmware_version_{::uint64_t{0u}},
        size_mb_{0u},
        type_{static_cast< ::metrics::SystemProfileProto_Hardware_InternalStorageDevice_Type >(0)},
        purpose_{static_cast< ::metrics::SystemProfileProto_Hardware_InternalStorageDevice_Purpose >(0)} {}

template <typename>
constexpr SystemProfileProto_Hardware_InternalStorageDevice::SystemProfileProto_Hardware_InternalStorageDevice(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware_InternalStorageDevice::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware_InternalStorageDevice(arena);
}
constexpr auto SystemProfileProto_Hardware_InternalStorageDevice::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_Hardware_InternalStorageDevice), alignof(SystemProfileProto_Hardware_InternalStorageDevice));
}
constexpr auto SystemProfileProto_Hardware_InternalStorageDevice::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware_InternalStorageDevice::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware_InternalStorageDevice>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware_InternalStorageDevice::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware_InternalStorageDevice>(), &SystemProfileProto_Hardware_InternalStorageDevice::ByteSizeLong,
              &SystemProfileProto_Hardware_InternalStorageDevice::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware.InternalStorageDevice",
  };
}
struct SystemProfileProto_Hardware_InternalStorageDeviceGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_Hardware_InternalStorageDeviceGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_InternalStorageDevice_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware_InternalStorageDevice::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_InternalStorageDevice_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_InternalStorageDevice>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_Hardware_InternalStorageDeviceGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware_InternalStorageDevice _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_InternalStorageDevice>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDeviceGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_Hardware_InternalStorageDeviceGlobalsTypeInternal SystemProfileProto_Hardware_InternalStorageDevice_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_InternalStorageDevice_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_InternalStorageDevice_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_InternalStorageDevice_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware_Graphics::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware_Graphics>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware_Graphics::ParseTableT_ SystemProfileProto_Hardware_Graphics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967192,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Graphics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 vendor_id = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.vendor_id_)}},
      // uint32 device_id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.device_id_)}},
      // string driver_version = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.driver_version_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // string gl_vendor = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.gl_vendor_)}},
      // string gl_renderer = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.gl_renderer_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 vendor_id = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.vendor_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 device_id = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.device_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // string driver_version = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.driver_version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string gl_vendor = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.gl_vendor_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string gl_renderer = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.gl_renderer_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        driver_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        gl_vendor_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        gl_renderer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        vendor_id_{0u},
        device_id_{0u} {}

template <typename>
constexpr SystemProfileProto_Hardware_Graphics::SystemProfileProto_Hardware_Graphics(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware_Graphics::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware_Graphics(arena);
}
constexpr auto SystemProfileProto_Hardware_Graphics::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_Hardware_Graphics), alignof(SystemProfileProto_Hardware_Graphics));
}
constexpr auto SystemProfileProto_Hardware_Graphics::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware_Graphics::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware_Graphics>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware_Graphics::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware_Graphics>(), &SystemProfileProto_Hardware_Graphics::ByteSizeLong,
              &SystemProfileProto_Hardware_Graphics::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware.Graphics",
  };
}
struct SystemProfileProto_Hardware_GraphicsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_Hardware_GraphicsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_Graphics_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware_Graphics::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_Graphics_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Graphics>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_Hardware_GraphicsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware_Graphics _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Graphics>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_GraphicsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_Hardware_GraphicsGlobalsTypeInternal SystemProfileProto_Hardware_Graphics_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_Graphics_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_Graphics_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_Graphics_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware_Drive::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware_Drive>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Drive, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware_Drive::ParseTableT_ SystemProfileProto_Hardware_Drive::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Drive, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Drive>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool has_seek_penalty = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Drive, _impl_.has_seek_penalty_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool has_seek_penalty = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Drive, _impl_.has_seek_penalty_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware_Drive::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        has_seek_penalty_{false} {}

template <typename>
constexpr SystemProfileProto_Hardware_Drive::SystemProfileProto_Hardware_Drive(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware_Drive::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware_Drive(arena);
}
constexpr auto SystemProfileProto_Hardware_Drive::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_Hardware_Drive), alignof(SystemProfileProto_Hardware_Drive));
}
constexpr auto SystemProfileProto_Hardware_Drive::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware_Drive::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware_Drive>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware_Drive::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware_Drive>(), &SystemProfileProto_Hardware_Drive::ByteSizeLong,
              &SystemProfileProto_Hardware_Drive::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Drive, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware.Drive",
  };
}
struct SystemProfileProto_Hardware_DriveGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_Hardware_DriveGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_Drive_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware_Drive::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_Drive_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Drive>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_Hardware_DriveGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware_Drive _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_Drive>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_DriveGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_Hardware_DriveGlobalsTypeInternal SystemProfileProto_Hardware_Drive_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_Drive_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_Drive_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_Drive_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware_CPU::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware_CPU>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware_CPU::ParseTableT_ SystemProfileProto_Hardware_CPU::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_CPU>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string vendor_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.vendor_name_)}},
      // uint32 signature = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.signature_)}},
      // uint32 num_cores = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.num_cores_)}},
      // bool is_hypervisor = 4;
      {::_pbi::TcParser::FastV8S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.is_hypervisor_)}},
      // uint32 num_efficient_cores = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.num_efficient_cores_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string vendor_name = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.vendor_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // uint32 signature = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.signature_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_cores = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.num_cores_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bool is_hypervisor = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.is_hypervisor_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 num_efficient_cores = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.num_efficient_cores_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware_CPU::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        vendor_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        signature_{0u},
        num_cores_{0u},
        is_hypervisor_{false},
        num_efficient_cores_{0u} {}

template <typename>
constexpr SystemProfileProto_Hardware_CPU::SystemProfileProto_Hardware_CPU(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware_CPU::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware_CPU(arena);
}
constexpr auto SystemProfileProto_Hardware_CPU::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_Hardware_CPU), alignof(SystemProfileProto_Hardware_CPU));
}
constexpr auto SystemProfileProto_Hardware_CPU::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware_CPU::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware_CPU>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware_CPU::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware_CPU>(), &SystemProfileProto_Hardware_CPU::ByteSizeLong,
              &SystemProfileProto_Hardware_CPU::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware.CPU",
  };
}
struct SystemProfileProto_Hardware_CPUGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_Hardware_CPUGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_CPU_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware_CPU::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_CPU_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_CPU>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_Hardware_CPUGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware_CPU _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware_CPU>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPUGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_Hardware_CPUGlobalsTypeInternal SystemProfileProto_Hardware_CPU_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_CPU_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_CPU_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_CPU_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_GoogleUpdate_ProductInfo::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_GoogleUpdate_ProductInfo>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_._has_bits_);
};

constexpr SystemProfileProto_GoogleUpdate_ProductInfo::ParseTableT_ SystemProfileProto_GoogleUpdate_ProductInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_GoogleUpdate_ProductInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string version = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.version_)}},
      // int64 last_update_success_timestamp = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_update_success_timestamp_)}},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo.InstallResult last_result = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_result_)}},
      // int32 last_error = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_error_)}},
      // int32 last_extra_error = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_extra_error_)}},
      // fixed32 cohort_hash = 6;
      {::_pbi::TcParser::FastF32S1,
       {53, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.cohort_hash_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string version = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // int64 last_update_success_timestamp = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_update_success_timestamp_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo.InstallResult last_result = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_result_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // int32 last_error = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_error_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 last_extra_error = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_extra_error_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // fixed32 cohort_hash = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.cohort_hash_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    }},
    {{
        {0, 4},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_GoogleUpdate_ProductInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        last_update_success_timestamp_{::int64_t{0}},
        last_result_{static_cast< ::metrics::SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult >(0)},
        last_error_{0},
        last_extra_error_{0},
        cohort_hash_{0u} {}

template <typename>
constexpr SystemProfileProto_GoogleUpdate_ProductInfo::SystemProfileProto_GoogleUpdate_ProductInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate_ProductInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_GoogleUpdate_ProductInfo(arena);
}
constexpr auto SystemProfileProto_GoogleUpdate_ProductInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_GoogleUpdate_ProductInfo), alignof(SystemProfileProto_GoogleUpdate_ProductInfo));
}
constexpr auto SystemProfileProto_GoogleUpdate_ProductInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_GoogleUpdate_ProductInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_GoogleUpdate_ProductInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_GoogleUpdate_ProductInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_GoogleUpdate_ProductInfo>(), &SystemProfileProto_GoogleUpdate_ProductInfo::ByteSizeLong,
              &SystemProfileProto_GoogleUpdate_ProductInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.GoogleUpdate.ProductInfo",
  };
}
struct SystemProfileProto_GoogleUpdate_ProductInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_GoogleUpdate_ProductInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_GoogleUpdate_ProductInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_GoogleUpdate_ProductInfo::InternalGenerateClassData_(
            _default, &SystemProfileProto_GoogleUpdate_ProductInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_GoogleUpdate_ProductInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_GoogleUpdate_ProductInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_GoogleUpdate_ProductInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_GoogleUpdate_ProductInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_GoogleUpdate_ProductInfoGlobalsTypeInternal SystemProfileProto_GoogleUpdate_ProductInfo_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_GoogleUpdate_ProductInfo_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_GoogleUpdate_ProductInfo_globals_.GetClassData();
#else
  return SystemProfileProto_GoogleUpdate_ProductInfo_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_FieldTrial::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_FieldTrial>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_._has_bits_);
};

constexpr SystemProfileProto_FieldTrial::ParseTableT_ SystemProfileProto_FieldTrial::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_FieldTrial>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // fixed32 group_id = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.group_id_)}},
      // fixed32 name_id = 1;
      {::_pbi::TcParser::FastF32S1,
       {13, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.name_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // fixed32 name_id = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.name_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // fixed32 group_id = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.group_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_FieldTrial::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_id_{0u},
        group_id_{0u} {}

template <typename>
constexpr SystemProfileProto_FieldTrial::SystemProfileProto_FieldTrial(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_FieldTrial::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_FieldTrial(arena);
}
constexpr auto SystemProfileProto_FieldTrial::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_FieldTrial), alignof(SystemProfileProto_FieldTrial));
}
constexpr auto SystemProfileProto_FieldTrial::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_FieldTrial::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_FieldTrial>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_FieldTrial::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_FieldTrial>(), &SystemProfileProto_FieldTrial::ByteSizeLong,
              &SystemProfileProto_FieldTrial::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.FieldTrial",
  };
}
struct SystemProfileProto_FieldTrialGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_FieldTrialGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_FieldTrial_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_FieldTrial::InternalGenerateClassData_(
            _default, &SystemProfileProto_FieldTrial_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_FieldTrial>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_FieldTrialGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_FieldTrial _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_FieldTrial>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrialGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_FieldTrialGlobalsTypeInternal SystemProfileProto_FieldTrial_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_FieldTrial_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_FieldTrial_globals_.GetClassData();
#else
  return SystemProfileProto_FieldTrial_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_._has_bits_);
};

constexpr SystemProfileProto_ExternalAudioVideoDevice_CECCommand::ParseTableT_ SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice_CECCommand>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 opcode = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.opcode_)}},
      // int32 num_received_direct = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_received_direct_)}},
      // int32 num_received_broadcast = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_received_broadcast_)}},
      // int32 num_sent_direct = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_sent_direct_)}},
      // int32 num_sent_broadcast = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_sent_broadcast_)}},
      // int32 num_aborted_unknown_reason = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_aborted_unknown_reason_)}},
      // int32 num_aborted_unrecognized = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_aborted_unrecognized_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 opcode = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.opcode_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_received_direct = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_received_direct_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_received_broadcast = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_received_broadcast_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_sent_direct = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_sent_direct_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_sent_broadcast = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_sent_broadcast_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_aborted_unknown_reason = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_aborted_unknown_reason_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 num_aborted_unrecognized = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_aborted_unrecognized_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ExternalAudioVideoDevice_CECCommand::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        opcode_{0},
        num_received_direct_{0},
        num_received_broadcast_{0},
        num_sent_direct_{0},
        num_sent_broadcast_{0},
        num_aborted_unknown_reason_{0},
        num_aborted_unrecognized_{0} {}

template <typename>
constexpr SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SystemProfileProto_ExternalAudioVideoDevice_CECCommand(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_CECCommand::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ExternalAudioVideoDevice_CECCommand(arena);
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_ExternalAudioVideoDevice_CECCommand), alignof(SystemProfileProto_ExternalAudioVideoDevice_CECCommand));
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ExternalAudioVideoDevice_CECCommand::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>(), &SystemProfileProto_ExternalAudioVideoDevice_CECCommand::ByteSizeLong,
              &SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand",
  };
}
struct SystemProfileProto_ExternalAudioVideoDevice_CECCommandGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ExternalAudioVideoDevice_CECCommandGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ExternalAudioVideoDevice_CECCommand_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalGenerateClassData_(
            _default, &SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ExternalAudioVideoDevice_CECCommandGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ExternalAudioVideoDevice_CECCommand _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice_CECCommand>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommandGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ExternalAudioVideoDevice_CECCommandGlobalsTypeInternal SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ExternalAudioVideoDevice_CECCommand_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_.GetClassData();
#else
  return SystemProfileProto_ExternalAudioVideoDevice_CECCommand_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_._has_bits_);
};

constexpr SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::ParseTableT_ SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.AudioFormat audio_format = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 1, 14,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.audio_format_)}},
      // int32 num_channels = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.num_channels_)}},
      // repeated int32 sample_frequency_hz = 3;
      {::_pbi::TcParser::FastV32P1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.sample_frequency_hz_)}},
      // int32 max_bit_rate_per_second = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.max_bit_rate_per_second_)}},
      // int32 bit_depth = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.bit_depth_)}},
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.OutputMode output_mode = 6;
      {::_pbi::TcParser::FastEr0S1,
       {48, 5, 1,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.output_mode_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.AudioFormat audio_format = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.audio_format_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // int32 num_channels = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.num_channels_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated int32 sample_frequency_hz = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.sample_frequency_hz_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // int32 max_bit_rate_per_second = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.max_bit_rate_per_second_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 bit_depth = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.bit_depth_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.OutputMode output_mode = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.output_mode_), _Internal::kHasBitsOffset + 5, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 14},
        {0, 1},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_frequency_hz_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.sample_frequency_hz_)>()
         }
        ,
        _sample_frequency_hz_cached_byte_size_{0},
        audio_format_{static_cast< ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat >(0)},
        num_channels_{0},
        max_bit_rate_per_second_{0},
        bit_depth_{0},
        output_mode_{static_cast< ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode >(0)} {}

template <typename>
constexpr SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ExternalAudioVideoDevice_AudioDescription(arena);
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription), alignof(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription));
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>(), &SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::ByteSizeLong,
              &SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription",
  };
}
struct SystemProfileProto_ExternalAudioVideoDevice_AudioDescriptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ExternalAudioVideoDevice_AudioDescriptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalGenerateClassData_(
            _default, &SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ExternalAudioVideoDevice_AudioDescriptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ExternalAudioVideoDevice_AudioDescription _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescriptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ExternalAudioVideoDevice_AudioDescriptionGlobalsTypeInternal SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_.GetClassData();
#else
  return SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ExternalAccessPoint::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ExternalAccessPoint>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_._has_bits_);
};

constexpr SystemProfileProto_ExternalAccessPoint::ParseTableT_ SystemProfileProto_ExternalAccessPoint::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAccessPoint>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string device_name = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.device_name_)}},
      // string manufacturer = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.manufacturer_)}},
      // string model_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.model_name_)}},
      // string model_number = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.model_number_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string manufacturer = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.manufacturer_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string model_name = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.model_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string model_number = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.model_number_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string device_name = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_.device_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ExternalAccessPoint::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        manufacturer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        model_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        model_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        device_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr SystemProfileProto_ExternalAccessPoint::SystemProfileProto_ExternalAccessPoint(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ExternalAccessPoint::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ExternalAccessPoint(arena);
}
constexpr auto SystemProfileProto_ExternalAccessPoint::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_ExternalAccessPoint), alignof(SystemProfileProto_ExternalAccessPoint));
}
constexpr auto SystemProfileProto_ExternalAccessPoint::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ExternalAccessPoint::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ExternalAccessPoint>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ExternalAccessPoint::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ExternalAccessPoint>(), &SystemProfileProto_ExternalAccessPoint::ByteSizeLong,
              &SystemProfileProto_ExternalAccessPoint::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPoint, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ExternalAccessPoint",
  };
}
struct SystemProfileProto_ExternalAccessPointGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ExternalAccessPointGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ExternalAccessPoint_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ExternalAccessPoint::InternalGenerateClassData_(
            _default, &SystemProfileProto_ExternalAccessPoint_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAccessPoint>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ExternalAccessPointGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ExternalAccessPoint _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAccessPoint>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAccessPointGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ExternalAccessPointGlobalsTypeInternal SystemProfileProto_ExternalAccessPoint_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ExternalAccessPoint_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ExternalAccessPoint_globals_.GetClassData();
#else
  return SystemProfileProto_ExternalAccessPoint_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_EnterpriseManagement::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_EnterpriseManagement>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_._has_bits_);
};

constexpr SystemProfileProto_EnterpriseManagement::ParseTableT_ SystemProfileProto_EnterpriseManagement::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_EnterpriseManagement>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .metrics.SystemProfileProto.EnterpriseManagement.BrowserStatus browser_status = 2;
      {::_pbi::TcParser::FastEr0P1,
       {18, 1, 6,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_.browser_status_)}},
      // repeated .metrics.SystemProfileProto.EnterpriseManagement.PlatformStatus platform_status = 1;
      {::_pbi::TcParser::FastEr0P1,
       {10, 0, 5,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_.platform_status_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .metrics.SystemProfileProto.EnterpriseManagement.PlatformStatus platform_status = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_.platform_status_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnumRange)},
      // repeated .metrics.SystemProfileProto.EnterpriseManagement.BrowserStatus browser_status = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_.browser_status_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnumRange)},
    }},
    {{
        {0, 5},
        {0, 6},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_EnterpriseManagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        platform_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_EnterpriseManagement,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.platform_status_)>()
         }
        ,
        _platform_status_cached_byte_size_{0},
        browser_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_EnterpriseManagement,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.browser_status_)>()
         }
        ,
        _browser_status_cached_byte_size_{0} {}

template <typename>
constexpr SystemProfileProto_EnterpriseManagement::SystemProfileProto_EnterpriseManagement(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_EnterpriseManagement::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_EnterpriseManagement(arena);
}
constexpr auto SystemProfileProto_EnterpriseManagement::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_EnterpriseManagement), alignof(SystemProfileProto_EnterpriseManagement));
}
constexpr auto SystemProfileProto_EnterpriseManagement::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_EnterpriseManagement::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_EnterpriseManagement>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_EnterpriseManagement::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_EnterpriseManagement>(), &SystemProfileProto_EnterpriseManagement::ByteSizeLong,
              &SystemProfileProto_EnterpriseManagement::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagement, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.EnterpriseManagement",
  };
}
struct SystemProfileProto_EnterpriseManagementGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_EnterpriseManagementGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_EnterpriseManagement_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_EnterpriseManagement::InternalGenerateClassData_(
            _default, &SystemProfileProto_EnterpriseManagement_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_EnterpriseManagement>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_EnterpriseManagementGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_EnterpriseManagement _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_EnterpriseManagement>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_EnterpriseManagementGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_EnterpriseManagementGlobalsTypeInternal SystemProfileProto_EnterpriseManagement_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_EnterpriseManagement_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_EnterpriseManagement_globals_.GetClassData();
#else
  return SystemProfileProto_EnterpriseManagement_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_DemoModeDimensions_Retailer::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_DemoModeDimensions_Retailer>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_._has_bits_);
};

constexpr SystemProfileProto_DemoModeDimensions_Retailer::ParseTableT_ SystemProfileProto_DemoModeDimensions_Retailer::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_DemoModeDimensions_Retailer>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string store_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_.store_id_)}},
      // string retailer_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_.retailer_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string retailer_id = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_.retailer_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string store_id = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_.store_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_DemoModeDimensions_Retailer::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        retailer_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        store_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr SystemProfileProto_DemoModeDimensions_Retailer::SystemProfileProto_DemoModeDimensions_Retailer(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions_Retailer::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_DemoModeDimensions_Retailer(arena);
}
constexpr auto SystemProfileProto_DemoModeDimensions_Retailer::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_DemoModeDimensions_Retailer), alignof(SystemProfileProto_DemoModeDimensions_Retailer));
}
constexpr auto SystemProfileProto_DemoModeDimensions_Retailer::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_DemoModeDimensions_Retailer::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_DemoModeDimensions_Retailer>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_DemoModeDimensions_Retailer::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_DemoModeDimensions_Retailer>(), &SystemProfileProto_DemoModeDimensions_Retailer::ByteSizeLong,
              &SystemProfileProto_DemoModeDimensions_Retailer::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_Retailer, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.DemoModeDimensions.Retailer",
  };
}
struct SystemProfileProto_DemoModeDimensions_RetailerGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_DemoModeDimensions_RetailerGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_DemoModeDimensions_Retailer_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_DemoModeDimensions_Retailer::InternalGenerateClassData_(
            _default, &SystemProfileProto_DemoModeDimensions_Retailer_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_DemoModeDimensions_Retailer>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_DemoModeDimensions_RetailerGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_DemoModeDimensions_Retailer _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_DemoModeDimensions_Retailer>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions_RetailerGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_DemoModeDimensions_RetailerGlobalsTypeInternal SystemProfileProto_DemoModeDimensions_Retailer_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_DemoModeDimensions_Retailer_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_DemoModeDimensions_Retailer_globals_.GetClassData();
#else
  return SystemProfileProto_DemoModeDimensions_Retailer_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ClonedInstallInfo::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ClonedInstallInfo>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_._has_bits_);
};

constexpr SystemProfileProto_ClonedInstallInfo::ParseTableT_ SystemProfileProto_ClonedInstallInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ClonedInstallInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 count = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.count_)}},
      // int64 last_timestamp = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.last_timestamp_)}},
      // fixed64 cloned_from_client_id = 2;
      {::_pbi::TcParser::FastF64S1,
       {17, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.cloned_from_client_id_)}},
      // int64 first_timestamp = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.first_timestamp_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 last_timestamp = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.last_timestamp_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // fixed64 cloned_from_client_id = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.cloned_from_client_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // int64 first_timestamp = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.first_timestamp_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int32 count = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.count_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ClonedInstallInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        last_timestamp_{::int64_t{0}},
        cloned_from_client_id_{::uint64_t{0u}},
        first_timestamp_{::int64_t{0}},
        count_{0} {}

template <typename>
constexpr SystemProfileProto_ClonedInstallInfo::SystemProfileProto_ClonedInstallInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ClonedInstallInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ClonedInstallInfo(arena);
}
constexpr auto SystemProfileProto_ClonedInstallInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_ClonedInstallInfo), alignof(SystemProfileProto_ClonedInstallInfo));
}
constexpr auto SystemProfileProto_ClonedInstallInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ClonedInstallInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ClonedInstallInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ClonedInstallInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ClonedInstallInfo>(), &SystemProfileProto_ClonedInstallInfo::ByteSizeLong,
              &SystemProfileProto_ClonedInstallInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ClonedInstallInfo",
  };
}
struct SystemProfileProto_ClonedInstallInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ClonedInstallInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ClonedInstallInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ClonedInstallInfo::InternalGenerateClassData_(
            _default, &SystemProfileProto_ClonedInstallInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ClonedInstallInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ClonedInstallInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ClonedInstallInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ClonedInstallInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ClonedInstallInfoGlobalsTypeInternal SystemProfileProto_ClonedInstallInfo_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ClonedInstallInfo_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ClonedInstallInfo_globals_.GetClassData();
#else
  return SystemProfileProto_ClonedInstallInfo_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ChromeComponent::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ChromeComponent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_._has_bits_);
};

constexpr SystemProfileProto_ChromeComponent::ParseTableT_ SystemProfileProto_ChromeComponent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ChromeComponent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // fixed32 cohort_hash = 4;
      {::_pbi::TcParser::FastF32S1,
       {37, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.cohort_hash_)}},
      // .metrics.SystemProfileProto.ComponentId component_id = 1 [default = UNKNOWN];
      {::_pbi::TcParser::FastEvS1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.component_id_)}},
      // string version = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.version_)}},
      // fixed32 omaha_fingerprint = 3;
      {::_pbi::TcParser::FastF32S1,
       {29, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.omaha_fingerprint_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .metrics.SystemProfileProto.ComponentId component_id = 1 [default = UNKNOWN];
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.component_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // string version = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 omaha_fingerprint = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.omaha_fingerprint_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // fixed32 cohort_hash = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.cohort_hash_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::metrics::SystemProfileProto_ComponentId_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ChromeComponent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        omaha_fingerprint_{0u},
        cohort_hash_{0u},
        component_id_{static_cast< ::metrics::SystemProfileProto_ComponentId >(1)} {}

template <typename>
constexpr SystemProfileProto_ChromeComponent::SystemProfileProto_ChromeComponent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ChromeComponent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ChromeComponent(arena);
}
constexpr auto SystemProfileProto_ChromeComponent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_ChromeComponent), alignof(SystemProfileProto_ChromeComponent));
}
constexpr auto SystemProfileProto_ChromeComponent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ChromeComponent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ChromeComponent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ChromeComponent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ChromeComponent>(), &SystemProfileProto_ChromeComponent::ByteSizeLong,
              &SystemProfileProto_ChromeComponent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ChromeComponent",
  };
}
struct SystemProfileProto_ChromeComponentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ChromeComponentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ChromeComponent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ChromeComponent::InternalGenerateClassData_(
            _default, &SystemProfileProto_ChromeComponent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ChromeComponent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ChromeComponentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ChromeComponent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ChromeComponent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ChromeComponentGlobalsTypeInternal SystemProfileProto_ChromeComponent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ChromeComponent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ChromeComponent_globals_.GetClassData();
#else
  return SystemProfileProto_ChromeComponent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_AntiVirusProduct::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_AntiVirusProduct>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_._has_bits_);
};

constexpr SystemProfileProto_AntiVirusProduct::ParseTableT_ SystemProfileProto_AntiVirusProduct::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_AntiVirusProduct>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string product_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_name_)}},
      // fixed32 product_name_hash = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_name_hash_)}},
      // string product_version = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_version_)}},
      // fixed32 product_version_hash = 4;
      {::_pbi::TcParser::FastF32S1,
       {37, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_version_hash_)}},
      // .metrics.SystemProfileProto.AntiVirusState product_state = 5;
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_state_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string product_name = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 product_name_hash = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_name_hash_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // string product_version = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // fixed32 product_version_hash = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_version_hash_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed32)},
      // .metrics.SystemProfileProto.AntiVirusState product_state = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_state_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_AntiVirusProduct::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        product_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_name_hash_{0u},
        product_version_hash_{0u},
        product_state_{static_cast< ::metrics::SystemProfileProto_AntiVirusState >(0)} {}

template <typename>
constexpr SystemProfileProto_AntiVirusProduct::SystemProfileProto_AntiVirusProduct(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_AntiVirusProduct::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_AntiVirusProduct(arena);
}
constexpr auto SystemProfileProto_AntiVirusProduct::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_AntiVirusProduct), alignof(SystemProfileProto_AntiVirusProduct));
}
constexpr auto SystemProfileProto_AntiVirusProduct::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_AntiVirusProduct::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_AntiVirusProduct>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_AntiVirusProduct::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_AntiVirusProduct>(), &SystemProfileProto_AntiVirusProduct::ByteSizeLong,
              &SystemProfileProto_AntiVirusProduct::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.AntiVirusProduct",
  };
}
struct SystemProfileProto_AntiVirusProductGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_AntiVirusProductGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_AntiVirusProduct_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_AntiVirusProduct::InternalGenerateClassData_(
            _default, &SystemProfileProto_AntiVirusProduct_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_AntiVirusProduct>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_AntiVirusProductGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_AntiVirusProduct _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_AntiVirusProduct>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProductGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_AntiVirusProductGlobalsTypeInternal SystemProfileProto_AntiVirusProduct_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_AntiVirusProduct_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_AntiVirusProduct_globals_.GetClassData();
#else
  return SystemProfileProto_AntiVirusProduct_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_AccessibilityState::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_AccessibilityState>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityState, _impl_._has_bits_);
};

constexpr SystemProfileProto_AccessibilityState::ParseTableT_ SystemProfileProto_AccessibilityState::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityState, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_AccessibilityState>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .metrics.SystemProfileProto.AccessibilityState.AXMode enabled_modes = 1;
      {::_pbi::TcParser::FastEr0P1,
       {10, 0, 11,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityState, _impl_.enabled_modes_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .metrics.SystemProfileProto.AccessibilityState.AXMode enabled_modes = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityState, _impl_.enabled_modes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnumRange)},
    }},
    {{
        {0, 11},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_AccessibilityState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        enabled_modes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_AccessibilityState,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_AccessibilityState, _impl_.enabled_modes_)>()
         }
        ,
        _enabled_modes_cached_byte_size_{0} {}

template <typename>
constexpr SystemProfileProto_AccessibilityState::SystemProfileProto_AccessibilityState(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_AccessibilityState::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_AccessibilityState(arena);
}
constexpr auto SystemProfileProto_AccessibilityState::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_AccessibilityState), alignof(SystemProfileProto_AccessibilityState));
}
constexpr auto SystemProfileProto_AccessibilityState::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_AccessibilityState::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_AccessibilityState>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_AccessibilityState::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_AccessibilityState>(), &SystemProfileProto_AccessibilityState::ByteSizeLong,
              &SystemProfileProto_AccessibilityState::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityState, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.AccessibilityState",
  };
}
struct SystemProfileProto_AccessibilityStateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_AccessibilityStateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_AccessibilityState_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_AccessibilityState::InternalGenerateClassData_(
            _default, &SystemProfileProto_AccessibilityState_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_AccessibilityState>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_AccessibilityStateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_AccessibilityState _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_AccessibilityState>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_AccessibilityStateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_AccessibilityStateGlobalsTypeInternal SystemProfileProto_AccessibilityState_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_AccessibilityState_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_AccessibilityState_globals_.GetClassData();
#else
  return SystemProfileProto_AccessibilityState_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_OS::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_OS>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_._has_bits_);
};

constexpr SystemProfileProto_OS::ParseTableT_ SystemProfileProto_OS::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_OS>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.name_)}},
      // string version = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.version_)}},
      // string build_fingerprint = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.build_fingerprint_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // string build_number = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.build_number_)}},
      // string kernel_version = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.kernel_version_)}},
      // .metrics.SystemProfileProto.OS.Arc arc = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.arc_)}},
      // .metrics.SystemProfileProto.OS.DarkModeState dark_mode_state = 8 [default = UNKNOWN];
      {::_pbi::TcParser::FastEr0S1,
       {64, 6, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.dark_mode_state_)}},
      // .metrics.SystemProfileProto.OS.XdgSessionType xdg_session_type = 9;
      {::_pbi::TcParser::FastEr0S1,
       {72, 7, 6,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.xdg_session_type_)}},
      // .metrics.SystemProfileProto.OS.XdgCurrentDesktop xdg_current_desktop = 10;
      {::_pbi::TcParser::FastEr0S1,
       {80, 8, 10,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.xdg_current_desktop_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string name = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string version = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string build_fingerprint = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.build_fingerprint_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string build_number = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.build_number_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string kernel_version = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.kernel_version_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.OS.Arc arc = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.arc_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.OS.DarkModeState dark_mode_state = 8 [default = UNKNOWN];
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.dark_mode_state_), _Internal::kHasBitsOffset + 6, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.OS.XdgSessionType xdg_session_type = 9;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.xdg_session_type_), _Internal::kHasBitsOffset + 7, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.OS.XdgCurrentDesktop xdg_current_desktop = 10;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.xdg_current_desktop_), _Internal::kHasBitsOffset + 8, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_OS_Arc>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_OS_Arc_globals_},
        #endif
        {0, 4},
        {0, 6},
        {0, 10},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_OS::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        build_fingerprint_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        build_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        kernel_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        arc_{nullptr},
        dark_mode_state_{static_cast< ::metrics::SystemProfileProto_OS_DarkModeState >(0)},
        xdg_session_type_{static_cast< ::metrics::SystemProfileProto_OS_XdgSessionType >(0)},
        xdg_current_desktop_{static_cast< ::metrics::SystemProfileProto_OS_XdgCurrentDesktop >(0)} {}

template <typename>
constexpr SystemProfileProto_OS::SystemProfileProto_OS(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_OS::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_OS(arena);
}
constexpr auto SystemProfileProto_OS::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_OS), alignof(SystemProfileProto_OS));
}
constexpr auto SystemProfileProto_OS::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_OS::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_OS>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_OS::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_OS>(), &SystemProfileProto_OS::ByteSizeLong,
              &SystemProfileProto_OS::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.OS",
  };
}
struct SystemProfileProto_OSGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_OSGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_OS_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_OS::InternalGenerateClassData_(
            _default, &SystemProfileProto_OS_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_OS>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_OSGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_OS _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_OS>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_OSGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_OSGlobalsTypeInternal SystemProfileProto_OS_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_OS_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_OS_globals_.GetClassData();
#else
  return SystemProfileProto_OS_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_Hardware::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_Hardware>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_._has_bits_);
};

constexpr SystemProfileProto_Hardware::ParseTableT_ SystemProfileProto_Hardware::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_._has_bits_),
      0, // no _extensions_
      29, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      3758375936,  // skipmap
      offsetof(ParseTableT_, field_entries),
      26,  // num_field_entries
      8,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string cpu_architecture = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cpu_architecture_)}},
      // int64 system_ram_mb = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 14, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.system_ram_mb_)}},
      // int64 dll_base = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 15, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.dll_base_)}},
      // string hardware_class = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.hardware_class_)}},
      // int32 screen_count = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 16, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.screen_count_)}},
      // int32 primary_screen_width = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 17, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_width_)}},
      // int32 primary_screen_height = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 18, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_height_)}},
      // .metrics.SystemProfileProto.Hardware.Graphics gpu = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 9, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.gpu_)}},
      // float max_dpi_x = 9;
      {::_pbi::TcParser::FastF32S1,
       {77, 19, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.max_dpi_x_)}},
      // float max_dpi_y = 10;
      {::_pbi::TcParser::FastF32S1,
       {85, 20, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.max_dpi_y_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // float primary_screen_scale_factor = 12;
      {::_pbi::TcParser::FastF32S1,
       {101, 21, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_scale_factor_)}},
      // .metrics.SystemProfileProto.Hardware.CPU cpu = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 10, 1,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cpu_)}},
      // bool internal_display_supports_touch = 14;
      {::_pbi::TcParser::FastV8S1,
       {112, 22, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.internal_display_supports_touch_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .metrics.SystemProfileProto.Hardware.Drive app_drive = 16;
      {::_pbi::TcParser::FastMtS2,
       {386, 11, 2,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.app_drive_)}},
      // .metrics.SystemProfileProto.Hardware.Drive user_data_drive = 17;
      {::_pbi::TcParser::FastMtS2,
       {394, 12, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.user_data_drive_)}},
      // string full_hardware_class = 18;
      {::_pbi::TcParser::FastBS2,
       {402, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.full_hardware_class_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .metrics.SystemProfileProto.Hardware.InternalStorageDevice internal_storage_devices = 20;
      {::_pbi::TcParser::FastMtR2,
       {418, 0, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.internal_storage_devices_)}},
      // string app_cpu_architecture = 21;
      {::_pbi::TcParser::FastBS2,
       {426, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.app_cpu_architecture_)}},
      // .metrics.SystemProfileProto.Hardware.FormFactor form_factor = 22;
      {::_pbi::TcParser::FastEr0S2,
       {432, 23, 7,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.form_factor_)}},
      // .metrics.SystemProfileProto.Hardware.TpmType tpm_type = 23;
      {::_pbi::TcParser::FastEr0S2,
       {440, 25, 5,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_type_)}},
      // string cellular_device_variant = 24;
      {::_pbi::TcParser::FastBS2,
       {450, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cellular_device_variant_)}},
      // .metrics.SystemProfileProto.Hardware.Motherboard motherboard = 25;
      {::_pbi::TcParser::FastMtS2,
       {458, 13, 5,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.motherboard_)}},
      // uint64 tpm_firmware_version = 26;
      {::_pbi::TcParser::FastV64S2,
       {464, 24, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_firmware_version_)}},
      // string tpm_rw_firmware_version = 27;
      {::_pbi::TcParser::FastBS2,
       {474, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_rw_firmware_version_)}},
      // string updated_hardware_class = 28;
      {::_pbi::TcParser::FastBS2,
       {482, 7, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.updated_hardware_class_)}},
      // string manufacturer = 29;
      {::_pbi::TcParser::FastBS2,
       {490, 8, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.manufacturer_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string cpu_architecture = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cpu_architecture_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // int64 system_ram_mb = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.system_ram_mb_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 dll_base = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.dll_base_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string hardware_class = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.hardware_class_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // int32 screen_count = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.screen_count_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 primary_screen_width = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_width_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 primary_screen_height = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_height_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .metrics.SystemProfileProto.Hardware.Graphics gpu = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.gpu_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // float max_dpi_x = 9;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.max_dpi_x_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // float max_dpi_y = 10;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.max_dpi_y_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // float primary_screen_scale_factor = 12;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.primary_screen_scale_factor_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // .metrics.SystemProfileProto.Hardware.CPU cpu = 13;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cpu_), _Internal::kHasBitsOffset + 10, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool internal_display_supports_touch = 14;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.internal_display_supports_touch_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .metrics.SystemProfileProto.Hardware.Drive app_drive = 16;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.app_drive_), _Internal::kHasBitsOffset + 11, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.Hardware.Drive user_data_drive = 17;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.user_data_drive_), _Internal::kHasBitsOffset + 12, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string full_hardware_class = 18;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.full_hardware_class_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .metrics.SystemProfileProto.Hardware.InternalStorageDevice internal_storage_devices = 20;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.internal_storage_devices_), _Internal::kHasBitsOffset + 0, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string app_cpu_architecture = 21;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.app_cpu_architecture_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.Hardware.FormFactor form_factor = 22;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.form_factor_), _Internal::kHasBitsOffset + 23, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.Hardware.TpmType tpm_type = 23;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_type_), _Internal::kHasBitsOffset + 25, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // string cellular_device_variant = 24;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.cellular_device_variant_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.Hardware.Motherboard motherboard = 25;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.motherboard_), _Internal::kHasBitsOffset + 13, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 tpm_firmware_version = 26;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_firmware_version_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // string tpm_rw_firmware_version = 27;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_rw_firmware_version_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string updated_hardware_class = 28;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.updated_hardware_class_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string manufacturer = 29;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.manufacturer_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Graphics>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_Graphics_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_CPU>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_CPU_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Drive>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_Drive_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Drive>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_Drive_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_InternalStorageDevice>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_InternalStorageDevice_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware_Motherboard>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_Motherboard_globals_},
        #endif
        {0, 7},
        {0, 5},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_Hardware::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        internal_storage_devices_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_Hardware,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_Hardware, _impl_.internal_storage_devices_)>()
         }
        ,
        cpu_architecture_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        hardware_class_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        full_hardware_class_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_cpu_architecture_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cellular_device_variant_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tpm_rw_firmware_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        updated_hardware_class_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        manufacturer_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        gpu_{nullptr},
        cpu_{nullptr},
        app_drive_{nullptr},
        user_data_drive_{nullptr},
        motherboard_{nullptr},
        system_ram_mb_{::int64_t{0}},
        dll_base_{::int64_t{0}},
        screen_count_{0},
        primary_screen_width_{0},
        primary_screen_height_{0},
        max_dpi_x_{0},
        max_dpi_y_{0},
        primary_screen_scale_factor_{0},
        internal_display_supports_touch_{false},
        form_factor_{static_cast< ::metrics::SystemProfileProto_Hardware_FormFactor >(0)},
        tpm_firmware_version_{::uint64_t{0u}},
        tpm_type_{static_cast< ::metrics::SystemProfileProto_Hardware_TpmType >(0)} {}

template <typename>
constexpr SystemProfileProto_Hardware::SystemProfileProto_Hardware(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_Hardware::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_Hardware(arena);
}
constexpr auto SystemProfileProto_Hardware::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_Hardware), alignof(SystemProfileProto_Hardware));
}
constexpr auto SystemProfileProto_Hardware::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_Hardware::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_Hardware>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_Hardware::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_Hardware>(), &SystemProfileProto_Hardware::ByteSizeLong,
              &SystemProfileProto_Hardware::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.Hardware",
  };
}
struct SystemProfileProto_HardwareGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_HardwareGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_Hardware_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_Hardware::InternalGenerateClassData_(
            _default, &SystemProfileProto_Hardware_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_HardwareGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_Hardware _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_Hardware>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_HardwareGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_HardwareGlobalsTypeInternal SystemProfileProto_Hardware_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_Hardware_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_Hardware_globals_.GetClassData();
#else
  return SystemProfileProto_Hardware_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_GoogleUpdate::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_GoogleUpdate>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_._has_bits_);
};

constexpr SystemProfileProto_GoogleUpdate::ParseTableT_ SystemProfileProto_GoogleUpdate::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_GoogleUpdate>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bool is_system_install = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.is_system_install_)}},
      // int64 last_automatic_start_timestamp = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.last_automatic_start_timestamp_)}},
      // int64 last_update_check_timestamp = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.last_update_check_timestamp_)}},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo google_update_status = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.google_update_status_)}},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo client_status = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 1, 1,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.client_status_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // bool is_system_install = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.is_system_install_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int64 last_automatic_start_timestamp = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.last_automatic_start_timestamp_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 last_update_check_timestamp = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.last_update_check_timestamp_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo google_update_status = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.google_update_status_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo client_status = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.client_status_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_GoogleUpdate_ProductInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_GoogleUpdate_ProductInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_GoogleUpdate_ProductInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_GoogleUpdate_ProductInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_GoogleUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        google_update_status_{nullptr},
        client_status_{nullptr},
        last_automatic_start_timestamp_{::int64_t{0}},
        last_update_check_timestamp_{::int64_t{0}},
        is_system_install_{false} {}

template <typename>
constexpr SystemProfileProto_GoogleUpdate::SystemProfileProto_GoogleUpdate(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_GoogleUpdate(arena);
}
constexpr auto SystemProfileProto_GoogleUpdate::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SystemProfileProto_GoogleUpdate), alignof(SystemProfileProto_GoogleUpdate));
}
constexpr auto SystemProfileProto_GoogleUpdate::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_GoogleUpdate::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_GoogleUpdate>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_GoogleUpdate::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_GoogleUpdate>(), &SystemProfileProto_GoogleUpdate::ByteSizeLong,
              &SystemProfileProto_GoogleUpdate::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.GoogleUpdate",
  };
}
struct SystemProfileProto_GoogleUpdateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_GoogleUpdateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_GoogleUpdate_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_GoogleUpdate::InternalGenerateClassData_(
            _default, &SystemProfileProto_GoogleUpdate_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_GoogleUpdate>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_GoogleUpdateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_GoogleUpdate _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_GoogleUpdate>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_GoogleUpdateGlobalsTypeInternal SystemProfileProto_GoogleUpdate_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_GoogleUpdate_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_GoogleUpdate_globals_.GetClassData();
#else
  return SystemProfileProto_GoogleUpdate_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_ExternalAudioVideoDevice::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_ExternalAudioVideoDevice>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_._has_bits_);
};

constexpr SystemProfileProto_ExternalAudioVideoDevice::ParseTableT_ SystemProfileProto_ExternalAudioVideoDevice::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_._has_bits_),
      0, // no _extensions_
      24, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4278190080,  // skipmap
      offsetof(ParseTableT_, field_entries),
      24,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string manufacturer_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacturer_name_)}},
      // string model_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.model_name_)}},
      // string product_code = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 5, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.product_code_)}},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AVDeviceType av_device_type = 4;
      {::_pbi::TcParser::FastEr0P1,
       {34, 0, 5,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.av_device_type_)}},
      // int32 manufacture_year = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacture_year_)}},
      // int32 manufacture_week = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 7, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacture_week_)}},
      // int32 horizontal_resolution = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 8, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.horizontal_resolution_)}},
      // int32 vertical_resolution = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 9, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.vertical_resolution_)}},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription audio_description = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.audio_description_)}},
      // int32 position_in_setup = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 10, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.position_in_setup_)}},
      // bool is_in_path_to_tv = 11;
      {::_pbi::TcParser::FastV8S1,
       {88, 16, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.is_in_path_to_tv_)}},
      // int32 cec_version = 12;
      {::_pbi::TcParser::FastV32S1,
       {96, 11, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_version_)}},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand cec_command = 13;
      {::_pbi::TcParser::FastMtR1,
       {106, 2, 1,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_command_)}},
      // int32 frame_rate = 14;
      {::_pbi::TcParser::FastV32S1,
       {112, 12, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.frame_rate_)}},
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.ColorEncoding color_encoding = 15;
      {::_pbi::TcParser::FastEr0S1,
       {120, 13, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.color_encoding_)}},
      // int32 bit_depth = 16;
      {::_pbi::TcParser::FastV32S2,
       {384, 14, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.bit_depth_)}},
      // int32 tmds = 17;
      {::_pbi::TcParser::FastV32S2,
       {392, 15, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.tmds_)}},
      // bool hdr10_support = 18;
      {::_pbi::TcParser::FastV8S2,
       {400, 17, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.hdr10_support_)}},
      // bool dolby_vision_support = 19;
      {::_pbi::TcParser::FastV8S2,
       {408, 18, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.dolby_vision_support_)}},
      // int32 eotf_support = 20;
      {::_pbi::TcParser::FastV32S2,
       {416, 20, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.eotf_support_)}},
      // bool yuv_support = 21;
      {::_pbi::TcParser::FastV8S2,
       {424, 19, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.yuv_support_)}},
      // bool yuv_420_support = 22;
      {::_pbi::TcParser::FastV8S2,
       {432, 21, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.yuv_420_support_)}},
      // int32 maximum_supported_hdcp_version = 23;
      {::_pbi::TcParser::FastV32S2,
       {440, 22, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.maximum_supported_hdcp_version_)}},
      // int32 current_hdcp_version = 24;
      {::_pbi::TcParser::FastV32S2,
       {448, 23, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.current_hdcp_version_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string manufacturer_name = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacturer_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string model_name = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.model_name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string product_code = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.product_code_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AVDeviceType av_device_type = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.av_device_type_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnumRange)},
      // int32 manufacture_year = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacture_year_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 manufacture_week = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacture_week_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 horizontal_resolution = 7;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.horizontal_resolution_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 vertical_resolution = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.vertical_resolution_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription audio_description = 9;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.audio_description_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 position_in_setup = 10;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.position_in_setup_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool is_in_path_to_tv = 11;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.is_in_path_to_tv_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 cec_version = 12;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_version_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand cec_command = 13;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_command_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 frame_rate = 14;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.frame_rate_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .metrics.SystemProfileProto.ExternalAudioVideoDevice.ColorEncoding color_encoding = 15;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.color_encoding_), _Internal::kHasBitsOffset + 13, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // int32 bit_depth = 16;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.bit_depth_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 tmds = 17;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.tmds_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool hdr10_support = 18;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.hdr10_support_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool dolby_vision_support = 19;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.dolby_vision_support_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 eotf_support = 20;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.eotf_support_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool yuv_support = 21;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.yuv_support_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool yuv_420_support = 22;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.yuv_420_support_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 maximum_supported_hdcp_version = 23;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.maximum_supported_hdcp_version_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 current_hdcp_version = 24;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.current_hdcp_version_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice_CECCommand>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_},
        #endif
        {0, 5},
        {0, 4},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_ExternalAudioVideoDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        av_device_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.av_device_type_)>()
         }
        ,
        _av_device_type_cached_byte_size_{0},
        audio_description_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.audio_description_)>()
         }
        ,
        cec_command_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_command_)>()
         }
        ,
        manufacturer_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        model_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        manufacture_year_{0},
        manufacture_week_{0},
        horizontal_resolution_{0},
        vertical_resolution_{0},
        position_in_setup_{0},
        cec_version_{0},
        frame_rate_{0},
        color_encoding_{static_cast< ::metrics::SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding >(0)},
        bit_depth_{0},
        tmds_{0},
        is_in_path_to_tv_{false},
        hdr10_support_{false},
        dolby_vision_support_{false},
        yuv_support_{false},
        eotf_support_{0},
        yuv_420_support_{false},
        maximum_supported_hdcp_version_{0},
        current_hdcp_version_{0} {}

template <typename>
constexpr SystemProfileProto_ExternalAudioVideoDevice::SystemProfileProto_ExternalAudioVideoDevice(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_ExternalAudioVideoDevice(arena);
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_ExternalAudioVideoDevice), alignof(SystemProfileProto_ExternalAudioVideoDevice));
}
constexpr auto SystemProfileProto_ExternalAudioVideoDevice::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_ExternalAudioVideoDevice::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_ExternalAudioVideoDevice>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_ExternalAudioVideoDevice::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_ExternalAudioVideoDevice>(), &SystemProfileProto_ExternalAudioVideoDevice::ByteSizeLong,
              &SystemProfileProto_ExternalAudioVideoDevice::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.ExternalAudioVideoDevice",
  };
}
struct SystemProfileProto_ExternalAudioVideoDeviceGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_ExternalAudioVideoDeviceGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_ExternalAudioVideoDevice_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_ExternalAudioVideoDevice::InternalGenerateClassData_(
            _default, &SystemProfileProto_ExternalAudioVideoDevice_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_ExternalAudioVideoDeviceGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_ExternalAudioVideoDevice _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_ExternalAudioVideoDevice>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDeviceGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_ExternalAudioVideoDeviceGlobalsTypeInternal SystemProfileProto_ExternalAudioVideoDevice_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_ExternalAudioVideoDevice_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_ExternalAudioVideoDevice_globals_.GetClassData();
#else
  return SystemProfileProto_ExternalAudioVideoDevice_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto_DemoModeDimensions::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto_DemoModeDimensions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_._has_bits_);
};

constexpr SystemProfileProto_DemoModeDimensions::ParseTableT_ SystemProfileProto_DemoModeDimensions::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_DemoModeDimensions>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string country = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.country_)}},
      // .metrics.SystemProfileProto.DemoModeDimensions.Retailer retailer = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.retailer_)}},
      // repeated .metrics.SystemProfileProto.DemoModeDimensions.CustomizationFacet customization_facet = 3;
      {::_pbi::TcParser::FastEr0P1,
       {26, 0, 2,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.customization_facet_)}},
      // string app_version = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.app_version_)}},
      // string resources_version = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.resources_version_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string country = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.country_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.DemoModeDimensions.Retailer retailer = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.retailer_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.SystemProfileProto.DemoModeDimensions.CustomizationFacet customization_facet = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.customization_facet_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnumRange)},
      // string app_version = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.app_version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string resources_version = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_.resources_version_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_DemoModeDimensions_Retailer>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_DemoModeDimensions_Retailer_globals_},
        #endif
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto_DemoModeDimensions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        customization_facet_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_DemoModeDimensions,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_DemoModeDimensions, _impl_.customization_facet_)>()
         }
        ,
        _customization_facet_cached_byte_size_{0},
        country_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        resources_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        retailer_{nullptr} {}

template <typename>
constexpr SystemProfileProto_DemoModeDimensions::SystemProfileProto_DemoModeDimensions(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto_DemoModeDimensions(arena);
}
constexpr auto SystemProfileProto_DemoModeDimensions::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto_DemoModeDimensions), alignof(SystemProfileProto_DemoModeDimensions));
}
constexpr auto SystemProfileProto_DemoModeDimensions::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto_DemoModeDimensions::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto_DemoModeDimensions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto_DemoModeDimensions::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto_DemoModeDimensions>(), &SystemProfileProto_DemoModeDimensions::ByteSizeLong,
              &SystemProfileProto_DemoModeDimensions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensions, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto.DemoModeDimensions",
  };
}
struct SystemProfileProto_DemoModeDimensionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProto_DemoModeDimensionsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_DemoModeDimensions_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto_DemoModeDimensions::InternalGenerateClassData_(
            _default, &SystemProfileProto_DemoModeDimensions_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_DemoModeDimensions>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProto_DemoModeDimensionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto_DemoModeDimensions _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto_DemoModeDimensions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProto_DemoModeDimensionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProto_DemoModeDimensionsGlobalsTypeInternal SystemProfileProto_DemoModeDimensions_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_DemoModeDimensions_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_DemoModeDimensions_globals_.GetClassData();
#else
  return SystemProfileProto_DemoModeDimensions_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class SystemProfileProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<SystemProfileProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_._has_bits_);
};

constexpr SystemProfileProto::ParseTableT_ SystemProfileProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_._has_bits_),
      0, // no _extensions_
      51, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      605028416,  // skipmap
      offsetof(ParseTableT_, field_entries),
      47,  // num_field_entries
      25,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::SystemProfileProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int64 build_timestamp = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 18, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.build_timestamp_)}},
      // string app_version = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 6, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.app_version_)}},
      // int64 uma_enabled_date = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 19, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.uma_enabled_date_)}},
      // string application_locale = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 7, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.application_locale_)}},
      // .metrics.SystemProfileProto.OS os = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 11, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.os_)}},
      // .metrics.SystemProfileProto.Hardware hardware = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 12, 1,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.hardware_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .metrics.SystemProfileProto.Stability stability = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 13, 2,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.stability_)}},
      // repeated .metrics.SystemProfileProto.FieldTrial field_trial = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 0, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.field_trial_)}},
      // .metrics.SystemProfileProto.Channel channel = 10;
      {::_pbi::TcParser::FastEr0S1,
       {80, 20, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.channel_)}},
      // .metrics.SystemProfileProto.GoogleUpdate google_update = 11;
      {::_pbi::TcParser::FastMtS1,
       {90, 14, 4,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.google_update_)}},
      // string brand_code = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 8, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.brand_code_)}},
      // .metrics.SystemProfileProto.Network network = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 15, 5,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.network_)}},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice external_audio_video_device = 14;
      {::_pbi::TcParser::FastMtR1,
       {114, 1, 6,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.external_audio_video_device_)}},
      // .metrics.SystemProfileProto.ExternalAccessPoint external_access_point = 15;
      {::_pbi::TcParser::FastMtS1,
       {122, 16, 7,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.external_access_point_)}},
      // int64 install_date = 16;
      {::_pbi::TcParser::FastV64S2,
       {384, 22, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.install_date_)}},
      // uint32 multi_profile_user_count = 17;
      {::_pbi::TcParser::FastV32S2,
       {392, 21, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.multi_profile_user_count_)}},
      // repeated int32 occupied_extension_bucket = 18;
      {::_pbi::TcParser::FastV32P2,
       {402, 2, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.occupied_extension_bucket_)}},
      // .metrics.SystemProfileProto.ExtensionsState offstore_extensions_state = 19;
      {::_pbi::TcParser::FastEr0S2,
       {408, 23, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.offstore_extensions_state_)}},
      // bool is_instrumented_build = 20 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {416, 24, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.is_instrumented_build_)}},
      // int32 pseudo_low_entropy_source = 37;
      {::_pbi::TcParser::FastV32S2,
       {680, 27, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.pseudo_low_entropy_source_)}},
      // .metrics.SystemProfileProto.UmaDefaultState uma_default_state = 22;
      {::_pbi::TcParser::FastEr0S2,
       {432, 25, 3,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.uma_default_state_)}},
      // repeated .metrics.SystemProfileProto.AntiVirusProduct antivirus_product = 23;
      {::_pbi::TcParser::FastMtR2,
       {442, 3, 8,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.antivirus_product_)}},
      // repeated .metrics.SystemProfileProto.ChromeComponent chrome_component = 24;
      {::_pbi::TcParser::FastMtR2,
       {450, 4, 9,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.chrome_component_)}},
      // repeated .metrics.ExtensionInstallProto extension_install = 25;
      {::_pbi::TcParser::FastMtR2,
       {458, 5, 10,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.extension_install_)}},
      // string app_package_name = 26;
      {::_pbi::TcParser::FastBS2,
       {466, 9, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.app_package_name_)}},
      // .metrics.SystemProfileProto.ClientSideSamplingStatus client_side_sampling_status = 43;
      {::_pbi::TcParser::FastEr0S2,
       {728, 28, 2,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.client_side_sampling_status_)}},
      // string variations_seed_version = 28;
      {::_pbi::TcParser::FastBS2,
       {482, 10, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.variations_seed_version_)}},
      // .metrics.SystemProfileProto.LinkedAndroidPhoneData linked_android_phone_data = 29;
      {::_pbi::TcParser::FastMtS2,
       {490, 17, 11,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.linked_android_phone_data_)}},
      // fixed64 session_hash = 46;
      {::_pbi::TcParser::FastF64S2,
       {753, 29, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.session_hash_)}},
      // int32 low_entropy_source = 31;
      {::_pbi::TcParser::FastV32S2,
       {504, 26, 0,
        PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.low_entropy_source_)}},
    }}, {{
      33, 0, 2,
      0, 28,
      65528, 44,
      65535, 65535
    }}, {{
      // int64 build_timestamp = 1;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.build_timestamp_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string app_version = 2;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.app_version_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // int64 uma_enabled_date = 3;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.uma_enabled_date_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string application_locale = 4;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.application_locale_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.OS os = 5;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.os_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.Hardware hardware = 6;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.hardware_), _Internal::kHasBitsOffset + 12, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.Stability stability = 8;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.stability_), _Internal::kHasBitsOffset + 13, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.SystemProfileProto.FieldTrial field_trial = 9;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.field_trial_), _Internal::kHasBitsOffset + 0, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.Channel channel = 10;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.channel_), _Internal::kHasBitsOffset + 20, 17, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.GoogleUpdate google_update = 11;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.google_update_), _Internal::kHasBitsOffset + 14, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string brand_code = 12;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.brand_code_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.Network network = 13;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.network_), _Internal::kHasBitsOffset + 15, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice external_audio_video_device = 14;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.external_audio_video_device_), _Internal::kHasBitsOffset + 1, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.ExternalAccessPoint external_access_point = 15;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.external_access_point_), _Internal::kHasBitsOffset + 16, 7, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int64 install_date = 16;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.install_date_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // uint32 multi_profile_user_count = 17;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.multi_profile_user_count_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated int32 occupied_extension_bucket = 18;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.occupied_extension_bucket_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // .metrics.SystemProfileProto.ExtensionsState offstore_extensions_state = 19;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.offstore_extensions_state_), _Internal::kHasBitsOffset + 23, 18, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // bool is_instrumented_build = 20 [default = false];
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.is_instrumented_build_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .metrics.SystemProfileProto.UmaDefaultState uma_default_state = 22;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.uma_default_state_), _Internal::kHasBitsOffset + 25, 19, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // repeated .metrics.SystemProfileProto.AntiVirusProduct antivirus_product = 23;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.antivirus_product_), _Internal::kHasBitsOffset + 3, 8, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.SystemProfileProto.ChromeComponent chrome_component = 24;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.chrome_component_), _Internal::kHasBitsOffset + 4, 9, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.ExtensionInstallProto extension_install = 25;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.extension_install_), _Internal::kHasBitsOffset + 5, 10, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string app_package_name = 26;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.app_package_name_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string variations_seed_version = 28;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.variations_seed_version_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.LinkedAndroidPhoneData linked_android_phone_data = 29;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.linked_android_phone_data_), _Internal::kHasBitsOffset + 17, 11, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 low_entropy_source = 31;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.low_entropy_source_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 old_low_entropy_source = 32;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.old_low_entropy_source_), _Internal::kHasBitsOffset + 38, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool client_id_was_used_for_trial_assignment = 33;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.client_id_was_used_for_trial_assignment_), _Internal::kHasBitsOffset + 40, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // string client_uuid = 34;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.client_uuid_), _Internal::kHasBitsOffset + 31, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.InstallerPackage installer_package = 35;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.installer_package_), _Internal::kHasBitsOffset + 39, 20, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // bool is_extended_stable_channel = 36 [default = false];
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.is_extended_stable_channel_), _Internal::kHasBitsOffset + 41, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 pseudo_low_entropy_source = 37;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.pseudo_low_entropy_source_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated fixed32 command_line_key_hash = 38;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.command_line_key_hash_), _Internal::kHasBitsOffset + 30, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedFixed32)},
      // .metrics.SystemProfileProto.ClonedInstallInfo cloned_install_info = 39;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.cloned_install_info_), _Internal::kHasBitsOffset + 33, 12, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string log_written_by_app_version = 40;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.log_written_by_app_version_), _Internal::kHasBitsOffset + 32, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .metrics.SystemProfileProto.DemoModeDimensions demo_mode_dimensions = 41;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.demo_mode_dimensions_), _Internal::kHasBitsOffset + 34, 13, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.SystemProfileProto.AppPackageNameAllowlistFilter app_package_name_allowlist_filter = 42;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.app_package_name_allowlist_filter_), _Internal::kHasBitsOffset + 43, 21, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // .metrics.SystemProfileProto.ClientSideSamplingStatus client_side_sampling_status = 43;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.client_side_sampling_status_), _Internal::kHasBitsOffset + 28, 22, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.MetricsFilteringStatus metrics_filtering_status = 44;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.metrics_filtering_status_), _Internal::kHasBitsOffset + 44, 23, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .metrics.SystemProfileProto.LTSChannel lts_channel = 45;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.lts_channel_), _Internal::kHasBitsOffset + 45, 24, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // fixed64 session_hash = 46;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.session_hash_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // .metrics.SystemProfileProto.TpmIdentifier tpm_identifier = 47;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.tpm_identifier_), _Internal::kHasBitsOffset + 35, 14, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 fg_bg_id = 48;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.fg_bg_id_), _Internal::kHasBitsOffset + 46, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .metrics.SystemProfileProto.AccessibilityState accessibility_state = 49;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.accessibility_state_), _Internal::kHasBitsOffset + 36, 15, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool seed_has_active_limited_layer = 50;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.seed_has_active_limited_layer_), _Internal::kHasBitsOffset + 42, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .metrics.SystemProfileProto.EnterpriseManagement enterprise_management = 51;
      {PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.enterprise_management_), _Internal::kHasBitsOffset + 37, 16, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_OS>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_OS_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Hardware>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Hardware_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Stability>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Stability_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_FieldTrial>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_FieldTrial_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_GoogleUpdate>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_GoogleUpdate_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_Network>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_Network_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAudioVideoDevice>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ExternalAudioVideoDevice_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ExternalAccessPoint>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ExternalAccessPoint_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_AntiVirusProduct>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_AntiVirusProduct_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ChromeComponent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ChromeComponent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::ExtensionInstallProto>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::ExtensionInstallProto_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_LinkedAndroidPhoneData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_LinkedAndroidPhoneData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_ClonedInstallInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_ClonedInstallInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_DemoModeDimensions>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_DemoModeDimensions_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_TpmIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_TpmIdentifier_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_AccessibilityState>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_AccessibilityState_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::SystemProfileProto_EnterpriseManagement>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::SystemProfileProto_EnterpriseManagement_globals_},
        #endif
        {0, 4},
        {0, 3},
        {0, 3},
        {0, 3},
        {::_pbi::FieldAuxEnumData{}, ::metrics::SystemProfileProto_AppPackageNameAllowlistFilter_internal_data_},
        {0, 2},
        {0, 2},
        {0, 3},
    }},
    {{
    }},
  };
}


inline constexpr SystemProfileProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        field_trial_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.field_trial_)>()
         }
        ,
        external_audio_video_device_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.external_audio_video_device_)>()
         }
        ,
        occupied_extension_bucket_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.occupied_extension_bucket_)>()
         }
        ,
        _occupied_extension_bucket_cached_byte_size_{0},
        antivirus_product_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.antivirus_product_)>()
         }
        ,
        chrome_component_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.chrome_component_)>()
         }
        ,
        extension_install_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.extension_install_)>()
         }
        ,
        app_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        application_locale_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        brand_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        app_package_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        variations_seed_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        os_{nullptr},
        hardware_{nullptr},
        stability_{nullptr},
        google_update_{nullptr},
        network_{nullptr},
        external_access_point_{nullptr},
        linked_android_phone_data_{nullptr},
        build_timestamp_{::int64_t{0}},
        uma_enabled_date_{::int64_t{0}},
        channel_{static_cast< ::metrics::SystemProfileProto_Channel >(0)},
        multi_profile_user_count_{0u},
        install_date_{::int64_t{0}},
        offstore_extensions_state_{static_cast< ::metrics::SystemProfileProto_ExtensionsState >(0)},
        is_instrumented_build_{false},
        uma_default_state_{static_cast< ::metrics::SystemProfileProto_UmaDefaultState >(0)},
        low_entropy_source_{0},
        pseudo_low_entropy_source_{0},
        client_side_sampling_status_{static_cast< ::metrics::SystemProfileProto_ClientSideSamplingStatus >(0)},
        session_hash_{::uint64_t{0u}},
        command_line_key_hash_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.command_line_key_hash_)>()
         }
        ,
        client_uuid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        log_written_by_app_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cloned_install_info_{nullptr},
        demo_mode_dimensions_{nullptr},
        tpm_identifier_{nullptr},
        accessibility_state_{nullptr},
        enterprise_management_{nullptr},
        old_low_entropy_source_{0},
        installer_package_{static_cast< ::metrics::SystemProfileProto_InstallerPackage >(0)},
        client_id_was_used_for_trial_assignment_{false},
        is_extended_stable_channel_{false},
        seed_has_active_limited_layer_{false},
        app_package_name_allowlist_filter_{static_cast< ::metrics::SystemProfileProto_AppPackageNameAllowlistFilter >(0)},
        metrics_filtering_status_{static_cast< ::metrics::SystemProfileProto_MetricsFilteringStatus >(0)},
        lts_channel_{static_cast< ::metrics::SystemProfileProto_LTSChannel >(0)},
        fg_bg_id_{0} {}

template <typename>
constexpr SystemProfileProto::SystemProfileProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SystemProfileProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SystemProfileProto(arena);
}
constexpr auto SystemProfileProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SystemProfileProto), alignof(SystemProfileProto));
}
constexpr auto SystemProfileProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SystemProfileProto::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SystemProfileProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SystemProfileProto::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SystemProfileProto>(), &SystemProfileProto::ByteSizeLong,
              &SystemProfileProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_._cached_size_),
          true,
      },
      "metrics.SystemProfileProto",
  };
}
struct SystemProfileProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SystemProfileProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SystemProfileProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SystemProfileProto::InternalGenerateClassData_(
            _default, &SystemProfileProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SystemProfileProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SystemProfileProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SystemProfileProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SystemProfileProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SystemProfileProtoGlobalsTypeInternal SystemProfileProto_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SystemProfileProto_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SystemProfileProto_globals_.GetClassData();
#else
  return SystemProfileProto_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace metrics
namespace metrics {
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_OS_DarkModeState_internal_data_[] = {
    327680u, 0u, };
static const char SystemProfileProto_OS_DarkModeState_names[] = {
    "DARK_MODE_APP"
    "DARK_MODE_SYSTEM"
    "LIGHT_MODE_APP"
    "LIGHT_MODE_SYSTEM"
    "UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_OS_DarkModeState_entries[] = {
    {{&SystemProfileProto_OS_DarkModeState_names[0], 13}, 2},
    {{&SystemProfileProto_OS_DarkModeState_names[13], 16}, 1},
    {{&SystemProfileProto_OS_DarkModeState_names[29], 14}, 4},
    {{&SystemProfileProto_OS_DarkModeState_names[43], 17}, 3},
    {{&SystemProfileProto_OS_DarkModeState_names[60], 7}, 0},
};

static const int SystemProfileProto_OS_DarkModeState_entries_by_number[] = {
    4,  // 0 -> UNKNOWN
    1,  // 1 -> DARK_MODE_SYSTEM
    0,  // 2 -> DARK_MODE_APP
    3,  // 3 -> LIGHT_MODE_SYSTEM
    2,  // 4 -> LIGHT_MODE_APP
};

bool SystemProfileProto_OS_DarkModeState_Parse(::absl::string_view name,
                                  SystemProfileProto_OS_DarkModeState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_OS_DarkModeState_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_OS_DarkModeState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_OS_DarkModeState_strings[5] = {};

const ::std::string& SystemProfileProto_OS_DarkModeState_Name(SystemProfileProto_OS_DarkModeState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_OS_DarkModeState_entries, SystemProfileProto_OS_DarkModeState_entries_by_number, 5,
      SystemProfileProto_OS_DarkModeState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_OS_DarkModeState_entries,
                                  SystemProfileProto_OS_DarkModeState_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_OS_DarkModeState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_OS_XdgSessionType_internal_data_[] = {
    458752u, 0u, };
static const char SystemProfileProto_OS_XdgSessionType_names[] = {
    "MIR"
    "OTHER_SESSION_TYPE"
    "TTY"
    "UNSET"
    "UNSPECIFIED"
    "WAYLAND"
    "X11"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_OS_XdgSessionType_entries[] = {
    {{&SystemProfileProto_OS_XdgSessionType_names[0], 3}, 6},
    {{&SystemProfileProto_OS_XdgSessionType_names[3], 18}, 1},
    {{&SystemProfileProto_OS_XdgSessionType_names[21], 3}, 3},
    {{&SystemProfileProto_OS_XdgSessionType_names[24], 5}, 0},
    {{&SystemProfileProto_OS_XdgSessionType_names[29], 11}, 2},
    {{&SystemProfileProto_OS_XdgSessionType_names[40], 7}, 5},
    {{&SystemProfileProto_OS_XdgSessionType_names[47], 3}, 4},
};

static const int SystemProfileProto_OS_XdgSessionType_entries_by_number[] = {
    3,  // 0 -> UNSET
    1,  // 1 -> OTHER_SESSION_TYPE
    4,  // 2 -> UNSPECIFIED
    2,  // 3 -> TTY
    6,  // 4 -> X11
    5,  // 5 -> WAYLAND
    0,  // 6 -> MIR
};

bool SystemProfileProto_OS_XdgSessionType_Parse(::absl::string_view name,
                                  SystemProfileProto_OS_XdgSessionType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_OS_XdgSessionType_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_OS_XdgSessionType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_OS_XdgSessionType_strings[7] = {};

const ::std::string& SystemProfileProto_OS_XdgSessionType_Name(SystemProfileProto_OS_XdgSessionType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_OS_XdgSessionType_entries, SystemProfileProto_OS_XdgSessionType_entries_by_number, 7,
      SystemProfileProto_OS_XdgSessionType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_OS_XdgSessionType_entries,
                                  SystemProfileProto_OS_XdgSessionType_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_OS_XdgSessionType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_OS_XdgCurrentDesktop_internal_data_[] = {
    720896u, 0u, };
static const char SystemProfileProto_OS_XdgCurrentDesktop_names[] = {
    "CINNAMON"
    "COSMIC"
    "DEEPIN"
    "GNOME"
    "KDE"
    "LXQT"
    "OTHER"
    "PANTHEON"
    "UKUI"
    "UNITY"
    "XFCE"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_OS_XdgCurrentDesktop_entries[] = {
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[0], 8}, 1},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[8], 6}, 10},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[14], 6}, 2},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[20], 5}, 3},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[25], 3}, 4},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[28], 4}, 9},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[32], 5}, 0},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[37], 8}, 5},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[45], 4}, 6},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[49], 5}, 7},
    {{&SystemProfileProto_OS_XdgCurrentDesktop_names[54], 4}, 8},
};

static const int SystemProfileProto_OS_XdgCurrentDesktop_entries_by_number[] = {
    6,  // 0 -> OTHER
    0,  // 1 -> CINNAMON
    2,  // 2 -> DEEPIN
    3,  // 3 -> GNOME
    4,  // 4 -> KDE
    7,  // 5 -> PANTHEON
    8,  // 6 -> UKUI
    9,  // 7 -> UNITY
    10,  // 8 -> XFCE
    5,  // 9 -> LXQT
    1,  // 10 -> COSMIC
};

bool SystemProfileProto_OS_XdgCurrentDesktop_Parse(::absl::string_view name,
                                  SystemProfileProto_OS_XdgCurrentDesktop* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_OS_XdgCurrentDesktop_entries, 11, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_OS_XdgCurrentDesktop>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_OS_XdgCurrentDesktop_strings[11] = {};

const ::std::string& SystemProfileProto_OS_XdgCurrentDesktop_Name(SystemProfileProto_OS_XdgCurrentDesktop value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_OS_XdgCurrentDesktop_entries, SystemProfileProto_OS_XdgCurrentDesktop_entries_by_number, 11,
      SystemProfileProto_OS_XdgCurrentDesktop_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_OS_XdgCurrentDesktop_entries,
                                  SystemProfileProto_OS_XdgCurrentDesktop_entries_by_number,
                                  11, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_OS_XdgCurrentDesktop_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Hardware_InternalStorageDevice_Type_internal_data_[] = {
    327680u, 0u, };
static const char SystemProfileProto_Hardware_InternalStorageDevice_Type_names[] = {
    "TYPE_EMMC"
    "TYPE_NVME"
    "TYPE_SD_EXPRESS_INTERNAL"
    "TYPE_UFS"
    "TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Hardware_InternalStorageDevice_Type_entries[] = {
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Type_names[0], 9}, 1},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Type_names[9], 9}, 2},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Type_names[18], 24}, 4},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Type_names[42], 8}, 3},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Type_names[50], 12}, 0},
};

static const int SystemProfileProto_Hardware_InternalStorageDevice_Type_entries_by_number[] = {
    4,  // 0 -> TYPE_UNKNOWN
    0,  // 1 -> TYPE_EMMC
    1,  // 2 -> TYPE_NVME
    3,  // 3 -> TYPE_UFS
    2,  // 4 -> TYPE_SD_EXPRESS_INTERNAL
};

bool SystemProfileProto_Hardware_InternalStorageDevice_Type_Parse(::absl::string_view name,
                                  SystemProfileProto_Hardware_InternalStorageDevice_Type* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Hardware_InternalStorageDevice_Type_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Hardware_InternalStorageDevice_Type>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Hardware_InternalStorageDevice_Type_strings[5] = {};

const ::std::string& SystemProfileProto_Hardware_InternalStorageDevice_Type_Name(SystemProfileProto_Hardware_InternalStorageDevice_Type value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Hardware_InternalStorageDevice_Type_entries, SystemProfileProto_Hardware_InternalStorageDevice_Type_entries_by_number, 5,
      SystemProfileProto_Hardware_InternalStorageDevice_Type_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Hardware_InternalStorageDevice_Type_entries,
                                  SystemProfileProto_Hardware_InternalStorageDevice_Type_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Hardware_InternalStorageDevice_Type_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Hardware_InternalStorageDevice_Purpose_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_Hardware_InternalStorageDevice_Purpose_names[] = {
    "PURPOSE_BOOT"
    "PURPOSE_BOOT_SWAP"
    "PURPOSE_SWAP"
    "PURPOSE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries[] = {
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Purpose_names[0], 12}, 1},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Purpose_names[12], 17}, 3},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Purpose_names[29], 12}, 2},
    {{&SystemProfileProto_Hardware_InternalStorageDevice_Purpose_names[41], 15}, 0},
};

static const int SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries_by_number[] = {
    3,  // 0 -> PURPOSE_UNKNOWN
    0,  // 1 -> PURPOSE_BOOT
    2,  // 2 -> PURPOSE_SWAP
    1,  // 3 -> PURPOSE_BOOT_SWAP
};

bool SystemProfileProto_Hardware_InternalStorageDevice_Purpose_Parse(::absl::string_view name,
                                  SystemProfileProto_Hardware_InternalStorageDevice_Purpose* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Hardware_InternalStorageDevice_Purpose>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Hardware_InternalStorageDevice_Purpose_strings[4] = {};

const ::std::string& SystemProfileProto_Hardware_InternalStorageDevice_Purpose_Name(SystemProfileProto_Hardware_InternalStorageDevice_Purpose value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries, SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries_by_number, 4,
      SystemProfileProto_Hardware_InternalStorageDevice_Purpose_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries,
                                  SystemProfileProto_Hardware_InternalStorageDevice_Purpose_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Hardware_InternalStorageDevice_Purpose_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Hardware_FormFactor_internal_data_[] = {
    524288u, 0u, };
static const char SystemProfileProto_Hardware_FormFactor_names[] = {
    "FORM_FACTOR_AUTOMOTIVE"
    "FORM_FACTOR_DESKTOP"
    "FORM_FACTOR_FOLDABLE"
    "FORM_FACTOR_MEET_DEVICE"
    "FORM_FACTOR_PHONE"
    "FORM_FACTOR_TABLET"
    "FORM_FACTOR_TV"
    "FORM_FACTOR_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Hardware_FormFactor_entries[] = {
    {{&SystemProfileProto_Hardware_FormFactor_names[0], 22}, 6},
    {{&SystemProfileProto_Hardware_FormFactor_names[22], 19}, 1},
    {{&SystemProfileProto_Hardware_FormFactor_names[41], 20}, 7},
    {{&SystemProfileProto_Hardware_FormFactor_names[61], 23}, 5},
    {{&SystemProfileProto_Hardware_FormFactor_names[84], 17}, 2},
    {{&SystemProfileProto_Hardware_FormFactor_names[101], 18}, 3},
    {{&SystemProfileProto_Hardware_FormFactor_names[119], 14}, 4},
    {{&SystemProfileProto_Hardware_FormFactor_names[133], 19}, 0},
};

static const int SystemProfileProto_Hardware_FormFactor_entries_by_number[] = {
    7,  // 0 -> FORM_FACTOR_UNKNOWN
    1,  // 1 -> FORM_FACTOR_DESKTOP
    4,  // 2 -> FORM_FACTOR_PHONE
    5,  // 3 -> FORM_FACTOR_TABLET
    6,  // 4 -> FORM_FACTOR_TV
    3,  // 5 -> FORM_FACTOR_MEET_DEVICE
    0,  // 6 -> FORM_FACTOR_AUTOMOTIVE
    2,  // 7 -> FORM_FACTOR_FOLDABLE
};

bool SystemProfileProto_Hardware_FormFactor_Parse(::absl::string_view name,
                                  SystemProfileProto_Hardware_FormFactor* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Hardware_FormFactor_entries, 8, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Hardware_FormFactor>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Hardware_FormFactor_strings[8] = {};

const ::std::string& SystemProfileProto_Hardware_FormFactor_Name(SystemProfileProto_Hardware_FormFactor value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Hardware_FormFactor_entries, SystemProfileProto_Hardware_FormFactor_entries_by_number, 8,
      SystemProfileProto_Hardware_FormFactor_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Hardware_FormFactor_entries,
                                  SystemProfileProto_Hardware_FormFactor_entries_by_number,
                                  8, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Hardware_FormFactor_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Hardware_BiosType_internal_data_[] = {
    196608u, 0u, };
static const char SystemProfileProto_Hardware_BiosType_names[] = {
    "BIOS_TYPE_LEGACY"
    "BIOS_TYPE_UEFI"
    "BIOS_TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Hardware_BiosType_entries[] = {
    {{&SystemProfileProto_Hardware_BiosType_names[0], 16}, 1},
    {{&SystemProfileProto_Hardware_BiosType_names[16], 14}, 2},
    {{&SystemProfileProto_Hardware_BiosType_names[30], 17}, 0},
};

static const int SystemProfileProto_Hardware_BiosType_entries_by_number[] = {
    2,  // 0 -> BIOS_TYPE_UNKNOWN
    0,  // 1 -> BIOS_TYPE_LEGACY
    1,  // 2 -> BIOS_TYPE_UEFI
};

bool SystemProfileProto_Hardware_BiosType_Parse(::absl::string_view name,
                                  SystemProfileProto_Hardware_BiosType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Hardware_BiosType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Hardware_BiosType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Hardware_BiosType_strings[3] = {};

const ::std::string& SystemProfileProto_Hardware_BiosType_Name(SystemProfileProto_Hardware_BiosType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Hardware_BiosType_entries, SystemProfileProto_Hardware_BiosType_entries_by_number, 3,
      SystemProfileProto_Hardware_BiosType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Hardware_BiosType_entries,
                                  SystemProfileProto_Hardware_BiosType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Hardware_BiosType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Hardware_TpmType_internal_data_[] = {
    393216u, 0u, };
static const char SystemProfileProto_Hardware_TpmType_names[] = {
    "TPM_TYPE_1"
    "TPM_TYPE_CR50"
    "TPM_TYPE_GENERIC_2"
    "TPM_TYPE_RUNTIME_SELECTION"
    "TPM_TYPE_TI50"
    "TPM_TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Hardware_TpmType_entries[] = {
    {{&SystemProfileProto_Hardware_TpmType_names[0], 10}, 1},
    {{&SystemProfileProto_Hardware_TpmType_names[10], 13}, 2},
    {{&SystemProfileProto_Hardware_TpmType_names[23], 18}, 5},
    {{&SystemProfileProto_Hardware_TpmType_names[41], 26}, 4},
    {{&SystemProfileProto_Hardware_TpmType_names[67], 13}, 3},
    {{&SystemProfileProto_Hardware_TpmType_names[80], 16}, 0},
};

static const int SystemProfileProto_Hardware_TpmType_entries_by_number[] = {
    5,  // 0 -> TPM_TYPE_UNKNOWN
    0,  // 1 -> TPM_TYPE_1
    1,  // 2 -> TPM_TYPE_CR50
    4,  // 3 -> TPM_TYPE_TI50
    3,  // 4 -> TPM_TYPE_RUNTIME_SELECTION
    2,  // 5 -> TPM_TYPE_GENERIC_2
};

bool SystemProfileProto_Hardware_TpmType_Parse(::absl::string_view name,
                                  SystemProfileProto_Hardware_TpmType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Hardware_TpmType_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Hardware_TpmType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Hardware_TpmType_strings[6] = {};

const ::std::string& SystemProfileProto_Hardware_TpmType_Name(SystemProfileProto_Hardware_TpmType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Hardware_TpmType_entries, SystemProfileProto_Hardware_TpmType_entries_by_number, 6,
      SystemProfileProto_Hardware_TpmType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Hardware_TpmType_entries,
                                  SystemProfileProto_Hardware_TpmType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Hardware_TpmType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Network_ConnectionType_internal_data_[] = {
    655360u, 0u, };
static const char SystemProfileProto_Network_ConnectionType_names[] = {
    "CONNECTION_2G"
    "CONNECTION_3G"
    "CONNECTION_4G"
    "CONNECTION_5G"
    "CONNECTION_AMBIGUOUS"
    "CONNECTION_BLUETOOTH"
    "CONNECTION_ETHERNET"
    "CONNECTION_NONE"
    "CONNECTION_UNKNOWN"
    "CONNECTION_WIFI"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Network_ConnectionType_entries[] = {
    {{&SystemProfileProto_Network_ConnectionType_names[0], 13}, 3},
    {{&SystemProfileProto_Network_ConnectionType_names[13], 13}, 4},
    {{&SystemProfileProto_Network_ConnectionType_names[26], 13}, 5},
    {{&SystemProfileProto_Network_ConnectionType_names[39], 13}, 9},
    {{&SystemProfileProto_Network_ConnectionType_names[52], 20}, 8},
    {{&SystemProfileProto_Network_ConnectionType_names[72], 20}, 6},
    {{&SystemProfileProto_Network_ConnectionType_names[92], 19}, 1},
    {{&SystemProfileProto_Network_ConnectionType_names[111], 15}, 7},
    {{&SystemProfileProto_Network_ConnectionType_names[126], 18}, 0},
    {{&SystemProfileProto_Network_ConnectionType_names[144], 15}, 2},
};

static const int SystemProfileProto_Network_ConnectionType_entries_by_number[] = {
    8,  // 0 -> CONNECTION_UNKNOWN
    6,  // 1 -> CONNECTION_ETHERNET
    9,  // 2 -> CONNECTION_WIFI
    0,  // 3 -> CONNECTION_2G
    1,  // 4 -> CONNECTION_3G
    2,  // 5 -> CONNECTION_4G
    5,  // 6 -> CONNECTION_BLUETOOTH
    7,  // 7 -> CONNECTION_NONE
    4,  // 8 -> CONNECTION_AMBIGUOUS
    3,  // 9 -> CONNECTION_5G
};

bool SystemProfileProto_Network_ConnectionType_Parse(::absl::string_view name,
                                  SystemProfileProto_Network_ConnectionType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Network_ConnectionType_entries, 10, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Network_ConnectionType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Network_ConnectionType_strings[10] = {};

const ::std::string& SystemProfileProto_Network_ConnectionType_Name(SystemProfileProto_Network_ConnectionType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Network_ConnectionType_entries, SystemProfileProto_Network_ConnectionType_entries_by_number, 10,
      SystemProfileProto_Network_ConnectionType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Network_ConnectionType_entries,
                                  SystemProfileProto_Network_ConnectionType_entries_by_number,
                                  10, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Network_ConnectionType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Network_EffectiveConnectionType_internal_data_[] = {
    458752u, 0u, };
static const char SystemProfileProto_Network_EffectiveConnectionType_names[] = {
    "DEPRECATED_EFFECTIVE_CONNECTION_TYPE_AMBIGUOUS"
    "EFFECTIVE_CONNECTION_TYPE_2G"
    "EFFECTIVE_CONNECTION_TYPE_3G"
    "EFFECTIVE_CONNECTION_TYPE_4G"
    "EFFECTIVE_CONNECTION_TYPE_OFFLINE"
    "EFFECTIVE_CONNECTION_TYPE_SLOW_2G"
    "EFFECTIVE_CONNECTION_TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Network_EffectiveConnectionType_entries[] = {
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[0], 46}, 1},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[46], 28}, 4},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[74], 28}, 5},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[102], 28}, 6},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[130], 33}, 2},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[163], 33}, 3},
    {{&SystemProfileProto_Network_EffectiveConnectionType_names[196], 33}, 0},
};

static const int SystemProfileProto_Network_EffectiveConnectionType_entries_by_number[] = {
    6,  // 0 -> EFFECTIVE_CONNECTION_TYPE_UNKNOWN
    0,  // 1 -> DEPRECATED_EFFECTIVE_CONNECTION_TYPE_AMBIGUOUS
    4,  // 2 -> EFFECTIVE_CONNECTION_TYPE_OFFLINE
    5,  // 3 -> EFFECTIVE_CONNECTION_TYPE_SLOW_2G
    1,  // 4 -> EFFECTIVE_CONNECTION_TYPE_2G
    2,  // 5 -> EFFECTIVE_CONNECTION_TYPE_3G
    3,  // 6 -> EFFECTIVE_CONNECTION_TYPE_4G
};

bool SystemProfileProto_Network_EffectiveConnectionType_Parse(::absl::string_view name,
                                  SystemProfileProto_Network_EffectiveConnectionType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Network_EffectiveConnectionType_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Network_EffectiveConnectionType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Network_EffectiveConnectionType_strings[7] = {};

const ::std::string& SystemProfileProto_Network_EffectiveConnectionType_Name(SystemProfileProto_Network_EffectiveConnectionType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Network_EffectiveConnectionType_entries, SystemProfileProto_Network_EffectiveConnectionType_entries_by_number, 7,
      SystemProfileProto_Network_EffectiveConnectionType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Network_EffectiveConnectionType_entries,
                                  SystemProfileProto_Network_EffectiveConnectionType_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Network_EffectiveConnectionType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_internal_data_[] = {
    327680u, 0u, };
static const char SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[] = {
    "INSTALL_RESULT_EXIT_CODE"
    "INSTALL_RESULT_FAILED_CUSTOM_ERROR"
    "INSTALL_RESULT_FAILED_MSI_ERROR"
    "INSTALL_RESULT_FAILED_SYSTEM_ERROR"
    "INSTALL_RESULT_SUCCESS"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries[] = {
    {{&SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[0], 24}, 4},
    {{&SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[24], 34}, 1},
    {{&SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[58], 31}, 2},
    {{&SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[89], 34}, 3},
    {{&SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_names[123], 22}, 0},
};

static const int SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries_by_number[] = {
    4,  // 0 -> INSTALL_RESULT_SUCCESS
    1,  // 1 -> INSTALL_RESULT_FAILED_CUSTOM_ERROR
    2,  // 2 -> INSTALL_RESULT_FAILED_MSI_ERROR
    3,  // 3 -> INSTALL_RESULT_FAILED_SYSTEM_ERROR
    0,  // 4 -> INSTALL_RESULT_EXIT_CODE
};

bool SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_Parse(::absl::string_view name,
                                  SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_strings[5] = {};

const ::std::string& SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_Name(SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries, SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries_by_number, 5,
      SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries,
                                  SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_GoogleUpdate_ProductInfo_InstallResult_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_internal_data_[] = {
    983040u, 0u, };
static const char SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[] = {
    "AUDIO_FORMAT_AAC"
    "AUDIO_FORMAT_AC_3"
    "AUDIO_FORMAT_ATRAC"
    "AUDIO_FORMAT_DD_PLUS"
    "AUDIO_FORMAT_DST_AUDIO"
    "AUDIO_FORMAT_DTS"
    "AUDIO_FORMAT_DTS_HD"
    "AUDIO_FORMAT_LPCM"
    "AUDIO_FORMAT_MICROSOFT_WMA_PRO"
    "AUDIO_FORMAT_MLP_DOLBY_TRUEHD"
    "AUDIO_FORMAT_MP3"
    "AUDIO_FORMAT_MPEG1"
    "AUDIO_FORMAT_MPEG2"
    "AUDIO_FORMAT_ONE_BIT"
    "AUDIO_FORMAT_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries[] = {
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[0], 16}, 6},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[16], 17}, 2},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[33], 18}, 8},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[51], 20}, 10},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[71], 22}, 13},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[93], 16}, 7},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[109], 19}, 11},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[128], 17}, 1},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[145], 30}, 14},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[175], 29}, 12},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[204], 16}, 4},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[220], 18}, 3},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[238], 18}, 5},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[256], 20}, 9},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_names[276], 20}, 0},
};

static const int SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries_by_number[] = {
    14,  // 0 -> AUDIO_FORMAT_UNKNOWN
    7,  // 1 -> AUDIO_FORMAT_LPCM
    1,  // 2 -> AUDIO_FORMAT_AC_3
    11,  // 3 -> AUDIO_FORMAT_MPEG1
    10,  // 4 -> AUDIO_FORMAT_MP3
    12,  // 5 -> AUDIO_FORMAT_MPEG2
    0,  // 6 -> AUDIO_FORMAT_AAC
    5,  // 7 -> AUDIO_FORMAT_DTS
    2,  // 8 -> AUDIO_FORMAT_ATRAC
    13,  // 9 -> AUDIO_FORMAT_ONE_BIT
    3,  // 10 -> AUDIO_FORMAT_DD_PLUS
    6,  // 11 -> AUDIO_FORMAT_DTS_HD
    9,  // 12 -> AUDIO_FORMAT_MLP_DOLBY_TRUEHD
    4,  // 13 -> AUDIO_FORMAT_DST_AUDIO
    8,  // 14 -> AUDIO_FORMAT_MICROSOFT_WMA_PRO
};

bool SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_Parse(::absl::string_view name,
                                  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries, 15, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_strings[15] = {};

const ::std::string& SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_Name(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries, SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries_by_number, 15,
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries,
                                  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_entries_by_number,
                                  15, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_AudioFormat_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_internal_data_[] = {
    131072u, 0u, };
static const char SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_names[] = {
    "ANALOG"
    "DIGITAL"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries[] = {
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_names[0], 6}, 0},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_names[6], 7}, 1},
};

static const int SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries_by_number[] = {
    0,  // 0 -> ANALOG
    1,  // 1 -> DIGITAL
};

bool SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_Parse(::absl::string_view name,
                                  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_strings[2] = {};

const ::std::string& SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_Name(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries, SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries_by_number, 2,
      SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries,
                                  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_OutputMode_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_internal_data_[] = {
    393216u, 0u, };
static const char SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[] = {
    "AV_DEVICE_TYPE_AUDIO_SYSTEM"
    "AV_DEVICE_TYPE_PLAYER"
    "AV_DEVICE_TYPE_RECORDER"
    "AV_DEVICE_TYPE_TUNER"
    "AV_DEVICE_TYPE_TV"
    "AV_DEVICE_TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries[] = {
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[0], 27}, 5},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[27], 21}, 4},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[48], 23}, 2},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[71], 20}, 3},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[91], 17}, 1},
    {{&SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_names[108], 22}, 0},
};

static const int SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries_by_number[] = {
    5,  // 0 -> AV_DEVICE_TYPE_UNKNOWN
    4,  // 1 -> AV_DEVICE_TYPE_TV
    2,  // 2 -> AV_DEVICE_TYPE_RECORDER
    3,  // 3 -> AV_DEVICE_TYPE_TUNER
    1,  // 4 -> AV_DEVICE_TYPE_PLAYER
    0,  // 5 -> AV_DEVICE_TYPE_AUDIO_SYSTEM
};

bool SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_Parse(::absl::string_view name,
                                  SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_strings[6] = {};

const ::std::string& SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_Name(SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries, SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries_by_number, 6,
      SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries,
                                  SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ExternalAudioVideoDevice_AVDeviceType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_internal_data_[] = {
    327680u, 0u, };
static const char SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[] = {
    "COLOR_ENCODING_RGB"
    "COLOR_ENCODING_UNKNOWN"
    "COLOR_ENCODING_YUV420"
    "COLOR_ENCODING_YUV422"
    "COLOR_ENCODING_YUV444"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries[] = {
    {{&SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[0], 18}, 1},
    {{&SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[18], 22}, 0},
    {{&SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[40], 21}, 4},
    {{&SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[61], 21}, 3},
    {{&SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_names[82], 21}, 2},
};

static const int SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries_by_number[] = {
    1,  // 0 -> COLOR_ENCODING_UNKNOWN
    0,  // 1 -> COLOR_ENCODING_RGB
    4,  // 2 -> COLOR_ENCODING_YUV444
    3,  // 3 -> COLOR_ENCODING_YUV422
    2,  // 4 -> COLOR_ENCODING_YUV420
};

bool SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_Parse(::absl::string_view name,
                                  SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_strings[5] = {};

const ::std::string& SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_Name(SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries, SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries_by_number, 5,
      SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries,
                                  SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ExternalAudioVideoDevice_ColorEncoding_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_DemoModeDimensions_CustomizationFacet_internal_data_[] = {
    196608u, 0u, };
static const char SystemProfileProto_DemoModeDimensions_CustomizationFacet_names[] = {
    "CLOUD_GAMING_DEVICE"
    "FEATURE_AWARE_DEVICE"
    "UNDEFINED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries[] = {
    {{&SystemProfileProto_DemoModeDimensions_CustomizationFacet_names[0], 19}, 1},
    {{&SystemProfileProto_DemoModeDimensions_CustomizationFacet_names[19], 20}, 2},
    {{&SystemProfileProto_DemoModeDimensions_CustomizationFacet_names[39], 9}, 0},
};

static const int SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries_by_number[] = {
    2,  // 0 -> UNDEFINED
    0,  // 1 -> CLOUD_GAMING_DEVICE
    1,  // 2 -> FEATURE_AWARE_DEVICE
};

bool SystemProfileProto_DemoModeDimensions_CustomizationFacet_Parse(::absl::string_view name,
                                  SystemProfileProto_DemoModeDimensions_CustomizationFacet* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_DemoModeDimensions_CustomizationFacet>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_DemoModeDimensions_CustomizationFacet_strings[3] = {};

const ::std::string& SystemProfileProto_DemoModeDimensions_CustomizationFacet_Name(SystemProfileProto_DemoModeDimensions_CustomizationFacet value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries, SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries_by_number, 3,
      SystemProfileProto_DemoModeDimensions_CustomizationFacet_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries,
                                  SystemProfileProto_DemoModeDimensions_CustomizationFacet_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_DemoModeDimensions_CustomizationFacet_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_AccessibilityState_AXMode_internal_data_[] = {
    786432u, 0u, };
static const char SystemProfileProto_AccessibilityState_AXMode_names[] = {
    "ANNOTATE_MAIN_NODE"
    "EXTENDED_PROPERTIES"
    "FROM_PLATFORM"
    "HTML"
    "HTML_METADATA"
    "INLINE_TEXT_BOXES"
    "LABEL_IMAGES"
    "NATIVE_APIS"
    "PDF_OCR"
    "PDF_PRINTING"
    "SCREEN_READER"
    "WEB_CONTENTS"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_AccessibilityState_AXMode_entries[] = {
    {{&SystemProfileProto_AccessibilityState_AXMode_names[0], 18}, 9},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[18], 19}, 3},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[37], 13}, 10},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[50], 4}, 4},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[54], 13}, 5},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[67], 17}, 2},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[84], 12}, 6},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[96], 11}, 0},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[107], 7}, 8},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[114], 12}, 7},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[126], 13}, 11},
    {{&SystemProfileProto_AccessibilityState_AXMode_names[139], 12}, 1},
};

static const int SystemProfileProto_AccessibilityState_AXMode_entries_by_number[] = {
    7,  // 0 -> NATIVE_APIS
    11,  // 1 -> WEB_CONTENTS
    5,  // 2 -> INLINE_TEXT_BOXES
    1,  // 3 -> EXTENDED_PROPERTIES
    3,  // 4 -> HTML
    4,  // 5 -> HTML_METADATA
    6,  // 6 -> LABEL_IMAGES
    9,  // 7 -> PDF_PRINTING
    8,  // 8 -> PDF_OCR
    0,  // 9 -> ANNOTATE_MAIN_NODE
    2,  // 10 -> FROM_PLATFORM
    10,  // 11 -> SCREEN_READER
};

bool SystemProfileProto_AccessibilityState_AXMode_Parse(::absl::string_view name,
                                  SystemProfileProto_AccessibilityState_AXMode* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_AccessibilityState_AXMode_entries, 12, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_AccessibilityState_AXMode>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_AccessibilityState_AXMode_strings[12] = {};

const ::std::string& SystemProfileProto_AccessibilityState_AXMode_Name(SystemProfileProto_AccessibilityState_AXMode value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_AccessibilityState_AXMode_entries, SystemProfileProto_AccessibilityState_AXMode_entries_by_number, 12,
      SystemProfileProto_AccessibilityState_AXMode_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_AccessibilityState_AXMode_entries,
                                  SystemProfileProto_AccessibilityState_AXMode_entries_by_number,
                                  12, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_AccessibilityState_AXMode_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_EnterpriseManagement_PlatformStatus_internal_data_[] = {
    393216u, 0u, };
static const char SystemProfileProto_EnterpriseManagement_PlatformStatus_names[] = {
    "PLATFORM_CLOUD"
    "PLATFORM_CLOUD_DOMAIN"
    "PLATFORM_COMPUTER_LOCAL"
    "PLATFORM_DOMAIN_LOCAL"
    "PLATFORM_UNMANAGED"
    "PLATFORM_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_EnterpriseManagement_PlatformStatus_entries[] = {
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[0], 14}, 4},
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[14], 21}, 5},
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[35], 23}, 2},
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[58], 21}, 3},
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[79], 18}, 1},
    {{&SystemProfileProto_EnterpriseManagement_PlatformStatus_names[97], 20}, 0},
};

static const int SystemProfileProto_EnterpriseManagement_PlatformStatus_entries_by_number[] = {
    5,  // 0 -> PLATFORM_UNSPECIFIED
    4,  // 1 -> PLATFORM_UNMANAGED
    2,  // 2 -> PLATFORM_COMPUTER_LOCAL
    3,  // 3 -> PLATFORM_DOMAIN_LOCAL
    0,  // 4 -> PLATFORM_CLOUD
    1,  // 5 -> PLATFORM_CLOUD_DOMAIN
};

bool SystemProfileProto_EnterpriseManagement_PlatformStatus_Parse(::absl::string_view name,
                                  SystemProfileProto_EnterpriseManagement_PlatformStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_EnterpriseManagement_PlatformStatus_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_EnterpriseManagement_PlatformStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_EnterpriseManagement_PlatformStatus_strings[6] = {};

const ::std::string& SystemProfileProto_EnterpriseManagement_PlatformStatus_Name(SystemProfileProto_EnterpriseManagement_PlatformStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_EnterpriseManagement_PlatformStatus_entries, SystemProfileProto_EnterpriseManagement_PlatformStatus_entries_by_number, 6,
      SystemProfileProto_EnterpriseManagement_PlatformStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_EnterpriseManagement_PlatformStatus_entries,
                                  SystemProfileProto_EnterpriseManagement_PlatformStatus_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_EnterpriseManagement_PlatformStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_EnterpriseManagement_BrowserStatus_internal_data_[] = {
    458752u, 0u, };
static const char SystemProfileProto_EnterpriseManagement_BrowserStatus_names[] = {
    "BROWSER_CLOUD"
    "BROWSER_CLOUD_DOMAIN"
    "BROWSER_COMPUTER_LOCAL_GT3"
    "BROWSER_COMPUTER_LOCAL_LE3"
    "BROWSER_DOMAIN_LOCAL"
    "BROWSER_UNMANAGED"
    "BROWSER_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_EnterpriseManagement_BrowserStatus_entries[] = {
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[0], 13}, 5},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[13], 20}, 6},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[33], 26}, 3},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[59], 26}, 2},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[85], 20}, 4},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[105], 17}, 1},
    {{&SystemProfileProto_EnterpriseManagement_BrowserStatus_names[122], 19}, 0},
};

static const int SystemProfileProto_EnterpriseManagement_BrowserStatus_entries_by_number[] = {
    6,  // 0 -> BROWSER_UNSPECIFIED
    5,  // 1 -> BROWSER_UNMANAGED
    3,  // 2 -> BROWSER_COMPUTER_LOCAL_LE3
    2,  // 3 -> BROWSER_COMPUTER_LOCAL_GT3
    4,  // 4 -> BROWSER_DOMAIN_LOCAL
    0,  // 5 -> BROWSER_CLOUD
    1,  // 6 -> BROWSER_CLOUD_DOMAIN
};

bool SystemProfileProto_EnterpriseManagement_BrowserStatus_Parse(::absl::string_view name,
                                  SystemProfileProto_EnterpriseManagement_BrowserStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_EnterpriseManagement_BrowserStatus_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_EnterpriseManagement_BrowserStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_EnterpriseManagement_BrowserStatus_strings[7] = {};

const ::std::string& SystemProfileProto_EnterpriseManagement_BrowserStatus_Name(SystemProfileProto_EnterpriseManagement_BrowserStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_EnterpriseManagement_BrowserStatus_entries, SystemProfileProto_EnterpriseManagement_BrowserStatus_entries_by_number, 7,
      SystemProfileProto_EnterpriseManagement_BrowserStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_EnterpriseManagement_BrowserStatus_entries,
                                  SystemProfileProto_EnterpriseManagement_BrowserStatus_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_EnterpriseManagement_BrowserStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_Channel_internal_data_[] = {
    327680u, 0u, };
static const char SystemProfileProto_Channel_names[] = {
    "CHANNEL_BETA"
    "CHANNEL_CANARY"
    "CHANNEL_DEV"
    "CHANNEL_STABLE"
    "CHANNEL_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_Channel_entries[] = {
    {{&SystemProfileProto_Channel_names[0], 12}, 3},
    {{&SystemProfileProto_Channel_names[12], 14}, 1},
    {{&SystemProfileProto_Channel_names[26], 11}, 2},
    {{&SystemProfileProto_Channel_names[37], 14}, 4},
    {{&SystemProfileProto_Channel_names[51], 15}, 0},
};

static const int SystemProfileProto_Channel_entries_by_number[] = {
    4,  // 0 -> CHANNEL_UNKNOWN
    1,  // 1 -> CHANNEL_CANARY
    2,  // 2 -> CHANNEL_DEV
    0,  // 3 -> CHANNEL_BETA
    3,  // 4 -> CHANNEL_STABLE
};

bool SystemProfileProto_Channel_Parse(::absl::string_view name,
                                  SystemProfileProto_Channel* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_Channel_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_Channel>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_Channel_strings[5] = {};

const ::std::string& SystemProfileProto_Channel_Name(SystemProfileProto_Channel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_Channel_entries, SystemProfileProto_Channel_entries_by_number, 5,
      SystemProfileProto_Channel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_Channel_entries,
                                  SystemProfileProto_Channel_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_Channel_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ExtensionsState_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_ExtensionsState_names[] = {
    "HAS_OFFSTORE"
    "NO_EXTENSIONS"
    "NO_OFFSTORE_UNVERIFIED"
    "NO_OFFSTORE_VERIFIED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ExtensionsState_entries[] = {
    {{&SystemProfileProto_ExtensionsState_names[0], 12}, 3},
    {{&SystemProfileProto_ExtensionsState_names[12], 13}, 0},
    {{&SystemProfileProto_ExtensionsState_names[25], 22}, 2},
    {{&SystemProfileProto_ExtensionsState_names[47], 20}, 1},
};

static const int SystemProfileProto_ExtensionsState_entries_by_number[] = {
    1,  // 0 -> NO_EXTENSIONS
    3,  // 1 -> NO_OFFSTORE_VERIFIED
    2,  // 2 -> NO_OFFSTORE_UNVERIFIED
    0,  // 3 -> HAS_OFFSTORE
};

bool SystemProfileProto_ExtensionsState_Parse(::absl::string_view name,
                                  SystemProfileProto_ExtensionsState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ExtensionsState_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ExtensionsState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ExtensionsState_strings[4] = {};

const ::std::string& SystemProfileProto_ExtensionsState_Name(SystemProfileProto_ExtensionsState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ExtensionsState_entries, SystemProfileProto_ExtensionsState_entries_by_number, 4,
      SystemProfileProto_ExtensionsState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ExtensionsState_entries,
                                  SystemProfileProto_ExtensionsState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ExtensionsState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_UmaDefaultState_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_UmaDefaultState_names[] = {
    "OPT_IN"
    "OPT_OUT"
    "OPT_UNKNOWN"
    "POLICY_FORCED_ENABLED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_UmaDefaultState_entries[] = {
    {{&SystemProfileProto_UmaDefaultState_names[0], 6}, 0},
    {{&SystemProfileProto_UmaDefaultState_names[6], 7}, 1},
    {{&SystemProfileProto_UmaDefaultState_names[13], 11}, 3},
    {{&SystemProfileProto_UmaDefaultState_names[24], 21}, 2},
};

static const int SystemProfileProto_UmaDefaultState_entries_by_number[] = {
    0,  // 0 -> OPT_IN
    1,  // 1 -> OPT_OUT
    3,  // 2 -> POLICY_FORCED_ENABLED
    2,  // 3 -> OPT_UNKNOWN
};

bool SystemProfileProto_UmaDefaultState_Parse(::absl::string_view name,
                                  SystemProfileProto_UmaDefaultState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_UmaDefaultState_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_UmaDefaultState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_UmaDefaultState_strings[4] = {};

const ::std::string& SystemProfileProto_UmaDefaultState_Name(SystemProfileProto_UmaDefaultState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_UmaDefaultState_entries, SystemProfileProto_UmaDefaultState_entries_by_number, 4,
      SystemProfileProto_UmaDefaultState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_UmaDefaultState_entries,
                                  SystemProfileProto_UmaDefaultState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_UmaDefaultState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_AntiVirusState_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_AntiVirusState_names[] = {
    "STATE_EXPIRED"
    "STATE_OFF"
    "STATE_ON"
    "STATE_SNOOZED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_AntiVirusState_entries[] = {
    {{&SystemProfileProto_AntiVirusState_names[0], 13}, 3},
    {{&SystemProfileProto_AntiVirusState_names[13], 9}, 1},
    {{&SystemProfileProto_AntiVirusState_names[22], 8}, 0},
    {{&SystemProfileProto_AntiVirusState_names[30], 13}, 2},
};

static const int SystemProfileProto_AntiVirusState_entries_by_number[] = {
    2,  // 0 -> STATE_ON
    1,  // 1 -> STATE_OFF
    3,  // 2 -> STATE_SNOOZED
    0,  // 3 -> STATE_EXPIRED
};

bool SystemProfileProto_AntiVirusState_Parse(::absl::string_view name,
                                  SystemProfileProto_AntiVirusState* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_AntiVirusState_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_AntiVirusState>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_AntiVirusState_strings[4] = {};

const ::std::string& SystemProfileProto_AntiVirusState_Name(SystemProfileProto_AntiVirusState value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_AntiVirusState_entries, SystemProfileProto_AntiVirusState_entries_by_number, 4,
      SystemProfileProto_AntiVirusState_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_AntiVirusState_entries,
                                  SystemProfileProto_AntiVirusState_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_AntiVirusState_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ComponentId_internal_data_[] = {
    1835009u, 64u, 4294967294u, 255u, };
static const char SystemProfileProto_ComponentId_names[] = {
    "AMOUNT_EXTRACTION_HEURISTIC_REGEXES"
    "APP_PROVISIONING"
    "AUTOFILL_REGEX_CONSTANTS"
    "AUTOFILL_STATES"
    "CELLULAR"
    "CLIENT_SIDE_PHISHING"
    "COMMERCE_HEURISTICS"
    "CRL_SET"
    "CROS_SMART_DIM"
    "CROS_TERMINA"
    "CROWD_DENY"
    "CROW_DOMAIN_LIST"
    "DEMO_MODE_APP"
    "DEMO_MODE_RESOURCES"
    "DESKTOP_SCREENSHOT_EDITOR"
    "DESKTOP_SHARING_HUB"
    "DOWNLOADABLE_STRINGS"
    "EPSON_INKJET_PRINTER_ESCPR"
    "FILE_TYPE_POLICIES"
    "FINGERPRINTING_PROTECTION_FILTER_RULES"
    "FIRST_PARTY_SETS"
    "GROWTH_CAMPAIGNS"
    "HYPHENATION"
    "INTERVENTION_POLICY_DATABASE"
    "LACROS_DOGFOOD_BETA"
    "LACROS_DOGFOOD_CANARY"
    "LACROS_DOGFOOD_DEV"
    "LACROS_DOGFOOD_STABLE"
    "MASKED_DOMAIN_LIST"
    "MEDIA_FOUNDATION_WIDEVINE_CDM"
    "MEI_PRELOAD"
    "ON_DEVICE_HEAD_SUGGEST"
    "OPTIMIZATION_HINTS"
    "ORIGIN_TRIALS"
    "PEPPER_FLASH"
    "PEPPER_FLASH_CHROMEOS"
    "PKI_METADATA"
    "PNACL"
    "REAL_TIME_URL_CHECKS_ALLOWLIST"
    "RECOVERY"
    "RECOVERY_IMPROVED"
    "RTANALYTICS_FULL"
    "RTANALYTICS_LIGHT"
    "SAFETY_TIPS"
    "SCREEN_AI"
    "SMART_DIM"
    "SODA"
    "SODA_DE_DE"
    "SODA_EN_US"
    "SODA_ES_ES"
    "SODA_FR_FR"
    "SODA_IT_IT"
    "SODA_JA_JP"
    "SPEECH_SYNTHESIS_SV_SE"
    "SSL_ERROR_ASSISTANT"
    "STAR_CUPS_DRIVER"
    "STH_SET"
    "SUBRESOURCE_FILTER"
    "SW_REPORTER"
    "THIRD_PARTY_COOKIE_DEPRECATION_METADATA"
    "THIRD_PARTY_MODULE_LIST"
    "TRANSLATE_KIT"
    "TRUST_TOKEN_KEY_COMMITMENTS"
    "UNKNOWN"
    "VR_ASSETS"
    "WIDEVINE_CDM"
    "ZXCVBN_DATA"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ComponentId_entries[] = {
    {{&SystemProfileProto_ComponentId_names[0], 35}, 66},
    {{&SystemProfileProto_ComponentId_names[35], 16}, 32},
    {{&SystemProfileProto_ComponentId_names[51], 24}, 28},
    {{&SystemProfileProto_ComponentId_names[75], 15}, 33},
    {{&SystemProfileProto_ComponentId_names[90], 8}, 23},
    {{&SystemProfileProto_ComponentId_names[98], 20}, 34},
    {{&SystemProfileProto_ComponentId_names[118], 19}, 35},
    {{&SystemProfileProto_ComponentId_names[137], 7}, 10},
    {{&SystemProfileProto_ComponentId_names[144], 14}, 26},
    {{&SystemProfileProto_ComponentId_names[158], 12}, 15},
    {{&SystemProfileProto_ComponentId_names[170], 10}, 31},
    {{&SystemProfileProto_ComponentId_names[180], 16}, 36},
    {{&SystemProfileProto_ComponentId_names[196], 13}, 37},
    {{&SystemProfileProto_ComponentId_names[209], 19}, 24},
    {{&SystemProfileProto_ComponentId_names[228], 25}, 38},
    {{&SystemProfileProto_ComponentId_names[253], 19}, 39},
    {{&SystemProfileProto_ComponentId_names[272], 20}, 19},
    {{&SystemProfileProto_ComponentId_names[292], 26}, 14},
    {{&SystemProfileProto_ComponentId_names[318], 18}, 2},
    {{&SystemProfileProto_ComponentId_names[336], 38}, 67},
    {{&SystemProfileProto_ComponentId_names[374], 16}, 40},
    {{&SystemProfileProto_ComponentId_names[390], 16}, 64},
    {{&SystemProfileProto_ComponentId_names[406], 11}, 41},
    {{&SystemProfileProto_ComponentId_names[417], 28}, 42},
    {{&SystemProfileProto_ComponentId_names[445], 19}, 43},
    {{&SystemProfileProto_ComponentId_names[464], 21}, 44},
    {{&SystemProfileProto_ComponentId_names[485], 18}, 45},
    {{&SystemProfileProto_ComponentId_names[503], 21}, 46},
    {{&SystemProfileProto_ComponentId_names[524], 18}, 65},
    {{&SystemProfileProto_ComponentId_names[542], 29}, 30},
    {{&SystemProfileProto_ComponentId_names[571], 11}, 47},
    {{&SystemProfileProto_ComponentId_names[582], 22}, 25},
    {{&SystemProfileProto_ComponentId_names[604], 18}, 18},
    {{&SystemProfileProto_ComponentId_names[622], 13}, 3},
    {{&SystemProfileProto_ComponentId_names[635], 12}, 4},
    {{&SystemProfileProto_ComponentId_names[647], 21}, 5},
    {{&SystemProfileProto_ComponentId_names[668], 12}, 48},
    {{&SystemProfileProto_ComponentId_names[680], 5}, 6},
    {{&SystemProfileProto_ComponentId_names[685], 30}, 49},
    {{&SystemProfileProto_ComponentId_names[715], 8}, 7},
    {{&SystemProfileProto_ComponentId_names[723], 17}, 50},
    {{&SystemProfileProto_ComponentId_names[740], 16}, 22},
    {{&SystemProfileProto_ComponentId_names[756], 17}, 21},
    {{&SystemProfileProto_ComponentId_names[773], 11}, 51},
    {{&SystemProfileProto_ComponentId_names[784], 9}, 52},
    {{&SystemProfileProto_ComponentId_names[793], 9}, 53},
    {{&SystemProfileProto_ComponentId_names[802], 4}, 54},
    {{&SystemProfileProto_ComponentId_names[806], 10}, 55},
    {{&SystemProfileProto_ComponentId_names[816], 10}, 56},
    {{&SystemProfileProto_ComponentId_names[826], 10}, 57},
    {{&SystemProfileProto_ComponentId_names[836], 10}, 58},
    {{&SystemProfileProto_ComponentId_names[846], 10}, 59},
    {{&SystemProfileProto_ComponentId_names[856], 10}, 60},
    {{&SystemProfileProto_ComponentId_names[866], 22}, 17},
    {{&SystemProfileProto_ComponentId_names[888], 19}, 8},
    {{&SystemProfileProto_ComponentId_names[907], 16}, 16},
    {{&SystemProfileProto_ComponentId_names[923], 7}, 9},
    {{&SystemProfileProto_ComponentId_names[930], 18}, 11},
    {{&SystemProfileProto_ComponentId_names[948], 11}, 12},
    {{&SystemProfileProto_ComponentId_names[959], 39}, 63},
    {{&SystemProfileProto_ComponentId_names[998], 23}, 61},
    {{&SystemProfileProto_ComponentId_names[1021], 13}, 68},
    {{&SystemProfileProto_ComponentId_names[1034], 27}, 62},
    {{&SystemProfileProto_ComponentId_names[1061], 7}, 1},
    {{&SystemProfileProto_ComponentId_names[1068], 9}, 20},
    {{&SystemProfileProto_ComponentId_names[1077], 12}, 13},
    {{&SystemProfileProto_ComponentId_names[1089], 11}, 27},
};

static const int SystemProfileProto_ComponentId_entries_by_number[] = {
    63,  // 1 -> UNKNOWN
    18,  // 2 -> FILE_TYPE_POLICIES
    33,  // 3 -> ORIGIN_TRIALS
    34,  // 4 -> PEPPER_FLASH
    35,  // 5 -> PEPPER_FLASH_CHROMEOS
    37,  // 6 -> PNACL
    39,  // 7 -> RECOVERY
    54,  // 8 -> SSL_ERROR_ASSISTANT
    56,  // 9 -> STH_SET
    7,  // 10 -> CRL_SET
    57,  // 11 -> SUBRESOURCE_FILTER
    58,  // 12 -> SW_REPORTER
    65,  // 13 -> WIDEVINE_CDM
    17,  // 14 -> EPSON_INKJET_PRINTER_ESCPR
    9,  // 15 -> CROS_TERMINA
    55,  // 16 -> STAR_CUPS_DRIVER
    53,  // 17 -> SPEECH_SYNTHESIS_SV_SE
    32,  // 18 -> OPTIMIZATION_HINTS
    16,  // 19 -> DOWNLOADABLE_STRINGS
    64,  // 20 -> VR_ASSETS
    42,  // 21 -> RTANALYTICS_LIGHT
    41,  // 22 -> RTANALYTICS_FULL
    4,  // 23 -> CELLULAR
    13,  // 24 -> DEMO_MODE_RESOURCES
    31,  // 25 -> ON_DEVICE_HEAD_SUGGEST
    8,  // 26 -> CROS_SMART_DIM
    66,  // 27 -> ZXCVBN_DATA
    2,  // 28 -> AUTOFILL_REGEX_CONSTANTS
    29,  // 30 -> MEDIA_FOUNDATION_WIDEVINE_CDM
    10,  // 31 -> CROWD_DENY
    1,  // 32 -> APP_PROVISIONING
    3,  // 33 -> AUTOFILL_STATES
    5,  // 34 -> CLIENT_SIDE_PHISHING
    6,  // 35 -> COMMERCE_HEURISTICS
    11,  // 36 -> CROW_DOMAIN_LIST
    12,  // 37 -> DEMO_MODE_APP
    14,  // 38 -> DESKTOP_SCREENSHOT_EDITOR
    15,  // 39 -> DESKTOP_SHARING_HUB
    20,  // 40 -> FIRST_PARTY_SETS
    22,  // 41 -> HYPHENATION
    23,  // 42 -> INTERVENTION_POLICY_DATABASE
    24,  // 43 -> LACROS_DOGFOOD_BETA
    25,  // 44 -> LACROS_DOGFOOD_CANARY
    26,  // 45 -> LACROS_DOGFOOD_DEV
    27,  // 46 -> LACROS_DOGFOOD_STABLE
    30,  // 47 -> MEI_PRELOAD
    36,  // 48 -> PKI_METADATA
    38,  // 49 -> REAL_TIME_URL_CHECKS_ALLOWLIST
    40,  // 50 -> RECOVERY_IMPROVED
    43,  // 51 -> SAFETY_TIPS
    44,  // 52 -> SCREEN_AI
    45,  // 53 -> SMART_DIM
    46,  // 54 -> SODA
    47,  // 55 -> SODA_DE_DE
    48,  // 56 -> SODA_EN_US
    49,  // 57 -> SODA_ES_ES
    50,  // 58 -> SODA_FR_FR
    51,  // 59 -> SODA_IT_IT
    52,  // 60 -> SODA_JA_JP
    60,  // 61 -> THIRD_PARTY_MODULE_LIST
    62,  // 62 -> TRUST_TOKEN_KEY_COMMITMENTS
    59,  // 63 -> THIRD_PARTY_COOKIE_DEPRECATION_METADATA
    21,  // 64 -> GROWTH_CAMPAIGNS
    28,  // 65 -> MASKED_DOMAIN_LIST
    0,  // 66 -> AMOUNT_EXTRACTION_HEURISTIC_REGEXES
    19,  // 67 -> FINGERPRINTING_PROTECTION_FILTER_RULES
    61,  // 68 -> TRANSLATE_KIT
};

bool SystemProfileProto_ComponentId_Parse(::absl::string_view name,
                                  SystemProfileProto_ComponentId* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ComponentId_entries, 67, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ComponentId>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ComponentId_strings[67] = {};

const ::std::string& SystemProfileProto_ComponentId_Name(SystemProfileProto_ComponentId value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ComponentId_entries, SystemProfileProto_ComponentId_entries_by_number, 67,
      SystemProfileProto_ComponentId_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ComponentId_entries,
                                  SystemProfileProto_ComponentId_entries_by_number,
                                  67, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ComponentId_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_AppPackageNameAllowlistFilter_internal_data_[] = {
    131072u, 32u, 2u, };
static const char SystemProfileProto_AppPackageNameAllowlistFilter_names[] = {
    "NO_SERVER_SIDE_FILTER_REQUIRED_FOR_SYSTEM_APPS"
    "SERVER_SIDE_FILTER_REQUIRED"
    "SERVER_SIDE_FILTER_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_AppPackageNameAllowlistFilter_entries[] = {
    {{&SystemProfileProto_AppPackageNameAllowlistFilter_names[0], 46}, 3},
    {{&SystemProfileProto_AppPackageNameAllowlistFilter_names[46], 27}, 1},
    {{&SystemProfileProto_AppPackageNameAllowlistFilter_names[73], 30}, 0},
};

static const int SystemProfileProto_AppPackageNameAllowlistFilter_entries_by_number[] = {
    2,  // 0 -> SERVER_SIDE_FILTER_UNSPECIFIED
    1,  // 1 -> SERVER_SIDE_FILTER_REQUIRED
    0,  // 3 -> NO_SERVER_SIDE_FILTER_REQUIRED_FOR_SYSTEM_APPS
};

bool SystemProfileProto_AppPackageNameAllowlistFilter_Parse(::absl::string_view name,
                                  SystemProfileProto_AppPackageNameAllowlistFilter* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_AppPackageNameAllowlistFilter_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_AppPackageNameAllowlistFilter>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_AppPackageNameAllowlistFilter_strings[3] = {};

const ::std::string& SystemProfileProto_AppPackageNameAllowlistFilter_Name(SystemProfileProto_AppPackageNameAllowlistFilter value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_AppPackageNameAllowlistFilter_entries, SystemProfileProto_AppPackageNameAllowlistFilter_entries_by_number, 3,
      SystemProfileProto_AppPackageNameAllowlistFilter_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_AppPackageNameAllowlistFilter_entries,
                                  SystemProfileProto_AppPackageNameAllowlistFilter_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_AppPackageNameAllowlistFilter_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_ClientSideSamplingStatus_internal_data_[] = {
    196608u, 0u, };
static const char SystemProfileProto_ClientSideSamplingStatus_names[] = {
    "SAMPLING_APPLIED"
    "SAMPLING_NOT_APPLIED"
    "SAMPLING_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_ClientSideSamplingStatus_entries[] = {
    {{&SystemProfileProto_ClientSideSamplingStatus_names[0], 16}, 1},
    {{&SystemProfileProto_ClientSideSamplingStatus_names[16], 20}, 2},
    {{&SystemProfileProto_ClientSideSamplingStatus_names[36], 16}, 0},
};

static const int SystemProfileProto_ClientSideSamplingStatus_entries_by_number[] = {
    2,  // 0 -> SAMPLING_UNKNOWN
    0,  // 1 -> SAMPLING_APPLIED
    1,  // 2 -> SAMPLING_NOT_APPLIED
};

bool SystemProfileProto_ClientSideSamplingStatus_Parse(::absl::string_view name,
                                  SystemProfileProto_ClientSideSamplingStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_ClientSideSamplingStatus_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_ClientSideSamplingStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_ClientSideSamplingStatus_strings[3] = {};

const ::std::string& SystemProfileProto_ClientSideSamplingStatus_Name(SystemProfileProto_ClientSideSamplingStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_ClientSideSamplingStatus_entries, SystemProfileProto_ClientSideSamplingStatus_entries_by_number, 3,
      SystemProfileProto_ClientSideSamplingStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_ClientSideSamplingStatus_entries,
                                  SystemProfileProto_ClientSideSamplingStatus_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_ClientSideSamplingStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_MetricsFilteringStatus_internal_data_[] = {
    196608u, 0u, };
static const char SystemProfileProto_MetricsFilteringStatus_names[] = {
    "METRICS_ALL"
    "METRICS_ONLY_CRITICAL"
    "METRICS_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_MetricsFilteringStatus_entries[] = {
    {{&SystemProfileProto_MetricsFilteringStatus_names[0], 11}, 1},
    {{&SystemProfileProto_MetricsFilteringStatus_names[11], 21}, 2},
    {{&SystemProfileProto_MetricsFilteringStatus_names[32], 15}, 0},
};

static const int SystemProfileProto_MetricsFilteringStatus_entries_by_number[] = {
    2,  // 0 -> METRICS_UNKNOWN
    0,  // 1 -> METRICS_ALL
    1,  // 2 -> METRICS_ONLY_CRITICAL
};

bool SystemProfileProto_MetricsFilteringStatus_Parse(::absl::string_view name,
                                  SystemProfileProto_MetricsFilteringStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_MetricsFilteringStatus_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_MetricsFilteringStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_MetricsFilteringStatus_strings[3] = {};

const ::std::string& SystemProfileProto_MetricsFilteringStatus_Name(SystemProfileProto_MetricsFilteringStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_MetricsFilteringStatus_entries, SystemProfileProto_MetricsFilteringStatus_entries_by_number, 3,
      SystemProfileProto_MetricsFilteringStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_MetricsFilteringStatus_entries,
                                  SystemProfileProto_MetricsFilteringStatus_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_MetricsFilteringStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_InstallerPackage_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_InstallerPackage_names[] = {
    "INSTALLER_PACKAGE_GOOGLE_PLAY_STORE"
    "INSTALLER_PACKAGE_NONE"
    "INSTALLER_PACKAGE_OTHER"
    "INSTALLER_PACKAGE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_InstallerPackage_entries[] = {
    {{&SystemProfileProto_InstallerPackage_names[0], 35}, 2},
    {{&SystemProfileProto_InstallerPackage_names[35], 22}, 1},
    {{&SystemProfileProto_InstallerPackage_names[57], 23}, 3},
    {{&SystemProfileProto_InstallerPackage_names[80], 25}, 0},
};

static const int SystemProfileProto_InstallerPackage_entries_by_number[] = {
    3,  // 0 -> INSTALLER_PACKAGE_UNKNOWN
    1,  // 1 -> INSTALLER_PACKAGE_NONE
    0,  // 2 -> INSTALLER_PACKAGE_GOOGLE_PLAY_STORE
    2,  // 3 -> INSTALLER_PACKAGE_OTHER
};

bool SystemProfileProto_InstallerPackage_Parse(::absl::string_view name,
                                  SystemProfileProto_InstallerPackage* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_InstallerPackage_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_InstallerPackage>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_InstallerPackage_strings[4] = {};

const ::std::string& SystemProfileProto_InstallerPackage_Name(SystemProfileProto_InstallerPackage value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_InstallerPackage_entries, SystemProfileProto_InstallerPackage_entries_by_number, 4,
      SystemProfileProto_InstallerPackage_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_InstallerPackage_entries,
                                  SystemProfileProto_InstallerPackage_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_InstallerPackage_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SystemProfileProto_LTSChannel_internal_data_[] = {
    262144u, 0u, };
static const char SystemProfileProto_LTSChannel_names[] = {
    "LTS_CHANNEL_LTC"
    "LTS_CHANNEL_LTS"
    "LTS_CHANNEL_STABLE"
    "LTS_CHANNEL_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SystemProfileProto_LTSChannel_entries[] = {
    {{&SystemProfileProto_LTSChannel_names[0], 15}, 2},
    {{&SystemProfileProto_LTSChannel_names[15], 15}, 3},
    {{&SystemProfileProto_LTSChannel_names[30], 18}, 1},
    {{&SystemProfileProto_LTSChannel_names[48], 19}, 0},
};

static const int SystemProfileProto_LTSChannel_entries_by_number[] = {
    3,  // 0 -> LTS_CHANNEL_UNKNOWN
    2,  // 1 -> LTS_CHANNEL_STABLE
    0,  // 2 -> LTS_CHANNEL_LTC
    1,  // 3 -> LTS_CHANNEL_LTS
};

bool SystemProfileProto_LTSChannel_Parse(::absl::string_view name,
                                  SystemProfileProto_LTSChannel* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SystemProfileProto_LTSChannel_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<SystemProfileProto_LTSChannel>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SystemProfileProto_LTSChannel_strings[4] = {};

const ::std::string& SystemProfileProto_LTSChannel_Name(SystemProfileProto_LTSChannel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SystemProfileProto_LTSChannel_entries, SystemProfileProto_LTSChannel_entries_by_number, 4,
      SystemProfileProto_LTSChannel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SystemProfileProto_LTSChannel_entries,
                                  SystemProfileProto_LTSChannel_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SystemProfileProto_LTSChannel_strings[idx].get();
}
// ===================================================================

SystemProfileProto_ClonedInstallInfo::SystemProfileProto_ClonedInstallInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ClonedInstallInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ClonedInstallInfo)
}
SystemProfileProto_ClonedInstallInfo::SystemProfileProto_ClonedInstallInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_ClonedInstallInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ClonedInstallInfo_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ClonedInstallInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_ClonedInstallInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, last_timestamp_),
           0,
           offsetof(Impl_, count_) -
               offsetof(Impl_, last_timestamp_) +
               sizeof(Impl_::count_));
}
SystemProfileProto_ClonedInstallInfo::~SystemProfileProto_ClonedInstallInfo() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ClonedInstallInfo)
  SharedDtor(*this);
}
inline void SystemProfileProto_ClonedInstallInfo::SharedDtor(MessageLite& self) {
  SystemProfileProto_ClonedInstallInfo& this_ = static_cast<SystemProfileProto_ClonedInstallInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ClonedInstallInfo_class_data_ =
    SystemProfileProto_ClonedInstallInfo::InternalGenerateClassData_(SystemProfileProto_ClonedInstallInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ClonedInstallInfo::GetClassData() const {
  return SystemProfileProto_ClonedInstallInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ClonedInstallInfo::GetClassData() const {
  return SystemProfileProto_ClonedInstallInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ClonedInstallInfo::ParseTableT_
    SystemProfileProto_ClonedInstallInfo::_table_ =
        SystemProfileProto_ClonedInstallInfo::InternalGenerateParseTable_(SystemProfileProto_ClonedInstallInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ClonedInstallInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ClonedInstallInfo)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    ::memset(&_impl_.last_timestamp_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.count_) -
        reinterpret_cast<char*>(&_impl_.last_timestamp_)) + sizeof(_impl_.count_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ClonedInstallInfo::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ClonedInstallInfo& this_ = static_cast<const SystemProfileProto_ClonedInstallInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ClonedInstallInfo::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ClonedInstallInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ClonedInstallInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 last_timestamp = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_last_timestamp(), target);
  }

  // fixed64 cloned_from_client_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
        2, this_._internal_cloned_from_client_id(), target);
  }

  // int64 first_timestamp = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_first_timestamp(), target);
  }

  // int32 count = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_count(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ClonedInstallInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ClonedInstallInfo::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ClonedInstallInfo& this_ = static_cast<const SystemProfileProto_ClonedInstallInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ClonedInstallInfo::ByteSizeLong() const {
  const SystemProfileProto_ClonedInstallInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ClonedInstallInfo)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000dU)) {
    // int64 last_timestamp = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_timestamp());
    }
    // int64 first_timestamp = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_first_timestamp());
    }
    // int32 count = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_count());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ClonedInstallInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ClonedInstallInfo*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ClonedInstallInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ClonedInstallInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.last_timestamp_ = from._impl_.last_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.cloned_from_client_id_ = from._impl_.cloned_from_client_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.first_timestamp_ = from._impl_.first_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.count_ = from._impl_.count_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ClonedInstallInfo::CopyFrom(const SystemProfileProto_ClonedInstallInfo& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ClonedInstallInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ClonedInstallInfo::InternalSwap(SystemProfileProto_ClonedInstallInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.count_)
      + sizeof(SystemProfileProto_ClonedInstallInfo::_impl_.count_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_ClonedInstallInfo, _impl_.last_timestamp_)>(
          reinterpret_cast<char*>(&_impl_.last_timestamp_),
          reinterpret_cast<char*>(&other->_impl_.last_timestamp_));
}

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

SystemProfileProto_OS_Arc::SystemProfileProto_OS_Arc(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_OS_Arc_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.OS.Arc)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_OS_Arc::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_OS_Arc& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        release_(arena, from.release_) {}

SystemProfileProto_OS_Arc::SystemProfileProto_OS_Arc(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_OS_Arc& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_OS_Arc_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_OS_Arc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.OS.Arc)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_OS_Arc::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        release_(arena) {}

inline void SystemProfileProto_OS_Arc::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SystemProfileProto_OS_Arc::~SystemProfileProto_OS_Arc() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.OS.Arc)
  SharedDtor(*this);
}
inline void SystemProfileProto_OS_Arc::SharedDtor(MessageLite& self) {
  SystemProfileProto_OS_Arc& this_ = static_cast<SystemProfileProto_OS_Arc&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.release_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_OS_Arc_class_data_ =
    SystemProfileProto_OS_Arc::InternalGenerateClassData_(SystemProfileProto_OS_Arc_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_OS_Arc::GetClassData() const {
  return SystemProfileProto_OS_Arc_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_OS_Arc::GetClassData() const {
  return SystemProfileProto_OS_Arc_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_OS_Arc::ParseTableT_
    SystemProfileProto_OS_Arc::_table_ =
        SystemProfileProto_OS_Arc::InternalGenerateParseTable_(SystemProfileProto_OS_Arc_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_OS_Arc::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.OS.Arc)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.release_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_OS_Arc::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_OS_Arc& this_ = static_cast<const SystemProfileProto_OS_Arc&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_OS_Arc::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_OS_Arc& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.OS.Arc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string release = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_release();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.OS.Arc)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_OS_Arc::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_OS_Arc& this_ = static_cast<const SystemProfileProto_OS_Arc&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_OS_Arc::ByteSizeLong() const {
  const SystemProfileProto_OS_Arc& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.OS.Arc)
  ::size_t total_size = 0;

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

   {
    // string release = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_release());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_OS_Arc::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_OS_Arc*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_OS_Arc&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.OS.Arc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_release(from._internal_release());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_OS_Arc::CopyFrom(const SystemProfileProto_OS_Arc& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.OS.Arc)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_OS_Arc::InternalSwap(SystemProfileProto_OS_Arc* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.release_, &other->_impl_.release_, arena);
}

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

SystemProfileProto_OS::SystemProfileProto_OS(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_OS_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.OS)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_OS::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_OS& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        version_(arena, from.version_),
        build_fingerprint_(arena, from.build_fingerprint_),
        build_number_(arena, from.build_number_),
        kernel_version_(arena, from.kernel_version_) {}

SystemProfileProto_OS::SystemProfileProto_OS(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_OS& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_OS_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_OS* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arc_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.arc_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, dark_mode_state_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, dark_mode_state_),
           offsetof(Impl_, xdg_current_desktop_) -
               offsetof(Impl_, dark_mode_state_) +
               sizeof(Impl_::xdg_current_desktop_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.OS)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_OS::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        name_(arena),
        version_(arena),
        build_fingerprint_(arena),
        build_number_(arena),
        kernel_version_(arena) {}

inline void SystemProfileProto_OS::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, arc_),
           0,
           offsetof(Impl_, xdg_current_desktop_) -
               offsetof(Impl_, arc_) +
               sizeof(Impl_::xdg_current_desktop_));
}
SystemProfileProto_OS::~SystemProfileProto_OS() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.OS)
  SharedDtor(*this);
}
inline void SystemProfileProto_OS::SharedDtor(MessageLite& self) {
  SystemProfileProto_OS& this_ = static_cast<SystemProfileProto_OS&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.version_.Destroy();
  this_._impl_.build_fingerprint_.Destroy();
  this_._impl_.build_number_.Destroy();
  this_._impl_.kernel_version_.Destroy();
  delete this_._impl_.arc_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_OS_class_data_ =
    SystemProfileProto_OS::InternalGenerateClassData_(SystemProfileProto_OS_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_OS::GetClassData() const {
  return SystemProfileProto_OS_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_OS::GetClassData() const {
  return SystemProfileProto_OS_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_OS::ParseTableT_
    SystemProfileProto_OS::_table_ =
        SystemProfileProto_OS::InternalGenerateParseTable_(SystemProfileProto_OS_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_OS::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.OS)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.build_fingerprint_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.build_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.kernel_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.arc_ != nullptr);
      _impl_.arc_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.dark_mode_state_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.xdg_session_type_) -
        reinterpret_cast<char*>(&_impl_.dark_mode_state_)) + sizeof(_impl_.xdg_session_type_));
  }
  _impl_.xdg_current_desktop_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_OS::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_OS& this_ = static_cast<const SystemProfileProto_OS&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_OS::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_OS& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.OS)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_version();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string build_fingerprint = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_build_fingerprint();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string build_number = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_build_number();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string kernel_version = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_kernel_version();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // .metrics.SystemProfileProto.OS.Arc arc = 7;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.arc_, this_._impl_.arc_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.OS.DarkModeState dark_mode_state = 8 [default = UNKNOWN];
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_dark_mode_state(), target);
  }

  // .metrics.SystemProfileProto.OS.XdgSessionType xdg_session_type = 9;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this_._internal_xdg_session_type(), target);
  }

  // .metrics.SystemProfileProto.OS.XdgCurrentDesktop xdg_current_desktop = 10;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this_._internal_xdg_current_desktop(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.OS)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_OS::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_OS& this_ = static_cast<const SystemProfileProto_OS&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_OS::ByteSizeLong() const {
  const SystemProfileProto_OS& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.OS)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // string version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_version());
    }
    // string build_fingerprint = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_build_fingerprint());
    }
    // string build_number = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_build_number());
    }
    // string kernel_version = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_kernel_version());
    }
    // .metrics.SystemProfileProto.OS.Arc arc = 7;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.arc_);
    }
    // .metrics.SystemProfileProto.OS.DarkModeState dark_mode_state = 8 [default = UNKNOWN];
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_dark_mode_state());
    }
    // .metrics.SystemProfileProto.OS.XdgSessionType xdg_session_type = 9;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_xdg_session_type());
    }
  }
   {
    // .metrics.SystemProfileProto.OS.XdgCurrentDesktop xdg_current_desktop = 10;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_xdg_current_desktop());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_OS::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_OS*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_OS&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.OS)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_version(from._internal_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_build_fingerprint(from._internal_build_fingerprint());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_build_number(from._internal_build_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_kernel_version(from._internal_kernel_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.arc_ != nullptr);
      if (_this->_impl_.arc_ == nullptr) {
        _this->_impl_.arc_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.arc_);
      } else {
        _this->_impl_.arc_->MergeFrom(*from._impl_.arc_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.dark_mode_state_ = from._impl_.dark_mode_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.xdg_session_type_ = from._impl_.xdg_session_type_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.xdg_current_desktop_ = from._impl_.xdg_current_desktop_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_OS::CopyFrom(const SystemProfileProto_OS& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.OS)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_OS::InternalSwap(SystemProfileProto_OS* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.build_fingerprint_, &other->_impl_.build_fingerprint_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.build_number_, &other->_impl_.build_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.kernel_version_, &other->_impl_.kernel_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.xdg_current_desktop_)
      + sizeof(SystemProfileProto_OS::_impl_.xdg_current_desktop_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_OS, _impl_.arc_)>(
          reinterpret_cast<char*>(&_impl_.arc_),
          reinterpret_cast<char*>(&other->_impl_.arc_));
}

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

SystemProfileProto_Hardware_CPU::SystemProfileProto_Hardware_CPU(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_CPU_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware.CPU)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_CPU::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_Hardware_CPU& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        vendor_name_(arena, from.vendor_name_) {}

SystemProfileProto_Hardware_CPU::SystemProfileProto_Hardware_CPU(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_Hardware_CPU& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_CPU_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_Hardware_CPU* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, signature_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, signature_),
           offsetof(Impl_, num_efficient_cores_) -
               offsetof(Impl_, signature_) +
               sizeof(Impl_::num_efficient_cores_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.Hardware.CPU)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_CPU::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        vendor_name_(arena) {}

inline void SystemProfileProto_Hardware_CPU::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, signature_),
           0,
           offsetof(Impl_, num_efficient_cores_) -
               offsetof(Impl_, signature_) +
               sizeof(Impl_::num_efficient_cores_));
}
SystemProfileProto_Hardware_CPU::~SystemProfileProto_Hardware_CPU() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware.CPU)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware_CPU::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware_CPU& this_ = static_cast<SystemProfileProto_Hardware_CPU&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.vendor_name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_CPU_class_data_ =
    SystemProfileProto_Hardware_CPU::InternalGenerateClassData_(SystemProfileProto_Hardware_CPU_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_CPU::GetClassData() const {
  return SystemProfileProto_Hardware_CPU_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_CPU::GetClassData() const {
  return SystemProfileProto_Hardware_CPU_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware_CPU::ParseTableT_
    SystemProfileProto_Hardware_CPU::_table_ =
        SystemProfileProto_Hardware_CPU::InternalGenerateParseTable_(SystemProfileProto_Hardware_CPU_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware_CPU::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware.CPU)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.vendor_name_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.signature_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.num_efficient_cores_) -
        reinterpret_cast<char*>(&_impl_.signature_)) + sizeof(_impl_.num_efficient_cores_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_CPU::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware_CPU& this_ = static_cast<const SystemProfileProto_Hardware_CPU&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_CPU::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware_CPU& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware.CPU)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string vendor_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_vendor_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // uint32 signature = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_signature(), target);
  }

  // uint32 num_cores = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_num_cores(), target);
  }

  // bool is_hypervisor = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_hypervisor(), target);
  }

  // uint32 num_efficient_cores = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_num_efficient_cores(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware.CPU)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware_CPU::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware_CPU& this_ = static_cast<const SystemProfileProto_Hardware_CPU&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware_CPU::ByteSizeLong() const {
  const SystemProfileProto_Hardware_CPU& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware.CPU)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000008U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000017U)) {
    // string vendor_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_vendor_name());
    }
    // uint32 signature = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_signature());
    }
    // uint32 num_cores = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_cores());
    }
    // uint32 num_efficient_cores = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_efficient_cores());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware_CPU::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware_CPU*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware_CPU&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware.CPU)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_vendor_name(from._internal_vendor_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.signature_ = from._impl_.signature_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.num_cores_ = from._impl_.num_cores_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.is_hypervisor_ = from._impl_.is_hypervisor_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.num_efficient_cores_ = from._impl_.num_efficient_cores_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware_CPU::CopyFrom(const SystemProfileProto_Hardware_CPU& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware.CPU)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware_CPU::InternalSwap(SystemProfileProto_Hardware_CPU* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.vendor_name_, &other->_impl_.vendor_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.num_efficient_cores_)
      + sizeof(SystemProfileProto_Hardware_CPU::_impl_.num_efficient_cores_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_CPU, _impl_.signature_)>(
          reinterpret_cast<char*>(&_impl_.signature_),
          reinterpret_cast<char*>(&other->_impl_.signature_));
}

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

SystemProfileProto_Hardware_Motherboard::SystemProfileProto_Hardware_Motherboard(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Motherboard_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware.Motherboard)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_Motherboard::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_Hardware_Motherboard& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        manufacturer_(arena, from.manufacturer_),
        model_(arena, from.model_),
        bios_manufacturer_(arena, from.bios_manufacturer_),
        bios_version_(arena, from.bios_version_) {}

SystemProfileProto_Hardware_Motherboard::SystemProfileProto_Hardware_Motherboard(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_Hardware_Motherboard& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Motherboard_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_Hardware_Motherboard* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.bios_type_ = from._impl_.bios_type_;

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.Hardware.Motherboard)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_Motherboard::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        manufacturer_(arena),
        model_(arena),
        bios_manufacturer_(arena),
        bios_version_(arena) {}

inline void SystemProfileProto_Hardware_Motherboard::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.bios_type_ = {};
}
SystemProfileProto_Hardware_Motherboard::~SystemProfileProto_Hardware_Motherboard() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware.Motherboard)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware_Motherboard::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware_Motherboard& this_ = static_cast<SystemProfileProto_Hardware_Motherboard&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.manufacturer_.Destroy();
  this_._impl_.model_.Destroy();
  this_._impl_.bios_manufacturer_.Destroy();
  this_._impl_.bios_version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_Motherboard_class_data_ =
    SystemProfileProto_Hardware_Motherboard::InternalGenerateClassData_(SystemProfileProto_Hardware_Motherboard_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Motherboard::GetClassData() const {
  return SystemProfileProto_Hardware_Motherboard_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Motherboard::GetClassData() const {
  return SystemProfileProto_Hardware_Motherboard_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware_Motherboard::ParseTableT_
    SystemProfileProto_Hardware_Motherboard::_table_ =
        SystemProfileProto_Hardware_Motherboard::InternalGenerateParseTable_(SystemProfileProto_Hardware_Motherboard_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware_Motherboard::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware.Motherboard)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.manufacturer_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.model_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.bios_manufacturer_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.bios_version_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.bios_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Motherboard::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware_Motherboard& this_ = static_cast<const SystemProfileProto_Hardware_Motherboard&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Motherboard::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware_Motherboard& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware.Motherboard)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string manufacturer = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_manufacturer();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string model = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_model();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string bios_manufacturer = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_bios_manufacturer();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string bios_version = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_bios_version();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // .metrics.SystemProfileProto.Hardware.BiosType bios_type = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_bios_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware.Motherboard)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware_Motherboard::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware_Motherboard& this_ = static_cast<const SystemProfileProto_Hardware_Motherboard&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware_Motherboard::ByteSizeLong() const {
  const SystemProfileProto_Hardware_Motherboard& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware.Motherboard)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // string manufacturer = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer());
    }
    // string model = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model());
    }
    // string bios_manufacturer = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_bios_manufacturer());
    }
    // string bios_version = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_bios_version());
    }
    // .metrics.SystemProfileProto.Hardware.BiosType bios_type = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_bios_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware_Motherboard::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware_Motherboard*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware_Motherboard&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware.Motherboard)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_manufacturer(from._internal_manufacturer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_model(from._internal_model());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_bios_manufacturer(from._internal_bios_manufacturer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_bios_version(from._internal_bios_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.bios_type_ = from._impl_.bios_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware_Motherboard::CopyFrom(const SystemProfileProto_Hardware_Motherboard& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware.Motherboard)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware_Motherboard::InternalSwap(SystemProfileProto_Hardware_Motherboard* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_, &other->_impl_.manufacturer_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_, &other->_impl_.model_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bios_manufacturer_, &other->_impl_.bios_manufacturer_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bios_version_, &other->_impl_.bios_version_, arena);
  swap(_impl_.bios_type_, other->_impl_.bios_type_);
}

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

SystemProfileProto_Hardware_Graphics::SystemProfileProto_Hardware_Graphics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Graphics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware.Graphics)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_Hardware_Graphics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        driver_version_(arena, from.driver_version_),
        gl_vendor_(arena, from.gl_vendor_),
        gl_renderer_(arena, from.gl_renderer_) {}

SystemProfileProto_Hardware_Graphics::SystemProfileProto_Hardware_Graphics(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_Hardware_Graphics& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Graphics_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_Hardware_Graphics* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, vendor_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, vendor_id_),
           offsetof(Impl_, device_id_) -
               offsetof(Impl_, vendor_id_) +
               sizeof(Impl_::device_id_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.Hardware.Graphics)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        driver_version_(arena),
        gl_vendor_(arena),
        gl_renderer_(arena) {}

inline void SystemProfileProto_Hardware_Graphics::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, vendor_id_),
           0,
           offsetof(Impl_, device_id_) -
               offsetof(Impl_, vendor_id_) +
               sizeof(Impl_::device_id_));
}
SystemProfileProto_Hardware_Graphics::~SystemProfileProto_Hardware_Graphics() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware.Graphics)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware_Graphics::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware_Graphics& this_ = static_cast<SystemProfileProto_Hardware_Graphics&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.driver_version_.Destroy();
  this_._impl_.gl_vendor_.Destroy();
  this_._impl_.gl_renderer_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_Graphics_class_data_ =
    SystemProfileProto_Hardware_Graphics::InternalGenerateClassData_(SystemProfileProto_Hardware_Graphics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Graphics::GetClassData() const {
  return SystemProfileProto_Hardware_Graphics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Graphics::GetClassData() const {
  return SystemProfileProto_Hardware_Graphics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware_Graphics::ParseTableT_
    SystemProfileProto_Hardware_Graphics::_table_ =
        SystemProfileProto_Hardware_Graphics::InternalGenerateParseTable_(SystemProfileProto_Hardware_Graphics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware_Graphics::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware.Graphics)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.driver_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.gl_vendor_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.gl_renderer_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.vendor_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.device_id_) -
        reinterpret_cast<char*>(&_impl_.vendor_id_)) + sizeof(_impl_.device_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Graphics::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware_Graphics& this_ = static_cast<const SystemProfileProto_Hardware_Graphics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Graphics::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware_Graphics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware.Graphics)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 vendor_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_vendor_id(), target);
  }

  // uint32 device_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_device_id(), target);
  }

  // string driver_version = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_driver_version();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string gl_vendor = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_gl_vendor();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string gl_renderer = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_gl_renderer();
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware.Graphics)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware_Graphics::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware_Graphics& this_ = static_cast<const SystemProfileProto_Hardware_Graphics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware_Graphics::ByteSizeLong() const {
  const SystemProfileProto_Hardware_Graphics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware.Graphics)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // string driver_version = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_driver_version());
    }
    // string gl_vendor = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_gl_vendor());
    }
    // string gl_renderer = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_gl_renderer());
    }
    // uint32 vendor_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_vendor_id());
    }
    // uint32 device_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_device_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware_Graphics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware_Graphics*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware_Graphics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware.Graphics)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_driver_version(from._internal_driver_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_gl_vendor(from._internal_gl_vendor());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_gl_renderer(from._internal_gl_renderer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.vendor_id_ = from._impl_.vendor_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.device_id_ = from._impl_.device_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware_Graphics::CopyFrom(const SystemProfileProto_Hardware_Graphics& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware.Graphics)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware_Graphics::InternalSwap(SystemProfileProto_Hardware_Graphics* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.driver_version_, &other->_impl_.driver_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.gl_vendor_, &other->_impl_.gl_vendor_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.gl_renderer_, &other->_impl_.gl_renderer_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.device_id_)
      + sizeof(SystemProfileProto_Hardware_Graphics::_impl_.device_id_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_Graphics, _impl_.vendor_id_)>(
          reinterpret_cast<char*>(&_impl_.vendor_id_),
          reinterpret_cast<char*>(&other->_impl_.vendor_id_));
}

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

SystemProfileProto_Hardware_InternalStorageDevice::SystemProfileProto_Hardware_InternalStorageDevice(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_InternalStorageDevice_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_InternalStorageDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_Hardware_InternalStorageDevice& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        model_(arena, from.model_) {}

SystemProfileProto_Hardware_InternalStorageDevice::SystemProfileProto_Hardware_InternalStorageDevice(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_Hardware_InternalStorageDevice& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_InternalStorageDevice_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_Hardware_InternalStorageDevice* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, product_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, product_id_),
           offsetof(Impl_, purpose_) -
               offsetof(Impl_, product_id_) +
               sizeof(Impl_::purpose_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_InternalStorageDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        model_(arena) {}

inline void SystemProfileProto_Hardware_InternalStorageDevice::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, product_id_),
           0,
           offsetof(Impl_, purpose_) -
               offsetof(Impl_, product_id_) +
               sizeof(Impl_::purpose_));
}
SystemProfileProto_Hardware_InternalStorageDevice::~SystemProfileProto_Hardware_InternalStorageDevice() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware_InternalStorageDevice::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware_InternalStorageDevice& this_ = static_cast<SystemProfileProto_Hardware_InternalStorageDevice&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.model_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_InternalStorageDevice_class_data_ =
    SystemProfileProto_Hardware_InternalStorageDevice::InternalGenerateClassData_(SystemProfileProto_Hardware_InternalStorageDevice_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_InternalStorageDevice::GetClassData() const {
  return SystemProfileProto_Hardware_InternalStorageDevice_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_InternalStorageDevice::GetClassData() const {
  return SystemProfileProto_Hardware_InternalStorageDevice_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware_InternalStorageDevice::ParseTableT_
    SystemProfileProto_Hardware_InternalStorageDevice::_table_ =
        SystemProfileProto_Hardware_InternalStorageDevice::InternalGenerateParseTable_(SystemProfileProto_Hardware_InternalStorageDevice_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware_InternalStorageDevice::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.model_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000feU)) {
    ::memset(&_impl_.product_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.purpose_) -
        reinterpret_cast<char*>(&_impl_.product_id_)) + sizeof(_impl_.purpose_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_InternalStorageDevice::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware_InternalStorageDevice& this_ = static_cast<const SystemProfileProto_Hardware_InternalStorageDevice&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_InternalStorageDevice::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware_InternalStorageDevice& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 vendor_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_vendor_id(), target);
  }

  // uint64 product_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_product_id(), target);
  }

  // uint32 revision = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_revision(), target);
  }

  // string model = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_model();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // uint32 size_mb = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_size_mb(), target);
  }

  // uint64 firmware_version = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this_._internal_firmware_version(), target);
  }

  // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Type type = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_type(), target);
  }

  // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Purpose purpose = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_purpose(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware_InternalStorageDevice::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware_InternalStorageDevice& this_ = static_cast<const SystemProfileProto_Hardware_InternalStorageDevice&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware_InternalStorageDevice::ByteSizeLong() const {
  const SystemProfileProto_Hardware_InternalStorageDevice& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // string model = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model());
    }
    // uint64 product_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_product_id());
    }
    // uint32 vendor_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_vendor_id());
    }
    // uint32 revision = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_revision());
    }
    // uint64 firmware_version = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_firmware_version());
    }
    // uint32 size_mb = 5;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_size_mb());
    }
    // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Type type = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
    // .metrics.SystemProfileProto.Hardware.InternalStorageDevice.Purpose purpose = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_purpose());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware_InternalStorageDevice::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware_InternalStorageDevice*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware_InternalStorageDevice&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_model(from._internal_model());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.product_id_ = from._impl_.product_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.vendor_id_ = from._impl_.vendor_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.revision_ = from._impl_.revision_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.firmware_version_ = from._impl_.firmware_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.size_mb_ = from._impl_.size_mb_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.purpose_ = from._impl_.purpose_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware_InternalStorageDevice::CopyFrom(const SystemProfileProto_Hardware_InternalStorageDevice& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware.InternalStorageDevice)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware_InternalStorageDevice::InternalSwap(SystemProfileProto_Hardware_InternalStorageDevice* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_, &other->_impl_.model_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.purpose_)
      + sizeof(SystemProfileProto_Hardware_InternalStorageDevice::_impl_.purpose_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware_InternalStorageDevice, _impl_.product_id_)>(
          reinterpret_cast<char*>(&_impl_.product_id_),
          reinterpret_cast<char*>(&other->_impl_.product_id_));
}

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

SystemProfileProto_Hardware_Drive::SystemProfileProto_Hardware_Drive(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Drive_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware.Drive)
}
SystemProfileProto_Hardware_Drive::SystemProfileProto_Hardware_Drive(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_Hardware_Drive& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_Drive_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware_Drive::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_Hardware_Drive::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.has_seek_penalty_ = {};
}
SystemProfileProto_Hardware_Drive::~SystemProfileProto_Hardware_Drive() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware.Drive)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware_Drive::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware_Drive& this_ = static_cast<SystemProfileProto_Hardware_Drive&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_Drive_class_data_ =
    SystemProfileProto_Hardware_Drive::InternalGenerateClassData_(SystemProfileProto_Hardware_Drive_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Drive::GetClassData() const {
  return SystemProfileProto_Hardware_Drive_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware_Drive::GetClassData() const {
  return SystemProfileProto_Hardware_Drive_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware_Drive::ParseTableT_
    SystemProfileProto_Hardware_Drive::_table_ =
        SystemProfileProto_Hardware_Drive::InternalGenerateParseTable_(SystemProfileProto_Hardware_Drive_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware_Drive::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware.Drive)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.has_seek_penalty_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Drive::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware_Drive& this_ = static_cast<const SystemProfileProto_Hardware_Drive&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware_Drive::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware_Drive& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware.Drive)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool has_seek_penalty = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_has_seek_penalty(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware.Drive)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware_Drive::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware_Drive& this_ = static_cast<const SystemProfileProto_Hardware_Drive&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware_Drive::ByteSizeLong() const {
  const SystemProfileProto_Hardware_Drive& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware.Drive)
  ::size_t total_size = 0;

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

  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware_Drive::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware_Drive*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware_Drive&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware.Drive)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_impl_.has_seek_penalty_ = from._impl_.has_seek_penalty_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware_Drive::CopyFrom(const SystemProfileProto_Hardware_Drive& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware.Drive)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware_Drive::InternalSwap(SystemProfileProto_Hardware_Drive* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.has_seek_penalty_, other->_impl_.has_seek_penalty_);
}

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

SystemProfileProto_Hardware::SystemProfileProto_Hardware(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Hardware)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_Hardware& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        internal_storage_devices_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_Hardware,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_Hardware, _impl_.internal_storage_devices_)>()
          , from.internal_storage_devices_
        }
        ,
        cpu_architecture_(arena, from.cpu_architecture_),
        hardware_class_(arena, from.hardware_class_),
        full_hardware_class_(arena, from.full_hardware_class_),
        app_cpu_architecture_(arena, from.app_cpu_architecture_),
        cellular_device_variant_(arena, from.cellular_device_variant_),
        tpm_rw_firmware_version_(arena, from.tpm_rw_firmware_version_),
        updated_hardware_class_(arena, from.updated_hardware_class_),
        manufacturer_(arena, from.manufacturer_) {}

SystemProfileProto_Hardware::SystemProfileProto_Hardware(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_Hardware& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Hardware_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_Hardware* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.gpu_ = (CheckHasBit(cached_has_bits, 0x00000200U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.gpu_)
                : nullptr;
  _impl_.cpu_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_)
                : nullptr;
  _impl_.app_drive_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_drive_)
                : nullptr;
  _impl_.user_data_drive_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_data_drive_)
                : nullptr;
  _impl_.motherboard_ = (CheckHasBit(cached_has_bits, 0x00002000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.motherboard_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, system_ram_mb_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, system_ram_mb_),
           offsetof(Impl_, tpm_type_) -
               offsetof(Impl_, system_ram_mb_) +
               sizeof(Impl_::tpm_type_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.Hardware)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Hardware::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        internal_storage_devices_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_Hardware,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_Hardware, _impl_.internal_storage_devices_)>()
         }
        ,
        cpu_architecture_(arena),
        hardware_class_(arena),
        full_hardware_class_(arena),
        app_cpu_architecture_(arena),
        cellular_device_variant_(arena),
        tpm_rw_firmware_version_(arena),
        updated_hardware_class_(arena),
        manufacturer_(arena) {}

inline void SystemProfileProto_Hardware::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, gpu_),
           0,
           offsetof(Impl_, tpm_type_) -
               offsetof(Impl_, gpu_) +
               sizeof(Impl_::tpm_type_));
}
SystemProfileProto_Hardware::~SystemProfileProto_Hardware() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Hardware)
  SharedDtor(*this);
}
inline void SystemProfileProto_Hardware::SharedDtor(MessageLite& self) {
  SystemProfileProto_Hardware& this_ = static_cast<SystemProfileProto_Hardware&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.cpu_architecture_.Destroy();
  this_._impl_.hardware_class_.Destroy();
  this_._impl_.full_hardware_class_.Destroy();
  this_._impl_.app_cpu_architecture_.Destroy();
  this_._impl_.cellular_device_variant_.Destroy();
  this_._impl_.tpm_rw_firmware_version_.Destroy();
  this_._impl_.updated_hardware_class_.Destroy();
  this_._impl_.manufacturer_.Destroy();
  delete this_._impl_.gpu_;
  delete this_._impl_.cpu_;
  delete this_._impl_.app_drive_;
  delete this_._impl_.user_data_drive_;
  delete this_._impl_.motherboard_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Hardware_class_data_ =
    SystemProfileProto_Hardware::InternalGenerateClassData_(SystemProfileProto_Hardware_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware::GetClassData() const {
  return SystemProfileProto_Hardware_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Hardware::GetClassData() const {
  return SystemProfileProto_Hardware_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Hardware::ParseTableT_
    SystemProfileProto_Hardware::_table_ =
        SystemProfileProto_Hardware::InternalGenerateParseTable_(SystemProfileProto_Hardware_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Hardware::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Hardware)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.internal_storage_devices_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.cpu_architecture_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.hardware_class_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.full_hardware_class_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.app_cpu_architecture_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.cellular_device_variant_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.tpm_rw_firmware_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.updated_hardware_class_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.manufacturer_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(_impl_.gpu_ != nullptr);
      _impl_.gpu_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(_impl_.cpu_ != nullptr);
      _impl_.cpu_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.app_drive_ != nullptr);
      _impl_.app_drive_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.user_data_drive_ != nullptr);
      _impl_.user_data_drive_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(_impl_.motherboard_ != nullptr);
      _impl_.motherboard_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000c000U)) {
    ::memset(&_impl_.system_ram_mb_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.dll_base_) -
        reinterpret_cast<char*>(&_impl_.system_ram_mb_)) + sizeof(_impl_.dll_base_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.screen_count_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.form_factor_) -
        reinterpret_cast<char*>(&_impl_.screen_count_)) + sizeof(_impl_.form_factor_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    ::memset(&_impl_.tpm_firmware_version_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tpm_type_) -
        reinterpret_cast<char*>(&_impl_.tpm_firmware_version_)) + sizeof(_impl_.tpm_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Hardware& this_ = static_cast<const SystemProfileProto_Hardware&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Hardware::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Hardware& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Hardware)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string cpu_architecture = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_cpu_architecture();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int64 system_ram_mb = 2;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_system_ram_mb(), target);
  }

  // int64 dll_base = 3;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_dll_base(), target);
  }

  // string hardware_class = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_hardware_class();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // int32 screen_count = 5;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_screen_count(), target);
  }

  // int32 primary_screen_width = 6;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_primary_screen_width(), target);
  }

  // int32 primary_screen_height = 7;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_primary_screen_height(), target);
  }

  // .metrics.SystemProfileProto.Hardware.Graphics gpu = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.gpu_, this_._impl_.gpu_->GetCachedSize(), target,
        stream);
  }

  // float max_dpi_x = 9;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        9, this_._internal_max_dpi_x(), target);
  }

  // float max_dpi_y = 10;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        10, this_._internal_max_dpi_y(), target);
  }

  // float primary_screen_scale_factor = 12;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        12, this_._internal_primary_screen_scale_factor(), target);
  }

  // .metrics.SystemProfileProto.Hardware.CPU cpu = 13;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.cpu_, this_._impl_.cpu_->GetCachedSize(), target,
        stream);
  }

  // bool internal_display_supports_touch = 14;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this_._internal_internal_display_supports_touch(), target);
  }

  // .metrics.SystemProfileProto.Hardware.Drive app_drive = 16;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        16, *this_._impl_.app_drive_, this_._impl_.app_drive_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.Hardware.Drive user_data_drive = 17;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        17, *this_._impl_.user_data_drive_, this_._impl_.user_data_drive_->GetCachedSize(), target,
        stream);
  }

  // string full_hardware_class = 18;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_full_hardware_class();
    target = stream->WriteStringMaybeAliased(18, _s, target);
  }

  // repeated .metrics.SystemProfileProto.Hardware.InternalStorageDevice internal_storage_devices = 20;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_internal_storage_devices_size());
         i < n; i++) {
      const auto& repfield = this_._internal_internal_storage_devices().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              20, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string app_cpu_architecture = 21;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_app_cpu_architecture();
    target = stream->WriteStringMaybeAliased(21, _s, target);
  }

  // .metrics.SystemProfileProto.Hardware.FormFactor form_factor = 22;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        22, this_._internal_form_factor(), target);
  }

  // .metrics.SystemProfileProto.Hardware.TpmType tpm_type = 23;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        23, this_._internal_tpm_type(), target);
  }

  // string cellular_device_variant = 24;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_cellular_device_variant();
    target = stream->WriteStringMaybeAliased(24, _s, target);
  }

  // .metrics.SystemProfileProto.Hardware.Motherboard motherboard = 25;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        25, *this_._impl_.motherboard_, this_._impl_.motherboard_->GetCachedSize(), target,
        stream);
  }

  // uint64 tpm_firmware_version = 26;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        26, this_._internal_tpm_firmware_version(), target);
  }

  // string tpm_rw_firmware_version = 27;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_tpm_rw_firmware_version();
    target = stream->WriteStringMaybeAliased(27, _s, target);
  }

  // string updated_hardware_class = 28;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_updated_hardware_class();
    target = stream->WriteStringMaybeAliased(28, _s, target);
  }

  // string manufacturer = 29;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_manufacturer();
    target = stream->WriteStringMaybeAliased(29, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Hardware)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Hardware::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Hardware& this_ = static_cast<const SystemProfileProto_Hardware&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Hardware::ByteSizeLong() const {
  const SystemProfileProto_Hardware& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Hardware)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00380000U & cached_has_bits) * 5;
  total_size += static_cast<bool>(0x00400000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .metrics.SystemProfileProto.Hardware.InternalStorageDevice internal_storage_devices = 20;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_internal_storage_devices_size();
      for (const auto& msg : this_._internal_internal_storage_devices()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string cpu_architecture = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_cpu_architecture());
    }
    // string hardware_class = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_hardware_class());
    }
    // string full_hardware_class = 18;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_full_hardware_class());
    }
    // string app_cpu_architecture = 21;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_cpu_architecture());
    }
    // string cellular_device_variant = 24;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_cellular_device_variant());
    }
    // string tpm_rw_firmware_version = 27;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tpm_rw_firmware_version());
    }
    // string updated_hardware_class = 28;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_updated_hardware_class());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // string manufacturer = 29;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer());
    }
    // .metrics.SystemProfileProto.Hardware.Graphics gpu = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.gpu_);
    }
    // .metrics.SystemProfileProto.Hardware.CPU cpu = 13;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cpu_);
    }
    // .metrics.SystemProfileProto.Hardware.Drive app_drive = 16;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.app_drive_);
    }
    // .metrics.SystemProfileProto.Hardware.Drive user_data_drive = 17;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.user_data_drive_);
    }
    // .metrics.SystemProfileProto.Hardware.Motherboard motherboard = 25;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.motherboard_);
    }
    // int64 system_ram_mb = 2;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_system_ram_mb());
    }
    // int64 dll_base = 3;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_dll_base());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00870000U)) {
    // int32 screen_count = 5;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_screen_count());
    }
    // int32 primary_screen_width = 6;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_primary_screen_width());
    }
    // int32 primary_screen_height = 7;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_primary_screen_height());
    }
    // .metrics.SystemProfileProto.Hardware.FormFactor form_factor = 22;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_form_factor());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    // uint64 tpm_firmware_version = 26;
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_tpm_firmware_version());
    }
    // .metrics.SystemProfileProto.Hardware.TpmType tpm_type = 23;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_tpm_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Hardware::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Hardware*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Hardware&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Hardware)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_internal_storage_devices()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_internal_storage_devices());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_cpu_architecture(from._internal_cpu_architecture());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_hardware_class(from._internal_hardware_class());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_full_hardware_class(from._internal_full_hardware_class());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_app_cpu_architecture(from._internal_app_cpu_architecture());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_cellular_device_variant(from._internal_cellular_device_variant());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_tpm_rw_firmware_version(from._internal_tpm_rw_firmware_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_updated_hardware_class(from._internal_updated_hardware_class());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_manufacturer(from._internal_manufacturer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(from._impl_.gpu_ != nullptr);
      if (_this->_impl_.gpu_ == nullptr) {
        _this->_impl_.gpu_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.gpu_);
      } else {
        _this->_impl_.gpu_->MergeFrom(*from._impl_.gpu_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.cpu_ != nullptr);
      if (_this->_impl_.cpu_ == nullptr) {
        _this->_impl_.cpu_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_);
      } else {
        _this->_impl_.cpu_->MergeFrom(*from._impl_.cpu_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.app_drive_ != nullptr);
      if (_this->_impl_.app_drive_ == nullptr) {
        _this->_impl_.app_drive_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.app_drive_);
      } else {
        _this->_impl_.app_drive_->MergeFrom(*from._impl_.app_drive_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.user_data_drive_ != nullptr);
      if (_this->_impl_.user_data_drive_ == nullptr) {
        _this->_impl_.user_data_drive_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_data_drive_);
      } else {
        _this->_impl_.user_data_drive_->MergeFrom(*from._impl_.user_data_drive_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(from._impl_.motherboard_ != nullptr);
      if (_this->_impl_.motherboard_ == nullptr) {
        _this->_impl_.motherboard_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.motherboard_);
      } else {
        _this->_impl_.motherboard_->MergeFrom(*from._impl_.motherboard_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.system_ram_mb_ = from._impl_.system_ram_mb_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.dll_base_ = from._impl_.dll_base_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.screen_count_ = from._impl_.screen_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.primary_screen_width_ = from._impl_.primary_screen_width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.primary_screen_height_ = from._impl_.primary_screen_height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.max_dpi_x_ = from._impl_.max_dpi_x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.max_dpi_y_ = from._impl_.max_dpi_y_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.primary_screen_scale_factor_ = from._impl_.primary_screen_scale_factor_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.internal_display_supports_touch_ = from._impl_.internal_display_supports_touch_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.form_factor_ = from._impl_.form_factor_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x03000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.tpm_firmware_version_ = from._impl_.tpm_firmware_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_impl_.tpm_type_ = from._impl_.tpm_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Hardware::CopyFrom(const SystemProfileProto_Hardware& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Hardware)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Hardware::InternalSwap(SystemProfileProto_Hardware* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.internal_storage_devices_.InternalSwap(&other->_impl_.internal_storage_devices_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cpu_architecture_, &other->_impl_.cpu_architecture_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.hardware_class_, &other->_impl_.hardware_class_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.full_hardware_class_, &other->_impl_.full_hardware_class_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_cpu_architecture_, &other->_impl_.app_cpu_architecture_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cellular_device_variant_, &other->_impl_.cellular_device_variant_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tpm_rw_firmware_version_, &other->_impl_.tpm_rw_firmware_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.updated_hardware_class_, &other->_impl_.updated_hardware_class_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_, &other->_impl_.manufacturer_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.tpm_type_)
      + sizeof(SystemProfileProto_Hardware::_impl_.tpm_type_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Hardware, _impl_.gpu_)>(
          reinterpret_cast<char*>(&_impl_.gpu_),
          reinterpret_cast<char*>(&other->_impl_.gpu_));
}

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

SystemProfileProto_Network::SystemProfileProto_Network(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Network_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Network)
}
SystemProfileProto_Network::SystemProfileProto_Network(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_Network& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Network_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Network::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_Network::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, connection_type_is_ambiguous_),
           0,
           offsetof(Impl_, max_effective_connection_type_) -
               offsetof(Impl_, connection_type_is_ambiguous_) +
               sizeof(Impl_::max_effective_connection_type_));
}
SystemProfileProto_Network::~SystemProfileProto_Network() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Network)
  SharedDtor(*this);
}
inline void SystemProfileProto_Network::SharedDtor(MessageLite& self) {
  SystemProfileProto_Network& this_ = static_cast<SystemProfileProto_Network&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Network_class_data_ =
    SystemProfileProto_Network::InternalGenerateClassData_(SystemProfileProto_Network_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Network::GetClassData() const {
  return SystemProfileProto_Network_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Network::GetClassData() const {
  return SystemProfileProto_Network_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Network::ParseTableT_
    SystemProfileProto_Network::_table_ =
        SystemProfileProto_Network::InternalGenerateParseTable_(SystemProfileProto_Network_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Network::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Network)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    ::memset(&_impl_.connection_type_is_ambiguous_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.max_effective_connection_type_) -
        reinterpret_cast<char*>(&_impl_.connection_type_is_ambiguous_)) + sizeof(_impl_.max_effective_connection_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Network::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Network& this_ = static_cast<const SystemProfileProto_Network&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Network::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Network& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Network)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool connection_type_is_ambiguous = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_connection_type_is_ambiguous(), target);
  }

  // .metrics.SystemProfileProto.Network.ConnectionType connection_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_connection_type(), target);
  }

  // .metrics.SystemProfileProto.Network.EffectiveConnectionType min_effective_connection_type = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_min_effective_connection_type(), target);
  }

  // .metrics.SystemProfileProto.Network.EffectiveConnectionType max_effective_connection_type = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_max_effective_connection_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Network)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Network::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Network& this_ = static_cast<const SystemProfileProto_Network&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Network::ByteSizeLong() const {
  const SystemProfileProto_Network& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Network)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    // .metrics.SystemProfileProto.Network.ConnectionType connection_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_connection_type());
    }
    // .metrics.SystemProfileProto.Network.EffectiveConnectionType min_effective_connection_type = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_min_effective_connection_type());
    }
    // .metrics.SystemProfileProto.Network.EffectiveConnectionType max_effective_connection_type = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_max_effective_connection_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Network::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Network*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Network&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Network)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.connection_type_is_ambiguous_ = from._impl_.connection_type_is_ambiguous_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.connection_type_ = from._impl_.connection_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.min_effective_connection_type_ = from._impl_.min_effective_connection_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.max_effective_connection_type_ = from._impl_.max_effective_connection_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Network::CopyFrom(const SystemProfileProto_Network& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Network)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Network::InternalSwap(SystemProfileProto_Network* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.max_effective_connection_type_)
      + sizeof(SystemProfileProto_Network::_impl_.max_effective_connection_type_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Network, _impl_.connection_type_is_ambiguous_)>(
          reinterpret_cast<char*>(&_impl_.connection_type_is_ambiguous_),
          reinterpret_cast<char*>(&other->_impl_.connection_type_is_ambiguous_));
}

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

SystemProfileProto_GoogleUpdate_ProductInfo::SystemProfileProto_GoogleUpdate_ProductInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_GoogleUpdate_ProductInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_GoogleUpdate_ProductInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_GoogleUpdate_ProductInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        version_(arena, from.version_) {}

SystemProfileProto_GoogleUpdate_ProductInfo::SystemProfileProto_GoogleUpdate_ProductInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_GoogleUpdate_ProductInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_GoogleUpdate_ProductInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_GoogleUpdate_ProductInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, last_update_success_timestamp_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, last_update_success_timestamp_),
           offsetof(Impl_, cohort_hash_) -
               offsetof(Impl_, last_update_success_timestamp_) +
               sizeof(Impl_::cohort_hash_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_GoogleUpdate_ProductInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        version_(arena) {}

inline void SystemProfileProto_GoogleUpdate_ProductInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, last_update_success_timestamp_),
           0,
           offsetof(Impl_, cohort_hash_) -
               offsetof(Impl_, last_update_success_timestamp_) +
               sizeof(Impl_::cohort_hash_));
}
SystemProfileProto_GoogleUpdate_ProductInfo::~SystemProfileProto_GoogleUpdate_ProductInfo() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  SharedDtor(*this);
}
inline void SystemProfileProto_GoogleUpdate_ProductInfo::SharedDtor(MessageLite& self) {
  SystemProfileProto_GoogleUpdate_ProductInfo& this_ = static_cast<SystemProfileProto_GoogleUpdate_ProductInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_GoogleUpdate_ProductInfo_class_data_ =
    SystemProfileProto_GoogleUpdate_ProductInfo::InternalGenerateClassData_(SystemProfileProto_GoogleUpdate_ProductInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_GoogleUpdate_ProductInfo::GetClassData() const {
  return SystemProfileProto_GoogleUpdate_ProductInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_GoogleUpdate_ProductInfo::GetClassData() const {
  return SystemProfileProto_GoogleUpdate_ProductInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_GoogleUpdate_ProductInfo::ParseTableT_
    SystemProfileProto_GoogleUpdate_ProductInfo::_table_ =
        SystemProfileProto_GoogleUpdate_ProductInfo::InternalGenerateParseTable_(SystemProfileProto_GoogleUpdate_ProductInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_GoogleUpdate_ProductInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.version_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003eU)) {
    ::memset(&_impl_.last_update_success_timestamp_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.cohort_hash_) -
        reinterpret_cast<char*>(&_impl_.last_update_success_timestamp_)) + sizeof(_impl_.cohort_hash_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate_ProductInfo::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_GoogleUpdate_ProductInfo& this_ = static_cast<const SystemProfileProto_GoogleUpdate_ProductInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate_ProductInfo::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_GoogleUpdate_ProductInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string version = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_version();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int64 last_update_success_timestamp = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_last_update_success_timestamp(), target);
  }

  // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo.InstallResult last_result = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_last_result(), target);
  }

  // int32 last_error = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_last_error(), target);
  }

  // int32 last_extra_error = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_last_extra_error(), target);
  }

  // fixed32 cohort_hash = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        6, this_._internal_cohort_hash(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_GoogleUpdate_ProductInfo::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_GoogleUpdate_ProductInfo& this_ = static_cast<const SystemProfileProto_GoogleUpdate_ProductInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_GoogleUpdate_ProductInfo::ByteSizeLong() const {
  const SystemProfileProto_GoogleUpdate_ProductInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // string version = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_version());
    }
    // int64 last_update_success_timestamp = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_update_success_timestamp());
    }
    // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo.InstallResult last_result = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_last_result());
    }
    // int32 last_error = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_last_error());
    }
    // int32 last_extra_error = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_last_extra_error());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_GoogleUpdate_ProductInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_GoogleUpdate_ProductInfo*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_GoogleUpdate_ProductInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_version(from._internal_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.last_update_success_timestamp_ = from._impl_.last_update_success_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.last_result_ = from._impl_.last_result_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.last_error_ = from._impl_.last_error_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.last_extra_error_ = from._impl_.last_extra_error_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.cohort_hash_ = from._impl_.cohort_hash_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_GoogleUpdate_ProductInfo::CopyFrom(const SystemProfileProto_GoogleUpdate_ProductInfo& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.GoogleUpdate.ProductInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_GoogleUpdate_ProductInfo::InternalSwap(SystemProfileProto_GoogleUpdate_ProductInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.cohort_hash_)
      + sizeof(SystemProfileProto_GoogleUpdate_ProductInfo::_impl_.cohort_hash_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate_ProductInfo, _impl_.last_update_success_timestamp_)>(
          reinterpret_cast<char*>(&_impl_.last_update_success_timestamp_),
          reinterpret_cast<char*>(&other->_impl_.last_update_success_timestamp_));
}

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

SystemProfileProto_GoogleUpdate::SystemProfileProto_GoogleUpdate(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_GoogleUpdate_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.GoogleUpdate)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_GoogleUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_GoogleUpdate& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

SystemProfileProto_GoogleUpdate::SystemProfileProto_GoogleUpdate(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_GoogleUpdate& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_GoogleUpdate_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_GoogleUpdate* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.google_update_status_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.google_update_status_)
                : nullptr;
  _impl_.client_status_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.client_status_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, last_automatic_start_timestamp_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, last_automatic_start_timestamp_),
           offsetof(Impl_, is_system_install_) -
               offsetof(Impl_, last_automatic_start_timestamp_) +
               sizeof(Impl_::is_system_install_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.GoogleUpdate)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_GoogleUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_GoogleUpdate::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, google_update_status_),
           0,
           offsetof(Impl_, is_system_install_) -
               offsetof(Impl_, google_update_status_) +
               sizeof(Impl_::is_system_install_));
}
SystemProfileProto_GoogleUpdate::~SystemProfileProto_GoogleUpdate() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.GoogleUpdate)
  SharedDtor(*this);
}
inline void SystemProfileProto_GoogleUpdate::SharedDtor(MessageLite& self) {
  SystemProfileProto_GoogleUpdate& this_ = static_cast<SystemProfileProto_GoogleUpdate&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.google_update_status_;
  delete this_._impl_.client_status_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_GoogleUpdate_class_data_ =
    SystemProfileProto_GoogleUpdate::InternalGenerateClassData_(SystemProfileProto_GoogleUpdate_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_GoogleUpdate::GetClassData() const {
  return SystemProfileProto_GoogleUpdate_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_GoogleUpdate::GetClassData() const {
  return SystemProfileProto_GoogleUpdate_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_GoogleUpdate::ParseTableT_
    SystemProfileProto_GoogleUpdate::_table_ =
        SystemProfileProto_GoogleUpdate::InternalGenerateParseTable_(SystemProfileProto_GoogleUpdate_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_GoogleUpdate::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.GoogleUpdate)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.google_update_status_ != nullptr);
      _impl_.google_update_status_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.client_status_ != nullptr);
      _impl_.client_status_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.last_automatic_start_timestamp_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.is_system_install_) -
        reinterpret_cast<char*>(&_impl_.last_automatic_start_timestamp_)) + sizeof(_impl_.is_system_install_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_GoogleUpdate& this_ = static_cast<const SystemProfileProto_GoogleUpdate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_GoogleUpdate::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_GoogleUpdate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.GoogleUpdate)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool is_system_install = 1;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_is_system_install(), target);
  }

  // int64 last_automatic_start_timestamp = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_last_automatic_start_timestamp(), target);
  }

  // int64 last_update_check_timestamp = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_last_update_check_timestamp(), target);
  }

  // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo google_update_status = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.google_update_status_, this_._impl_.google_update_status_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo client_status = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.client_status_, this_._impl_.client_status_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.GoogleUpdate)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_GoogleUpdate::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_GoogleUpdate& this_ = static_cast<const SystemProfileProto_GoogleUpdate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_GoogleUpdate::ByteSizeLong() const {
  const SystemProfileProto_GoogleUpdate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.GoogleUpdate)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000010U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo google_update_status = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.google_update_status_);
    }
    // .metrics.SystemProfileProto.GoogleUpdate.ProductInfo client_status = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.client_status_);
    }
    // int64 last_automatic_start_timestamp = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_automatic_start_timestamp());
    }
    // int64 last_update_check_timestamp = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_update_check_timestamp());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_GoogleUpdate::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_GoogleUpdate*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_GoogleUpdate&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.GoogleUpdate)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.google_update_status_ != nullptr);
      if (_this->_impl_.google_update_status_ == nullptr) {
        _this->_impl_.google_update_status_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.google_update_status_);
      } else {
        _this->_impl_.google_update_status_->MergeFrom(*from._impl_.google_update_status_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.client_status_ != nullptr);
      if (_this->_impl_.client_status_ == nullptr) {
        _this->_impl_.client_status_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.client_status_);
      } else {
        _this->_impl_.client_status_->MergeFrom(*from._impl_.client_status_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.last_automatic_start_timestamp_ = from._impl_.last_automatic_start_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.last_update_check_timestamp_ = from._impl_.last_update_check_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.is_system_install_ = from._impl_.is_system_install_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_GoogleUpdate::CopyFrom(const SystemProfileProto_GoogleUpdate& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.GoogleUpdate)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_GoogleUpdate::InternalSwap(SystemProfileProto_GoogleUpdate* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.is_system_install_)
      + sizeof(SystemProfileProto_GoogleUpdate::_impl_.is_system_install_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_GoogleUpdate, _impl_.google_update_status_)>(
          reinterpret_cast<char*>(&_impl_.google_update_status_),
          reinterpret_cast<char*>(&other->_impl_.google_update_status_));
}

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

SystemProfileProto_Stability::SystemProfileProto_Stability(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Stability_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.Stability)
}
SystemProfileProto_Stability::SystemProfileProto_Stability(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_Stability& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_Stability_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_Stability::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_Stability::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, page_load_count_),
           0,
           offsetof(Impl_, crash_count_due_to_gms_core_update_) -
               offsetof(Impl_, page_load_count_) +
               sizeof(Impl_::crash_count_due_to_gms_core_update_));
}
SystemProfileProto_Stability::~SystemProfileProto_Stability() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.Stability)
  SharedDtor(*this);
}
inline void SystemProfileProto_Stability::SharedDtor(MessageLite& self) {
  SystemProfileProto_Stability& this_ = static_cast<SystemProfileProto_Stability&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_Stability_class_data_ =
    SystemProfileProto_Stability::InternalGenerateClassData_(SystemProfileProto_Stability_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Stability::GetClassData() const {
  return SystemProfileProto_Stability_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_Stability::GetClassData() const {
  return SystemProfileProto_Stability_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_Stability::ParseTableT_
    SystemProfileProto_Stability::_table_ =
        SystemProfileProto_Stability::InternalGenerateParseTable_(SystemProfileProto_Stability_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_Stability::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.Stability)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.page_load_count_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.crash_count_due_to_gms_core_update_) -
        reinterpret_cast<char*>(&_impl_.page_load_count_)) + sizeof(_impl_.crash_count_due_to_gms_core_update_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Stability::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_Stability& this_ = static_cast<const SystemProfileProto_Stability&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_Stability::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_Stability& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.Stability)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 page_load_count = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_page_load_count(), target);
  }

  // int32 other_user_crash_count = 7;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_other_user_crash_count(), target);
  }

  // int32 kernel_crash_count = 8;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
            stream, this_._internal_kernel_crash_count(), target);
  }

  // int32 unclean_system_shutdown_count = 9;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
            stream, this_._internal_unclean_system_shutdown_count(), target);
  }

  // int32 launch_count = 15;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<15>(
            stream, this_._internal_launch_count(), target);
  }

  // int32 renderer_launch_count = 26;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        26, this_._internal_renderer_launch_count(), target);
  }

  // bool from_previous_run = 29;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        29, this_._internal_from_previous_run(), target);
  }

  // int32 crash_count_due_to_gms_core_update = 30;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        30, this_._internal_crash_count_due_to_gms_core_update(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.Stability)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_Stability::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_Stability& this_ = static_cast<const SystemProfileProto_Stability&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_Stability::ByteSizeLong() const {
  const SystemProfileProto_Stability& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.Stability)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000040U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000bfU)) {
    // int32 page_load_count = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_page_load_count());
    }
    // int32 other_user_crash_count = 7;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_other_user_crash_count());
    }
    // int32 kernel_crash_count = 8;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_kernel_crash_count());
    }
    // int32 unclean_system_shutdown_count = 9;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_unclean_system_shutdown_count());
    }
    // int32 launch_count = 15;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_launch_count());
    }
    // int32 renderer_launch_count = 26;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_renderer_launch_count());
    }
    // int32 crash_count_due_to_gms_core_update = 30;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_crash_count_due_to_gms_core_update());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_Stability::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_Stability*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_Stability&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.Stability)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.page_load_count_ = from._impl_.page_load_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.other_user_crash_count_ = from._impl_.other_user_crash_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.kernel_crash_count_ = from._impl_.kernel_crash_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.unclean_system_shutdown_count_ = from._impl_.unclean_system_shutdown_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.launch_count_ = from._impl_.launch_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.renderer_launch_count_ = from._impl_.renderer_launch_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.from_previous_run_ = from._impl_.from_previous_run_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.crash_count_due_to_gms_core_update_ = from._impl_.crash_count_due_to_gms_core_update_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_Stability::CopyFrom(const SystemProfileProto_Stability& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.Stability)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_Stability::InternalSwap(SystemProfileProto_Stability* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.crash_count_due_to_gms_core_update_)
      + sizeof(SystemProfileProto_Stability::_impl_.crash_count_due_to_gms_core_update_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_Stability, _impl_.page_load_count_)>(
          reinterpret_cast<char*>(&_impl_.page_load_count_),
          reinterpret_cast<char*>(&other->_impl_.page_load_count_));
}

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

SystemProfileProto_FieldTrial::SystemProfileProto_FieldTrial(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_FieldTrial_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.FieldTrial)
}
SystemProfileProto_FieldTrial::SystemProfileProto_FieldTrial(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_FieldTrial& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_FieldTrial_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_FieldTrial::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_FieldTrial::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, name_id_),
           0,
           offsetof(Impl_, group_id_) -
               offsetof(Impl_, name_id_) +
               sizeof(Impl_::group_id_));
}
SystemProfileProto_FieldTrial::~SystemProfileProto_FieldTrial() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.FieldTrial)
  SharedDtor(*this);
}
inline void SystemProfileProto_FieldTrial::SharedDtor(MessageLite& self) {
  SystemProfileProto_FieldTrial& this_ = static_cast<SystemProfileProto_FieldTrial&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_FieldTrial_class_data_ =
    SystemProfileProto_FieldTrial::InternalGenerateClassData_(SystemProfileProto_FieldTrial_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_FieldTrial::GetClassData() const {
  return SystemProfileProto_FieldTrial_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_FieldTrial::GetClassData() const {
  return SystemProfileProto_FieldTrial_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_FieldTrial::ParseTableT_
    SystemProfileProto_FieldTrial::_table_ =
        SystemProfileProto_FieldTrial::InternalGenerateParseTable_(SystemProfileProto_FieldTrial_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_FieldTrial::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.FieldTrial)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.name_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.group_id_) -
        reinterpret_cast<char*>(&_impl_.name_id_)) + sizeof(_impl_.group_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_FieldTrial::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_FieldTrial& this_ = static_cast<const SystemProfileProto_FieldTrial&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_FieldTrial::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_FieldTrial& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.FieldTrial)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // fixed32 name_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        1, this_._internal_name_id(), target);
  }

  // fixed32 group_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        2, this_._internal_group_id(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.FieldTrial)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_FieldTrial::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_FieldTrial& this_ = static_cast<const SystemProfileProto_FieldTrial&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_FieldTrial::ByteSizeLong() const {
  const SystemProfileProto_FieldTrial& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.FieldTrial)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000003U & cached_has_bits) * 5;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_FieldTrial::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_FieldTrial*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_FieldTrial&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.FieldTrial)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.name_id_ = from._impl_.name_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.group_id_ = from._impl_.group_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_FieldTrial::CopyFrom(const SystemProfileProto_FieldTrial& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.FieldTrial)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_FieldTrial::InternalSwap(SystemProfileProto_FieldTrial* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.group_id_)
      + sizeof(SystemProfileProto_FieldTrial::_impl_.group_id_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_FieldTrial, _impl_.name_id_)>(
          reinterpret_cast<char*>(&_impl_.name_id_),
          reinterpret_cast<char*>(&other->_impl_.name_id_));
}

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

SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        sample_frequency_hz_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.sample_frequency_hz_)>()
          , from.sample_frequency_hz_
        }
        ,
        _sample_frequency_hz_cached_byte_size_{0} {}

SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, audio_format_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, audio_format_),
           offsetof(Impl_, output_mode_) -
               offsetof(Impl_, audio_format_) +
               sizeof(Impl_::output_mode_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        sample_frequency_hz_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.sample_frequency_hz_)>()
         }
        ,
        _sample_frequency_hz_cached_byte_size_{0} {}

inline void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, audio_format_),
           0,
           offsetof(Impl_, output_mode_) -
               offsetof(Impl_, audio_format_) +
               sizeof(Impl_::output_mode_));
}
SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::~SystemProfileProto_ExternalAudioVideoDevice_AudioDescription() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  SharedDtor(*this);
}
inline void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::SharedDtor(MessageLite& self) {
  SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& this_ = static_cast<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_class_data_ =
    SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalGenerateClassData_(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::ParseTableT_
    SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_table_ =
        SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalGenerateParseTable_(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.sample_frequency_hz_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003eU)) {
    ::memset(&_impl_.audio_format_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.output_mode_) -
        reinterpret_cast<char*>(&_impl_.audio_format_)) + sizeof(_impl_.output_mode_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.AudioFormat audio_format = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_audio_format(), target);
  }

  // int32 num_channels = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_num_channels(), target);
  }

  // repeated int32 sample_frequency_hz = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._sample_frequency_hz_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            3, this_._internal_sample_frequency_hz(), byte_size, target);
      }
    }
  }

  // int32 max_bit_rate_per_second = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_max_bit_rate_per_second(), target);
  }

  // int32 bit_depth = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_bit_depth(), target);
  }

  // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.OutputMode output_mode = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_output_mode(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::ByteSizeLong() const {
  const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // repeated int32 sample_frequency_hz = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_sample_frequency_hz(), 1,
              this_._impl_._sample_frequency_hz_cached_byte_size_);
    }
    // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.AudioFormat audio_format = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_audio_format());
    }
    // int32 num_channels = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_channels());
    }
    // int32 max_bit_rate_per_second = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_max_bit_rate_per_second());
    }
    // int32 bit_depth = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_bit_depth());
    }
    // .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription.OutputMode output_mode = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_output_mode());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ExternalAudioVideoDevice_AudioDescription*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_sample_frequency_hz()->MergeFrom(from._internal_sample_frequency_hz());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.audio_format_ = from._impl_.audio_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.num_channels_ = from._impl_.num_channels_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.max_bit_rate_per_second_ = from._impl_.max_bit_rate_per_second_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.bit_depth_ = from._impl_.bit_depth_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.output_mode_ = from._impl_.output_mode_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::CopyFrom(const SystemProfileProto_ExternalAudioVideoDevice_AudioDescription& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::InternalSwap(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.sample_frequency_hz_.InternalSwap(&other->_impl_.sample_frequency_hz_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.output_mode_)
      + sizeof(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription::_impl_.output_mode_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_AudioDescription, _impl_.audio_format_)>(
          reinterpret_cast<char*>(&_impl_.audio_format_),
          reinterpret_cast<char*>(&other->_impl_.audio_format_));
}

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

SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SystemProfileProto_ExternalAudioVideoDevice_CECCommand(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_CECCommand_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
}
SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SystemProfileProto_ExternalAudioVideoDevice_CECCommand(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_CECCommand_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAudioVideoDevice_CECCommand::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, opcode_),
           0,
           offsetof(Impl_, num_aborted_unrecognized_) -
               offsetof(Impl_, opcode_) +
               sizeof(Impl_::num_aborted_unrecognized_));
}
SystemProfileProto_ExternalAudioVideoDevice_CECCommand::~SystemProfileProto_ExternalAudioVideoDevice_CECCommand() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  SharedDtor(*this);
}
inline void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::SharedDtor(MessageLite& self) {
  SystemProfileProto_ExternalAudioVideoDevice_CECCommand& this_ = static_cast<SystemProfileProto_ExternalAudioVideoDevice_CECCommand&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ExternalAudioVideoDevice_CECCommand_class_data_ =
    SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalGenerateClassData_(SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice_CECCommand::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_CECCommand_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice_CECCommand::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_CECCommand_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ExternalAudioVideoDevice_CECCommand::ParseTableT_
    SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_table_ =
        SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalGenerateParseTable_(SystemProfileProto_ExternalAudioVideoDevice_CECCommand_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    ::memset(&_impl_.opcode_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.num_aborted_unrecognized_) -
        reinterpret_cast<char*>(&_impl_.opcode_)) + sizeof(_impl_.num_aborted_unrecognized_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_CECCommand&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 opcode = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_opcode(), target);
  }

  // int32 num_received_direct = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_num_received_direct(), target);
  }

  // int32 num_received_broadcast = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_num_received_broadcast(), target);
  }

  // int32 num_sent_direct = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_num_sent_direct(), target);
  }

  // int32 num_sent_broadcast = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_num_sent_broadcast(), target);
  }

  // int32 num_aborted_unknown_reason = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_num_aborted_unknown_reason(), target);
  }

  // int32 num_aborted_unrecognized = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_num_aborted_unrecognized(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ExternalAudioVideoDevice_CECCommand::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_CECCommand&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ExternalAudioVideoDevice_CECCommand::ByteSizeLong() const {
  const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // int32 opcode = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_opcode());
    }
    // int32 num_received_direct = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_received_direct());
    }
    // int32 num_received_broadcast = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_received_broadcast());
    }
    // int32 num_sent_direct = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_sent_direct());
    }
    // int32 num_sent_broadcast = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_sent_broadcast());
    }
    // int32 num_aborted_unknown_reason = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_aborted_unknown_reason());
    }
    // int32 num_aborted_unrecognized = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_aborted_unrecognized());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ExternalAudioVideoDevice_CECCommand*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ExternalAudioVideoDevice_CECCommand&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.opcode_ = from._impl_.opcode_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.num_received_direct_ = from._impl_.num_received_direct_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.num_received_broadcast_ = from._impl_.num_received_broadcast_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.num_sent_direct_ = from._impl_.num_sent_direct_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.num_sent_broadcast_ = from._impl_.num_sent_broadcast_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.num_aborted_unknown_reason_ = from._impl_.num_aborted_unknown_reason_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.num_aborted_unrecognized_ = from._impl_.num_aborted_unrecognized_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::CopyFrom(const SystemProfileProto_ExternalAudioVideoDevice_CECCommand& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ExternalAudioVideoDevice_CECCommand::InternalSwap(SystemProfileProto_ExternalAudioVideoDevice_CECCommand* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.num_aborted_unrecognized_)
      + sizeof(SystemProfileProto_ExternalAudioVideoDevice_CECCommand::_impl_.num_aborted_unrecognized_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice_CECCommand, _impl_.opcode_)>(
          reinterpret_cast<char*>(&_impl_.opcode_),
          reinterpret_cast<char*>(&other->_impl_.opcode_));
}

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

SystemProfileProto_ExternalAudioVideoDevice::SystemProfileProto_ExternalAudioVideoDevice(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ExternalAudioVideoDevice)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAudioVideoDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_ExternalAudioVideoDevice& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        av_device_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.av_device_type_)>()
          , from.av_device_type_
        }
        ,
        _av_device_type_cached_byte_size_{0},
        audio_description_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.audio_description_)>()
          , from.audio_description_
        }
        ,
        cec_command_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_command_)>()
          , from.cec_command_
        }
        ,
        manufacturer_name_(arena, from.manufacturer_name_),
        model_name_(arena, from.model_name_),
        product_code_(arena, from.product_code_) {}

SystemProfileProto_ExternalAudioVideoDevice::SystemProfileProto_ExternalAudioVideoDevice(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_ExternalAudioVideoDevice& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAudioVideoDevice_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_ExternalAudioVideoDevice* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, manufacture_year_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, manufacture_year_),
           offsetof(Impl_, current_hdcp_version_) -
               offsetof(Impl_, manufacture_year_) +
               sizeof(Impl_::current_hdcp_version_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.ExternalAudioVideoDevice)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAudioVideoDevice::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        av_device_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.av_device_type_)>()
         }
        ,
        _av_device_type_cached_byte_size_{0},
        audio_description_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.audio_description_)>()
         }
        ,
        cec_command_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_ExternalAudioVideoDevice,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_ExternalAudioVideoDevice, _impl_.cec_command_)>()
         }
        ,
        manufacturer_name_(arena),
        model_name_(arena),
        product_code_(arena) {}

inline void SystemProfileProto_ExternalAudioVideoDevice::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, manufacture_year_),
           0,
           offsetof(Impl_, current_hdcp_version_) -
               offsetof(Impl_, manufacture_year_) +
               sizeof(Impl_::current_hdcp_version_));
}
SystemProfileProto_ExternalAudioVideoDevice::~SystemProfileProto_ExternalAudioVideoDevice() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  SharedDtor(*this);
}
inline void SystemProfileProto_ExternalAudioVideoDevice::SharedDtor(MessageLite& self) {
  SystemProfileProto_ExternalAudioVideoDevice& this_ = static_cast<SystemProfileProto_ExternalAudioVideoDevice&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.manufacturer_name_.Destroy();
  this_._impl_.model_name_.Destroy();
  this_._impl_.product_code_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ExternalAudioVideoDevice_class_data_ =
    SystemProfileProto_ExternalAudioVideoDevice::InternalGenerateClassData_(SystemProfileProto_ExternalAudioVideoDevice_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAudioVideoDevice::GetClassData() const {
  return SystemProfileProto_ExternalAudioVideoDevice_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ExternalAudioVideoDevice::ParseTableT_
    SystemProfileProto_ExternalAudioVideoDevice::_table_ =
        SystemProfileProto_ExternalAudioVideoDevice::InternalGenerateParseTable_(SystemProfileProto_ExternalAudioVideoDevice_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ExternalAudioVideoDevice::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.av_device_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.audio_description_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.cec_command_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.manufacturer_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.model_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.product_code_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.manufacture_year_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.manufacture_week_) -
        reinterpret_cast<char*>(&_impl_.manufacture_year_)) + sizeof(_impl_.manufacture_week_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.horizontal_resolution_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tmds_) -
        reinterpret_cast<char*>(&_impl_.horizontal_resolution_)) + sizeof(_impl_.tmds_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.is_in_path_to_tv_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.current_hdcp_version_) -
        reinterpret_cast<char*>(&_impl_.is_in_path_to_tv_)) + sizeof(_impl_.current_hdcp_version_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ExternalAudioVideoDevice& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAudioVideoDevice::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ExternalAudioVideoDevice& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string manufacturer_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_manufacturer_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string model_name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_model_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string product_code = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_product_code();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AVDeviceType av_device_type = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._av_device_type_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            4, this_._internal_av_device_type(), byte_size, target);
      }
    }
  }

  // int32 manufacture_year = 5;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_manufacture_year(), target);
  }

  // int32 manufacture_week = 6;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_manufacture_week(), target);
  }

  // int32 horizontal_resolution = 7;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_horizontal_resolution(), target);
  }

  // int32 vertical_resolution = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
            stream, this_._internal_vertical_resolution(), target);
  }

  // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription audio_description = 9;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_audio_description_size());
         i < n; i++) {
      const auto& repfield = this_._internal_audio_description().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // int32 position_in_setup = 10;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<10>(
            stream, this_._internal_position_in_setup(), target);
  }

  // bool is_in_path_to_tv = 11;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this_._internal_is_in_path_to_tv(), target);
  }

  // int32 cec_version = 12;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<12>(
            stream, this_._internal_cec_version(), target);
  }

  // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand cec_command = 13;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_cec_command_size());
         i < n; i++) {
      const auto& repfield = this_._internal_cec_command().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              13, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // int32 frame_rate = 14;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<14>(
            stream, this_._internal_frame_rate(), target);
  }

  // .metrics.SystemProfileProto.ExternalAudioVideoDevice.ColorEncoding color_encoding = 15;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        15, this_._internal_color_encoding(), target);
  }

  // int32 bit_depth = 16;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this_._internal_bit_depth(), target);
  }

  // int32 tmds = 17;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        17, this_._internal_tmds(), target);
  }

  // bool hdr10_support = 18;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this_._internal_hdr10_support(), target);
  }

  // bool dolby_vision_support = 19;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this_._internal_dolby_vision_support(), target);
  }

  // int32 eotf_support = 20;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        20, this_._internal_eotf_support(), target);
  }

  // bool yuv_support = 21;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        21, this_._internal_yuv_support(), target);
  }

  // bool yuv_420_support = 22;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        22, this_._internal_yuv_420_support(), target);
  }

  // int32 maximum_supported_hdcp_version = 23;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        23, this_._internal_maximum_supported_hdcp_version(), target);
  }

  // int32 current_hdcp_version = 24;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        24, this_._internal_current_hdcp_version(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ExternalAudioVideoDevice::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ExternalAudioVideoDevice& this_ = static_cast<const SystemProfileProto_ExternalAudioVideoDevice&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ExternalAudioVideoDevice::ByteSizeLong() const {
  const SystemProfileProto_ExternalAudioVideoDevice& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x002e0000U & cached_has_bits) * 3;
  total_size += static_cast<bool>(0x00010000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AVDeviceType av_device_type = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_av_device_type(), 1, this_._impl_._av_device_type_cached_byte_size_);
    }
    // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.AudioDescription audio_description = 9;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_audio_description_size();
      for (const auto& msg : this_._internal_audio_description()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice.CECCommand cec_command = 13;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_cec_command_size();
      for (const auto& msg : this_._internal_cec_command()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string manufacturer_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer_name());
    }
    // string model_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model_name());
    }
    // string product_code = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_code());
    }
    // int32 manufacture_year = 5;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_manufacture_year());
    }
    // int32 manufacture_week = 6;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_manufacture_week());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // int32 horizontal_resolution = 7;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_horizontal_resolution());
    }
    // int32 vertical_resolution = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_vertical_resolution());
    }
    // int32 position_in_setup = 10;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_position_in_setup());
    }
    // int32 cec_version = 12;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_cec_version());
    }
    // int32 frame_rate = 14;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_frame_rate());
    }
    // .metrics.SystemProfileProto.ExternalAudioVideoDevice.ColorEncoding color_encoding = 15;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_color_encoding());
    }
    // int32 bit_depth = 16;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_bit_depth());
    }
    // int32 tmds = 17;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_tmds());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00d00000U)) {
    // int32 eotf_support = 20;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_eotf_support());
    }
    // int32 maximum_supported_hdcp_version = 23;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_maximum_supported_hdcp_version());
    }
    // int32 current_hdcp_version = 24;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_current_hdcp_version());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ExternalAudioVideoDevice::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ExternalAudioVideoDevice*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ExternalAudioVideoDevice&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_av_device_type()->MergeFrom(from._internal_av_device_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_audio_description()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_audio_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_cec_command()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_cec_command());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_manufacturer_name(from._internal_manufacturer_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_model_name(from._internal_model_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_product_code(from._internal_product_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.manufacture_year_ = from._impl_.manufacture_year_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.manufacture_week_ = from._impl_.manufacture_week_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.horizontal_resolution_ = from._impl_.horizontal_resolution_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.vertical_resolution_ = from._impl_.vertical_resolution_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.position_in_setup_ = from._impl_.position_in_setup_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.cec_version_ = from._impl_.cec_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.frame_rate_ = from._impl_.frame_rate_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.color_encoding_ = from._impl_.color_encoding_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.bit_depth_ = from._impl_.bit_depth_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.tmds_ = from._impl_.tmds_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.is_in_path_to_tv_ = from._impl_.is_in_path_to_tv_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.hdr10_support_ = from._impl_.hdr10_support_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.dolby_vision_support_ = from._impl_.dolby_vision_support_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.yuv_support_ = from._impl_.yuv_support_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.eotf_support_ = from._impl_.eotf_support_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.yuv_420_support_ = from._impl_.yuv_420_support_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.maximum_supported_hdcp_version_ = from._impl_.maximum_supported_hdcp_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.current_hdcp_version_ = from._impl_.current_hdcp_version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ExternalAudioVideoDevice::CopyFrom(const SystemProfileProto_ExternalAudioVideoDevice& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ExternalAudioVideoDevice)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ExternalAudioVideoDevice::InternalSwap(SystemProfileProto_ExternalAudioVideoDevice* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.av_device_type_.InternalSwap(&other->_impl_.av_device_type_);
  _impl_.audio_description_.InternalSwap(&other->_impl_.audio_description_);
  _impl_.cec_command_.InternalSwap(&other->_impl_.cec_command_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_name_, &other->_impl_.manufacturer_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_name_, &other->_impl_.model_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_code_, &other->_impl_.product_code_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.current_hdcp_version_)
      + sizeof(SystemProfileProto_ExternalAudioVideoDevice::_impl_.current_hdcp_version_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_ExternalAudioVideoDevice, _impl_.manufacture_year_)>(
          reinterpret_cast<char*>(&_impl_.manufacture_year_),
          reinterpret_cast<char*>(&other->_impl_.manufacture_year_));
}

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

SystemProfileProto_ExternalAccessPoint::SystemProfileProto_ExternalAccessPoint(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAccessPoint_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ExternalAccessPoint)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAccessPoint::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_ExternalAccessPoint& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        manufacturer_(arena, from.manufacturer_),
        model_name_(arena, from.model_name_),
        model_number_(arena, from.model_number_),
        device_name_(arena, from.device_name_) {}

SystemProfileProto_ExternalAccessPoint::SystemProfileProto_ExternalAccessPoint(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_ExternalAccessPoint& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ExternalAccessPoint_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_ExternalAccessPoint* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.ExternalAccessPoint)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ExternalAccessPoint::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        manufacturer_(arena),
        model_name_(arena),
        model_number_(arena),
        device_name_(arena) {}

inline void SystemProfileProto_ExternalAccessPoint::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SystemProfileProto_ExternalAccessPoint::~SystemProfileProto_ExternalAccessPoint() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ExternalAccessPoint)
  SharedDtor(*this);
}
inline void SystemProfileProto_ExternalAccessPoint::SharedDtor(MessageLite& self) {
  SystemProfileProto_ExternalAccessPoint& this_ = static_cast<SystemProfileProto_ExternalAccessPoint&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.manufacturer_.Destroy();
  this_._impl_.model_name_.Destroy();
  this_._impl_.model_number_.Destroy();
  this_._impl_.device_name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ExternalAccessPoint_class_data_ =
    SystemProfileProto_ExternalAccessPoint::InternalGenerateClassData_(SystemProfileProto_ExternalAccessPoint_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAccessPoint::GetClassData() const {
  return SystemProfileProto_ExternalAccessPoint_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ExternalAccessPoint::GetClassData() const {
  return SystemProfileProto_ExternalAccessPoint_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ExternalAccessPoint::ParseTableT_
    SystemProfileProto_ExternalAccessPoint::_table_ =
        SystemProfileProto_ExternalAccessPoint::InternalGenerateParseTable_(SystemProfileProto_ExternalAccessPoint_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ExternalAccessPoint::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ExternalAccessPoint)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.manufacturer_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.model_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.model_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.device_name_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAccessPoint::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ExternalAccessPoint& this_ = static_cast<const SystemProfileProto_ExternalAccessPoint&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ExternalAccessPoint::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ExternalAccessPoint& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ExternalAccessPoint)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string manufacturer = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_manufacturer();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string model_name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_model_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string model_number = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_model_number();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string device_name = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_device_name();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ExternalAccessPoint)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ExternalAccessPoint::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ExternalAccessPoint& this_ = static_cast<const SystemProfileProto_ExternalAccessPoint&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ExternalAccessPoint::ByteSizeLong() const {
  const SystemProfileProto_ExternalAccessPoint& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ExternalAccessPoint)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // string manufacturer = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer());
    }
    // string model_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model_name());
    }
    // string model_number = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model_number());
    }
    // string device_name = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_device_name());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ExternalAccessPoint::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ExternalAccessPoint*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ExternalAccessPoint&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ExternalAccessPoint)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_manufacturer(from._internal_manufacturer());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_model_name(from._internal_model_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_model_number(from._internal_model_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_device_name(from._internal_device_name());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ExternalAccessPoint::CopyFrom(const SystemProfileProto_ExternalAccessPoint& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ExternalAccessPoint)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ExternalAccessPoint::InternalSwap(SystemProfileProto_ExternalAccessPoint* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_, &other->_impl_.manufacturer_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_name_, &other->_impl_.model_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_number_, &other->_impl_.model_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.device_name_, &other->_impl_.device_name_, arena);
}

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

SystemProfileProto_AntiVirusProduct::SystemProfileProto_AntiVirusProduct(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_AntiVirusProduct_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.AntiVirusProduct)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_AntiVirusProduct::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_AntiVirusProduct& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        product_name_(arena, from.product_name_),
        product_version_(arena, from.product_version_) {}

SystemProfileProto_AntiVirusProduct::SystemProfileProto_AntiVirusProduct(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_AntiVirusProduct& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_AntiVirusProduct_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_AntiVirusProduct* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, product_name_hash_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, product_name_hash_),
           offsetof(Impl_, product_state_) -
               offsetof(Impl_, product_name_hash_) +
               sizeof(Impl_::product_state_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.AntiVirusProduct)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_AntiVirusProduct::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        product_name_(arena),
        product_version_(arena) {}

inline void SystemProfileProto_AntiVirusProduct::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, product_name_hash_),
           0,
           offsetof(Impl_, product_state_) -
               offsetof(Impl_, product_name_hash_) +
               sizeof(Impl_::product_state_));
}
SystemProfileProto_AntiVirusProduct::~SystemProfileProto_AntiVirusProduct() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.AntiVirusProduct)
  SharedDtor(*this);
}
inline void SystemProfileProto_AntiVirusProduct::SharedDtor(MessageLite& self) {
  SystemProfileProto_AntiVirusProduct& this_ = static_cast<SystemProfileProto_AntiVirusProduct&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.product_name_.Destroy();
  this_._impl_.product_version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_AntiVirusProduct_class_data_ =
    SystemProfileProto_AntiVirusProduct::InternalGenerateClassData_(SystemProfileProto_AntiVirusProduct_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_AntiVirusProduct::GetClassData() const {
  return SystemProfileProto_AntiVirusProduct_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_AntiVirusProduct::GetClassData() const {
  return SystemProfileProto_AntiVirusProduct_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_AntiVirusProduct::ParseTableT_
    SystemProfileProto_AntiVirusProduct::_table_ =
        SystemProfileProto_AntiVirusProduct::InternalGenerateParseTable_(SystemProfileProto_AntiVirusProduct_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_AntiVirusProduct::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.AntiVirusProduct)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.product_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.product_version_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&_impl_.product_name_hash_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.product_state_) -
        reinterpret_cast<char*>(&_impl_.product_name_hash_)) + sizeof(_impl_.product_state_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_AntiVirusProduct::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_AntiVirusProduct& this_ = static_cast<const SystemProfileProto_AntiVirusProduct&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_AntiVirusProduct::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_AntiVirusProduct& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.AntiVirusProduct)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string product_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_product_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // fixed32 product_name_hash = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        2, this_._internal_product_name_hash(), target);
  }

  // string product_version = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_product_version();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // fixed32 product_version_hash = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        4, this_._internal_product_version_hash(), target);
  }

  // .metrics.SystemProfileProto.AntiVirusState product_state = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_product_state(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.AntiVirusProduct)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_AntiVirusProduct::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_AntiVirusProduct& this_ = static_cast<const SystemProfileProto_AntiVirusProduct&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_AntiVirusProduct::ByteSizeLong() const {
  const SystemProfileProto_AntiVirusProduct& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.AntiVirusProduct)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000000cU & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x00000013U)) {
    // string product_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_name());
    }
    // string product_version = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_version());
    }
    // .metrics.SystemProfileProto.AntiVirusState product_state = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_product_state());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_AntiVirusProduct::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_AntiVirusProduct*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_AntiVirusProduct&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.AntiVirusProduct)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_product_name(from._internal_product_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_product_version(from._internal_product_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.product_name_hash_ = from._impl_.product_name_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.product_version_hash_ = from._impl_.product_version_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.product_state_ = from._impl_.product_state_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_AntiVirusProduct::CopyFrom(const SystemProfileProto_AntiVirusProduct& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.AntiVirusProduct)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_AntiVirusProduct::InternalSwap(SystemProfileProto_AntiVirusProduct* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_name_, &other->_impl_.product_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_version_, &other->_impl_.product_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_state_)
      + sizeof(SystemProfileProto_AntiVirusProduct::_impl_.product_state_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_AntiVirusProduct, _impl_.product_name_hash_)>(
          reinterpret_cast<char*>(&_impl_.product_name_hash_),
          reinterpret_cast<char*>(&other->_impl_.product_name_hash_));
}

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

SystemProfileProto_ChromeComponent::SystemProfileProto_ChromeComponent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ChromeComponent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.ChromeComponent)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ChromeComponent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_ChromeComponent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        version_(arena, from.version_) {}

SystemProfileProto_ChromeComponent::SystemProfileProto_ChromeComponent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_ChromeComponent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_ChromeComponent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_ChromeComponent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, omaha_fingerprint_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, omaha_fingerprint_),
           offsetof(Impl_, component_id_) -
               offsetof(Impl_, omaha_fingerprint_) +
               sizeof(Impl_::component_id_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.ChromeComponent)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_ChromeComponent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        version_(arena),
        component_id_{static_cast< ::metrics::SystemProfileProto_ComponentId >(1)} {}

inline void SystemProfileProto_ChromeComponent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, omaha_fingerprint_),
           0,
           offsetof(Impl_, cohort_hash_) -
               offsetof(Impl_, omaha_fingerprint_) +
               sizeof(Impl_::cohort_hash_));
}
SystemProfileProto_ChromeComponent::~SystemProfileProto_ChromeComponent() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.ChromeComponent)
  SharedDtor(*this);
}
inline void SystemProfileProto_ChromeComponent::SharedDtor(MessageLite& self) {
  SystemProfileProto_ChromeComponent& this_ = static_cast<SystemProfileProto_ChromeComponent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_ChromeComponent_class_data_ =
    SystemProfileProto_ChromeComponent::InternalGenerateClassData_(SystemProfileProto_ChromeComponent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ChromeComponent::GetClassData() const {
  return SystemProfileProto_ChromeComponent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_ChromeComponent::GetClassData() const {
  return SystemProfileProto_ChromeComponent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_ChromeComponent::ParseTableT_
    SystemProfileProto_ChromeComponent::_table_ =
        SystemProfileProto_ChromeComponent::InternalGenerateParseTable_(SystemProfileProto_ChromeComponent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_ChromeComponent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.ChromeComponent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.version_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.omaha_fingerprint_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.cohort_hash_) -
        reinterpret_cast<char*>(&_impl_.omaha_fingerprint_)) + sizeof(_impl_.cohort_hash_));
    _impl_.component_id_ = 1;
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ChromeComponent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_ChromeComponent& this_ = static_cast<const SystemProfileProto_ChromeComponent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_ChromeComponent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_ChromeComponent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.ChromeComponent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.SystemProfileProto.ComponentId component_id = 1 [default = UNKNOWN];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_component_id(), target);
  }

  // string version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_version();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // fixed32 omaha_fingerprint = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        3, this_._internal_omaha_fingerprint(), target);
  }

  // fixed32 cohort_hash = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        4, this_._internal_cohort_hash(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.ChromeComponent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_ChromeComponent::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_ChromeComponent& this_ = static_cast<const SystemProfileProto_ChromeComponent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_ChromeComponent::ByteSizeLong() const {
  const SystemProfileProto_ChromeComponent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.ChromeComponent)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000006U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x00000009U)) {
    // string version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_version());
    }
    // .metrics.SystemProfileProto.ComponentId component_id = 1 [default = UNKNOWN];
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_component_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_ChromeComponent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_ChromeComponent*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_ChromeComponent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.ChromeComponent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_version(from._internal_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.omaha_fingerprint_ = from._impl_.omaha_fingerprint_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.cohort_hash_ = from._impl_.cohort_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.component_id_ = from._impl_.component_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_ChromeComponent::CopyFrom(const SystemProfileProto_ChromeComponent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.ChromeComponent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_ChromeComponent::InternalSwap(SystemProfileProto_ChromeComponent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.component_id_)
      + sizeof(SystemProfileProto_ChromeComponent::_impl_.component_id_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_ChromeComponent, _impl_.omaha_fingerprint_)>(
          reinterpret_cast<char*>(&_impl_.omaha_fingerprint_),
          reinterpret_cast<char*>(&other->_impl_.omaha_fingerprint_));
}

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

SystemProfileProto_LinkedAndroidPhoneData::SystemProfileProto_LinkedAndroidPhoneData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_LinkedAndroidPhoneData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.LinkedAndroidPhoneData)
}
SystemProfileProto_LinkedAndroidPhoneData::SystemProfileProto_LinkedAndroidPhoneData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SystemProfileProto_LinkedAndroidPhoneData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_LinkedAndroidPhoneData_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_LinkedAndroidPhoneData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void SystemProfileProto_LinkedAndroidPhoneData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, phone_model_name_hash_),
           0,
           offsetof(Impl_, is_messages_enabled_) -
               offsetof(Impl_, phone_model_name_hash_) +
               sizeof(Impl_::is_messages_enabled_));
}
SystemProfileProto_LinkedAndroidPhoneData::~SystemProfileProto_LinkedAndroidPhoneData() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  SharedDtor(*this);
}
inline void SystemProfileProto_LinkedAndroidPhoneData::SharedDtor(MessageLite& self) {
  SystemProfileProto_LinkedAndroidPhoneData& this_ = static_cast<SystemProfileProto_LinkedAndroidPhoneData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_LinkedAndroidPhoneData_class_data_ =
    SystemProfileProto_LinkedAndroidPhoneData::InternalGenerateClassData_(SystemProfileProto_LinkedAndroidPhoneData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_LinkedAndroidPhoneData::GetClassData() const {
  return SystemProfileProto_LinkedAndroidPhoneData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_LinkedAndroidPhoneData::GetClassData() const {
  return SystemProfileProto_LinkedAndroidPhoneData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_LinkedAndroidPhoneData::ParseTableT_
    SystemProfileProto_LinkedAndroidPhoneData::_table_ =
        SystemProfileProto_LinkedAndroidPhoneData::InternalGenerateParseTable_(SystemProfileProto_LinkedAndroidPhoneData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_LinkedAndroidPhoneData::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    ::memset(&_impl_.phone_model_name_hash_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.is_messages_enabled_) -
        reinterpret_cast<char*>(&_impl_.phone_model_name_hash_)) + sizeof(_impl_.is_messages_enabled_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_LinkedAndroidPhoneData::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_LinkedAndroidPhoneData& this_ = static_cast<const SystemProfileProto_LinkedAndroidPhoneData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_LinkedAndroidPhoneData::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_LinkedAndroidPhoneData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // fixed32 phone_model_name_hash = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        1, this_._internal_phone_model_name_hash(), target);
  }

  // bool is_smartlock_enabled = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_is_smartlock_enabled(), target);
  }

  // bool is_instant_tethering_enabled = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_is_instant_tethering_enabled(), target);
  }

  // bool is_messages_enabled = 4 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_messages_enabled(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_LinkedAndroidPhoneData::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_LinkedAndroidPhoneData& this_ = static_cast<const SystemProfileProto_LinkedAndroidPhoneData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_LinkedAndroidPhoneData::ByteSizeLong() const {
  const SystemProfileProto_LinkedAndroidPhoneData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 5;
  total_size += ::absl::popcount(0x0000000eU & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_LinkedAndroidPhoneData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_LinkedAndroidPhoneData*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_LinkedAndroidPhoneData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.phone_model_name_hash_ = from._impl_.phone_model_name_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.is_smartlock_enabled_ = from._impl_.is_smartlock_enabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.is_instant_tethering_enabled_ = from._impl_.is_instant_tethering_enabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.is_messages_enabled_ = from._impl_.is_messages_enabled_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_LinkedAndroidPhoneData::CopyFrom(const SystemProfileProto_LinkedAndroidPhoneData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.LinkedAndroidPhoneData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_LinkedAndroidPhoneData::InternalSwap(SystemProfileProto_LinkedAndroidPhoneData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.is_messages_enabled_)
      + sizeof(SystemProfileProto_LinkedAndroidPhoneData::_impl_.is_messages_enabled_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_LinkedAndroidPhoneData, _impl_.phone_model_name_hash_)>(
          reinterpret_cast<char*>(&_impl_.phone_model_name_hash_),
          reinterpret_cast<char*>(&other->_impl_.phone_model_name_hash_));
}

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

SystemProfileProto_DemoModeDimensions_Retailer::SystemProfileProto_DemoModeDimensions_Retailer(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_DemoModeDimensions_Retailer_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_DemoModeDimensions_Retailer::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_DemoModeDimensions_Retailer& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        retailer_id_(arena, from.retailer_id_),
        store_id_(arena, from.store_id_) {}

SystemProfileProto_DemoModeDimensions_Retailer::SystemProfileProto_DemoModeDimensions_Retailer(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_DemoModeDimensions_Retailer& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_DemoModeDimensions_Retailer_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_DemoModeDimensions_Retailer* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_DemoModeDimensions_Retailer::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        retailer_id_(arena),
        store_id_(arena) {}

inline void SystemProfileProto_DemoModeDimensions_Retailer::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SystemProfileProto_DemoModeDimensions_Retailer::~SystemProfileProto_DemoModeDimensions_Retailer() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  SharedDtor(*this);
}
inline void SystemProfileProto_DemoModeDimensions_Retailer::SharedDtor(MessageLite& self) {
  SystemProfileProto_DemoModeDimensions_Retailer& this_ = static_cast<SystemProfileProto_DemoModeDimensions_Retailer&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.retailer_id_.Destroy();
  this_._impl_.store_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_DemoModeDimensions_Retailer_class_data_ =
    SystemProfileProto_DemoModeDimensions_Retailer::InternalGenerateClassData_(SystemProfileProto_DemoModeDimensions_Retailer_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_DemoModeDimensions_Retailer::GetClassData() const {
  return SystemProfileProto_DemoModeDimensions_Retailer_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_DemoModeDimensions_Retailer::GetClassData() const {
  return SystemProfileProto_DemoModeDimensions_Retailer_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_DemoModeDimensions_Retailer::ParseTableT_
    SystemProfileProto_DemoModeDimensions_Retailer::_table_ =
        SystemProfileProto_DemoModeDimensions_Retailer::InternalGenerateParseTable_(SystemProfileProto_DemoModeDimensions_Retailer_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_DemoModeDimensions_Retailer::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.retailer_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.store_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions_Retailer::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_DemoModeDimensions_Retailer& this_ = static_cast<const SystemProfileProto_DemoModeDimensions_Retailer&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions_Retailer::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_DemoModeDimensions_Retailer& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string retailer_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_retailer_id();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string store_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_store_id();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_DemoModeDimensions_Retailer::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_DemoModeDimensions_Retailer& this_ = static_cast<const SystemProfileProto_DemoModeDimensions_Retailer&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_DemoModeDimensions_Retailer::ByteSizeLong() const {
  const SystemProfileProto_DemoModeDimensions_Retailer& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string retailer_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_retailer_id());
    }
    // string store_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_store_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_DemoModeDimensions_Retailer::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_DemoModeDimensions_Retailer*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_DemoModeDimensions_Retailer&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_retailer_id(from._internal_retailer_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_store_id(from._internal_store_id());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_DemoModeDimensions_Retailer::CopyFrom(const SystemProfileProto_DemoModeDimensions_Retailer& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.DemoModeDimensions.Retailer)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_DemoModeDimensions_Retailer::InternalSwap(SystemProfileProto_DemoModeDimensions_Retailer* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.retailer_id_, &other->_impl_.retailer_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.store_id_, &other->_impl_.store_id_, arena);
}

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

SystemProfileProto_DemoModeDimensions::SystemProfileProto_DemoModeDimensions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_DemoModeDimensions_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.DemoModeDimensions)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_DemoModeDimensions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_DemoModeDimensions& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        customization_facet_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_DemoModeDimensions,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_DemoModeDimensions, _impl_.customization_facet_)>()
          , from.customization_facet_
        }
        ,
        _customization_facet_cached_byte_size_{0},
        country_(arena, from.country_),
        app_version_(arena, from.app_version_),
        resources_version_(arena, from.resources_version_) {}

SystemProfileProto_DemoModeDimensions::SystemProfileProto_DemoModeDimensions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_DemoModeDimensions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_DemoModeDimensions_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_DemoModeDimensions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.retailer_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.retailer_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.DemoModeDimensions)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_DemoModeDimensions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        customization_facet_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_DemoModeDimensions,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_DemoModeDimensions, _impl_.customization_facet_)>()
         }
        ,
        _customization_facet_cached_byte_size_{0},
        country_(arena),
        app_version_(arena),
        resources_version_(arena) {}

inline void SystemProfileProto_DemoModeDimensions::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.retailer_ = {};
}
SystemProfileProto_DemoModeDimensions::~SystemProfileProto_DemoModeDimensions() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.DemoModeDimensions)
  SharedDtor(*this);
}
inline void SystemProfileProto_DemoModeDimensions::SharedDtor(MessageLite& self) {
  SystemProfileProto_DemoModeDimensions& this_ = static_cast<SystemProfileProto_DemoModeDimensions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.country_.Destroy();
  this_._impl_.app_version_.Destroy();
  this_._impl_.resources_version_.Destroy();
  delete this_._impl_.retailer_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_DemoModeDimensions_class_data_ =
    SystemProfileProto_DemoModeDimensions::InternalGenerateClassData_(SystemProfileProto_DemoModeDimensions_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_DemoModeDimensions::GetClassData() const {
  return SystemProfileProto_DemoModeDimensions_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_DemoModeDimensions::GetClassData() const {
  return SystemProfileProto_DemoModeDimensions_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_DemoModeDimensions::ParseTableT_
    SystemProfileProto_DemoModeDimensions::_table_ =
        SystemProfileProto_DemoModeDimensions::InternalGenerateParseTable_(SystemProfileProto_DemoModeDimensions_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_DemoModeDimensions::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.DemoModeDimensions)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.customization_facet_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.country_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.app_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.resources_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.retailer_ != nullptr);
      _impl_.retailer_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_DemoModeDimensions& this_ = static_cast<const SystemProfileProto_DemoModeDimensions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_DemoModeDimensions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_DemoModeDimensions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.DemoModeDimensions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // string country = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_country();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .metrics.SystemProfileProto.DemoModeDimensions.Retailer retailer = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.retailer_, this_._impl_.retailer_->GetCachedSize(), target,
        stream);
  }

  // repeated .metrics.SystemProfileProto.DemoModeDimensions.CustomizationFacet customization_facet = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._customization_facet_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            3, this_._internal_customization_facet(), byte_size, target);
      }
    }
  }

  // string app_version = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_app_version();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string resources_version = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_resources_version();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.DemoModeDimensions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_DemoModeDimensions::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_DemoModeDimensions& this_ = static_cast<const SystemProfileProto_DemoModeDimensions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_DemoModeDimensions::ByteSizeLong() const {
  const SystemProfileProto_DemoModeDimensions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.DemoModeDimensions)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .metrics.SystemProfileProto.DemoModeDimensions.CustomizationFacet customization_facet = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_customization_facet(), 1, this_._impl_._customization_facet_cached_byte_size_);
    }
    // string country = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_country());
    }
    // string app_version = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_version());
    }
    // string resources_version = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_resources_version());
    }
    // .metrics.SystemProfileProto.DemoModeDimensions.Retailer retailer = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.retailer_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_DemoModeDimensions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_DemoModeDimensions*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_DemoModeDimensions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.DemoModeDimensions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_customization_facet()->MergeFrom(from._internal_customization_facet());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_country(from._internal_country());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_app_version(from._internal_app_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_resources_version(from._internal_resources_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.retailer_ != nullptr);
      if (_this->_impl_.retailer_ == nullptr) {
        _this->_impl_.retailer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.retailer_);
      } else {
        _this->_impl_.retailer_->MergeFrom(*from._impl_.retailer_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_DemoModeDimensions::CopyFrom(const SystemProfileProto_DemoModeDimensions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.DemoModeDimensions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_DemoModeDimensions::InternalSwap(SystemProfileProto_DemoModeDimensions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.customization_facet_.InternalSwap(&other->_impl_.customization_facet_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.country_, &other->_impl_.country_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_version_, &other->_impl_.app_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.resources_version_, &other->_impl_.resources_version_, arena);
  swap(_impl_.retailer_, other->_impl_.retailer_);
}

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

SystemProfileProto_TpmIdentifier::SystemProfileProto_TpmIdentifier(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_TpmIdentifier_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.TpmIdentifier)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_TpmIdentifier::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_TpmIdentifier& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        manufacturer_version_(arena, from.manufacturer_version_),
        manufacturer_version_info_(arena, from.manufacturer_version_info_),
        tpm_specific_version_(arena, from.tpm_specific_version_) {}

SystemProfileProto_TpmIdentifier::SystemProfileProto_TpmIdentifier(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_TpmIdentifier& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_TpmIdentifier_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_TpmIdentifier* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, manufacturer_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, manufacturer_id_),
           offsetof(Impl_, tpm_specific_version_hash_) -
               offsetof(Impl_, manufacturer_id_) +
               sizeof(Impl_::tpm_specific_version_hash_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.TpmIdentifier)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_TpmIdentifier::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        manufacturer_version_(arena),
        manufacturer_version_info_(arena),
        tpm_specific_version_(arena) {}

inline void SystemProfileProto_TpmIdentifier::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, manufacturer_id_),
           0,
           offsetof(Impl_, tpm_specific_version_hash_) -
               offsetof(Impl_, manufacturer_id_) +
               sizeof(Impl_::tpm_specific_version_hash_));
}
SystemProfileProto_TpmIdentifier::~SystemProfileProto_TpmIdentifier() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.TpmIdentifier)
  SharedDtor(*this);
}
inline void SystemProfileProto_TpmIdentifier::SharedDtor(MessageLite& self) {
  SystemProfileProto_TpmIdentifier& this_ = static_cast<SystemProfileProto_TpmIdentifier&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.manufacturer_version_.Destroy();
  this_._impl_.manufacturer_version_info_.Destroy();
  this_._impl_.tpm_specific_version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_TpmIdentifier_class_data_ =
    SystemProfileProto_TpmIdentifier::InternalGenerateClassData_(SystemProfileProto_TpmIdentifier_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_TpmIdentifier::GetClassData() const {
  return SystemProfileProto_TpmIdentifier_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_TpmIdentifier::GetClassData() const {
  return SystemProfileProto_TpmIdentifier_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_TpmIdentifier::ParseTableT_
    SystemProfileProto_TpmIdentifier::_table_ =
        SystemProfileProto_TpmIdentifier::InternalGenerateParseTable_(SystemProfileProto_TpmIdentifier_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_TpmIdentifier::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.TpmIdentifier)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.manufacturer_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.manufacturer_version_info_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.tpm_specific_version_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.manufacturer_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tpm_specific_version_hash_) -
        reinterpret_cast<char*>(&_impl_.manufacturer_id_)) + sizeof(_impl_.tpm_specific_version_hash_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_TpmIdentifier::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_TpmIdentifier& this_ = static_cast<const SystemProfileProto_TpmIdentifier&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_TpmIdentifier::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_TpmIdentifier& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.TpmIdentifier)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // fixed32 manufacturer_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        1, this_._internal_manufacturer_id(), target);
  }

  // string manufacturer_version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_manufacturer_version();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // fixed32 manufacturer_version_hash = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        3, this_._internal_manufacturer_version_hash(), target);
  }

  // string manufacturer_version_info = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_manufacturer_version_info();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // fixed32 manufacturer_version_info_hash = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        5, this_._internal_manufacturer_version_info_hash(), target);
  }

  // string tpm_specific_version = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_tpm_specific_version();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // fixed32 tpm_specific_version_hash = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed32ToArray(
        7, this_._internal_tpm_specific_version_hash(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.TpmIdentifier)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_TpmIdentifier::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_TpmIdentifier& this_ = static_cast<const SystemProfileProto_TpmIdentifier&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_TpmIdentifier::ByteSizeLong() const {
  const SystemProfileProto_TpmIdentifier& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.TpmIdentifier)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000078U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // string manufacturer_version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer_version());
    }
    // string manufacturer_version_info = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_manufacturer_version_info());
    }
    // string tpm_specific_version = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tpm_specific_version());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_TpmIdentifier::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_TpmIdentifier*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_TpmIdentifier&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.TpmIdentifier)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_manufacturer_version(from._internal_manufacturer_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_manufacturer_version_info(from._internal_manufacturer_version_info());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_tpm_specific_version(from._internal_tpm_specific_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.manufacturer_id_ = from._impl_.manufacturer_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.manufacturer_version_hash_ = from._impl_.manufacturer_version_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.manufacturer_version_info_hash_ = from._impl_.manufacturer_version_info_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.tpm_specific_version_hash_ = from._impl_.tpm_specific_version_hash_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_TpmIdentifier::CopyFrom(const SystemProfileProto_TpmIdentifier& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.TpmIdentifier)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_TpmIdentifier::InternalSwap(SystemProfileProto_TpmIdentifier* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_version_, &other->_impl_.manufacturer_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.manufacturer_version_info_, &other->_impl_.manufacturer_version_info_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tpm_specific_version_, &other->_impl_.tpm_specific_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.tpm_specific_version_hash_)
      + sizeof(SystemProfileProto_TpmIdentifier::_impl_.tpm_specific_version_hash_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto_TpmIdentifier, _impl_.manufacturer_id_)>(
          reinterpret_cast<char*>(&_impl_.manufacturer_id_),
          reinterpret_cast<char*>(&other->_impl_.manufacturer_id_));
}

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

SystemProfileProto_AccessibilityState::SystemProfileProto_AccessibilityState(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_AccessibilityState_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.AccessibilityState)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_AccessibilityState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_AccessibilityState& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        enabled_modes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_AccessibilityState,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_AccessibilityState, _impl_.enabled_modes_)>()
          , from.enabled_modes_
        }
        ,
        _enabled_modes_cached_byte_size_{0} {}

SystemProfileProto_AccessibilityState::SystemProfileProto_AccessibilityState(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_AccessibilityState& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_AccessibilityState_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_AccessibilityState* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.AccessibilityState)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_AccessibilityState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        enabled_modes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_AccessibilityState,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_AccessibilityState, _impl_.enabled_modes_)>()
         }
        ,
        _enabled_modes_cached_byte_size_{0} {}

inline void SystemProfileProto_AccessibilityState::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SystemProfileProto_AccessibilityState::~SystemProfileProto_AccessibilityState() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.AccessibilityState)
  SharedDtor(*this);
}
inline void SystemProfileProto_AccessibilityState::SharedDtor(MessageLite& self) {
  SystemProfileProto_AccessibilityState& this_ = static_cast<SystemProfileProto_AccessibilityState&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_AccessibilityState_class_data_ =
    SystemProfileProto_AccessibilityState::InternalGenerateClassData_(SystemProfileProto_AccessibilityState_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_AccessibilityState::GetClassData() const {
  return SystemProfileProto_AccessibilityState_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_AccessibilityState::GetClassData() const {
  return SystemProfileProto_AccessibilityState_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_AccessibilityState::ParseTableT_
    SystemProfileProto_AccessibilityState::_table_ =
        SystemProfileProto_AccessibilityState::InternalGenerateParseTable_(SystemProfileProto_AccessibilityState_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_AccessibilityState::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.AccessibilityState)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.enabled_modes_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_AccessibilityState::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_AccessibilityState& this_ = static_cast<const SystemProfileProto_AccessibilityState&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_AccessibilityState::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_AccessibilityState& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.AccessibilityState)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .metrics.SystemProfileProto.AccessibilityState.AXMode enabled_modes = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._enabled_modes_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            1, this_._internal_enabled_modes(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.AccessibilityState)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_AccessibilityState::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_AccessibilityState& this_ = static_cast<const SystemProfileProto_AccessibilityState&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_AccessibilityState::ByteSizeLong() const {
  const SystemProfileProto_AccessibilityState& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.AccessibilityState)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .metrics.SystemProfileProto.AccessibilityState.AXMode enabled_modes = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_enabled_modes(), 1, this_._impl_._enabled_modes_cached_byte_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_AccessibilityState::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_AccessibilityState*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_AccessibilityState&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.AccessibilityState)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_enabled_modes()->MergeFrom(from._internal_enabled_modes());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_AccessibilityState::CopyFrom(const SystemProfileProto_AccessibilityState& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.AccessibilityState)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_AccessibilityState::InternalSwap(SystemProfileProto_AccessibilityState* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.enabled_modes_.InternalSwap(&other->_impl_.enabled_modes_);
}

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

SystemProfileProto_EnterpriseManagement::SystemProfileProto_EnterpriseManagement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_EnterpriseManagement_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto.EnterpriseManagement)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_EnterpriseManagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto_EnterpriseManagement& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        platform_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_EnterpriseManagement,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.platform_status_)>()
          , from.platform_status_
        }
        ,
        _platform_status_cached_byte_size_{0},
        browser_status_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto_EnterpriseManagement,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.browser_status_)>()
          , from.browser_status_
        }
        ,
        _browser_status_cached_byte_size_{0} {}

SystemProfileProto_EnterpriseManagement::SystemProfileProto_EnterpriseManagement(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto_EnterpriseManagement& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_EnterpriseManagement_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto_EnterpriseManagement* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto.EnterpriseManagement)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto_EnterpriseManagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        platform_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_EnterpriseManagement,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.platform_status_)>()
         }
        ,
        _platform_status_cached_byte_size_{0},
        browser_status_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto_EnterpriseManagement,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto_EnterpriseManagement, _impl_.browser_status_)>()
         }
        ,
        _browser_status_cached_byte_size_{0} {}

inline void SystemProfileProto_EnterpriseManagement::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SystemProfileProto_EnterpriseManagement::~SystemProfileProto_EnterpriseManagement() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto.EnterpriseManagement)
  SharedDtor(*this);
}
inline void SystemProfileProto_EnterpriseManagement::SharedDtor(MessageLite& self) {
  SystemProfileProto_EnterpriseManagement& this_ = static_cast<SystemProfileProto_EnterpriseManagement&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_EnterpriseManagement_class_data_ =
    SystemProfileProto_EnterpriseManagement::InternalGenerateClassData_(SystemProfileProto_EnterpriseManagement_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_EnterpriseManagement::GetClassData() const {
  return SystemProfileProto_EnterpriseManagement_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto_EnterpriseManagement::GetClassData() const {
  return SystemProfileProto_EnterpriseManagement_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto_EnterpriseManagement::ParseTableT_
    SystemProfileProto_EnterpriseManagement::_table_ =
        SystemProfileProto_EnterpriseManagement::InternalGenerateParseTable_(SystemProfileProto_EnterpriseManagement_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto_EnterpriseManagement::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto.EnterpriseManagement)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.platform_status_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.browser_status_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_EnterpriseManagement::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto_EnterpriseManagement& this_ = static_cast<const SystemProfileProto_EnterpriseManagement&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto_EnterpriseManagement::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto_EnterpriseManagement& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto.EnterpriseManagement)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .metrics.SystemProfileProto.EnterpriseManagement.PlatformStatus platform_status = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._platform_status_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            1, this_._internal_platform_status(), byte_size, target);
      }
    }
  }

  // repeated .metrics.SystemProfileProto.EnterpriseManagement.BrowserStatus browser_status = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      ::size_t byte_size = this_._impl_._browser_status_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_browser_status(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto.EnterpriseManagement)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto_EnterpriseManagement::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto_EnterpriseManagement& this_ = static_cast<const SystemProfileProto_EnterpriseManagement&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto_EnterpriseManagement::ByteSizeLong() const {
  const SystemProfileProto_EnterpriseManagement& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto.EnterpriseManagement)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .metrics.SystemProfileProto.EnterpriseManagement.PlatformStatus platform_status = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_platform_status(), 1, this_._impl_._platform_status_cached_byte_size_);
    }
    // repeated .metrics.SystemProfileProto.EnterpriseManagement.BrowserStatus browser_status = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_browser_status(), 1, this_._impl_._browser_status_cached_byte_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto_EnterpriseManagement::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto_EnterpriseManagement*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto_EnterpriseManagement&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto.EnterpriseManagement)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_platform_status()->MergeFrom(from._internal_platform_status());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_browser_status()->MergeFrom(from._internal_browser_status());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SystemProfileProto_EnterpriseManagement::CopyFrom(const SystemProfileProto_EnterpriseManagement& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.SystemProfileProto.EnterpriseManagement)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SystemProfileProto_EnterpriseManagement::InternalSwap(SystemProfileProto_EnterpriseManagement* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.platform_status_.InternalSwap(&other->_impl_.platform_status_);
  _impl_.browser_status_.InternalSwap(&other->_impl_.browser_status_);
}

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

void SystemProfileProto::clear_extension_install() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.extension_install_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
SystemProfileProto::SystemProfileProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.SystemProfileProto)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::SystemProfileProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        field_trial_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.field_trial_)>()
          , from.field_trial_
        }
        ,
        external_audio_video_device_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.external_audio_video_device_)>()
          , from.external_audio_video_device_
        }
        ,
        occupied_extension_bucket_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.occupied_extension_bucket_)>()
          , from.occupied_extension_bucket_
        }
        ,
        _occupied_extension_bucket_cached_byte_size_{0},
        antivirus_product_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.antivirus_product_)>()
          , from.antivirus_product_
        }
        ,
        chrome_component_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.chrome_component_)>()
          , from.chrome_component_
        }
        ,
        extension_install_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.extension_install_)>()
          , from.extension_install_
        }
        ,
        app_version_(arena, from.app_version_),
        application_locale_(arena, from.application_locale_),
        brand_code_(arena, from.brand_code_),
        app_package_name_(arena, from.app_package_name_),
        variations_seed_version_(arena, from.variations_seed_version_),
        command_line_key_hash_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::SystemProfileProto,
              PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.command_line_key_hash_)>()
          , from.command_line_key_hash_
        }
        ,
        client_uuid_(arena, from.client_uuid_),
        log_written_by_app_version_(arena, from.log_written_by_app_version_) {}

SystemProfileProto::SystemProfileProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SystemProfileProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SystemProfileProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SystemProfileProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.os_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.os_)
                : nullptr;
  _impl_.hardware_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.hardware_)
                : nullptr;
  _impl_.stability_ = (CheckHasBit(cached_has_bits, 0x00002000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.stability_)
                : nullptr;
  _impl_.google_update_ = (CheckHasBit(cached_has_bits, 0x00004000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.google_update_)
                : nullptr;
  _impl_.network_ = (CheckHasBit(cached_has_bits, 0x00008000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.network_)
                : nullptr;
  _impl_.external_access_point_ = (CheckHasBit(cached_has_bits, 0x00010000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.external_access_point_)
                : nullptr;
  _impl_.linked_android_phone_data_ = (CheckHasBit(cached_has_bits, 0x00020000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.linked_android_phone_data_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, build_timestamp_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, build_timestamp_),
           offsetof(Impl_, session_hash_) -
               offsetof(Impl_, build_timestamp_) +
               sizeof(Impl_::session_hash_));
  cached_has_bits = _impl_._has_bits_[1];
  _impl_.cloned_install_info_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloned_install_info_)
                : nullptr;
  _impl_.demo_mode_dimensions_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.demo_mode_dimensions_)
                : nullptr;
  _impl_.tpm_identifier_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.tpm_identifier_)
                : nullptr;
  _impl_.accessibility_state_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.accessibility_state_)
                : nullptr;
  _impl_.enterprise_management_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.enterprise_management_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, old_low_entropy_source_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, old_low_entropy_source_),
           offsetof(Impl_, fg_bg_id_) -
               offsetof(Impl_, old_low_entropy_source_) +
               sizeof(Impl_::fg_bg_id_));

  // @@protoc_insertion_point(copy_constructor:metrics.SystemProfileProto)
}
PROTOBUF_NDEBUG_INLINE SystemProfileProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        field_trial_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.field_trial_)>()
         }
        ,
        external_audio_video_device_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.external_audio_video_device_)>()
         }
        ,
        occupied_extension_bucket_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.occupied_extension_bucket_)>()
         }
        ,
        _occupied_extension_bucket_cached_byte_size_{0},
        antivirus_product_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.antivirus_product_)>()
         }
        ,
        chrome_component_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.chrome_component_)>()
         }
        ,
        extension_install_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.extension_install_)>()
         }
        ,
        app_version_(arena),
        application_locale_(arena),
        brand_code_(arena),
        app_package_name_(arena),
        variations_seed_version_(arena),
        command_line_key_hash_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::SystemProfileProto,
            PROTOBUF_FIELD_OFFSET(::metrics::SystemProfileProto, _impl_.command_line_key_hash_)>()
         }
        ,
        client_uuid_(arena),
        log_written_by_app_version_(arena) {}

inline void SystemProfileProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, os_),
           0,
           offsetof(Impl_, session_hash_) -
               offsetof(Impl_, os_) +
               sizeof(Impl_::session_hash_));
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, cloned_install_info_),
           0,
           offsetof(Impl_, fg_bg_id_) -
               offsetof(Impl_, cloned_install_info_) +
               sizeof(Impl_::fg_bg_id_));
}
SystemProfileProto::~SystemProfileProto() {
  // @@protoc_insertion_point(destructor:metrics.SystemProfileProto)
  SharedDtor(*this);
}
inline void SystemProfileProto::SharedDtor(MessageLite& self) {
  SystemProfileProto& this_ = static_cast<SystemProfileProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.app_version_.Destroy();
  this_._impl_.application_locale_.Destroy();
  this_._impl_.brand_code_.Destroy();
  this_._impl_.app_package_name_.Destroy();
  this_._impl_.variations_seed_version_.Destroy();
  delete this_._impl_.os_;
  delete this_._impl_.hardware_;
  delete this_._impl_.stability_;
  delete this_._impl_.google_update_;
  delete this_._impl_.network_;
  delete this_._impl_.external_access_point_;
  delete this_._impl_.linked_android_phone_data_;
  this_._impl_.client_uuid_.Destroy();
  this_._impl_.log_written_by_app_version_.Destroy();
  delete this_._impl_.cloned_install_info_;
  delete this_._impl_.demo_mode_dimensions_;
  delete this_._impl_.tpm_identifier_;
  delete this_._impl_.accessibility_state_;
  delete this_._impl_.enterprise_management_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SystemProfileProto_class_data_ =
    SystemProfileProto::InternalGenerateClassData_(SystemProfileProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto::GetClassData() const {
  return SystemProfileProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SystemProfileProto::GetClassData() const {
  return SystemProfileProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SystemProfileProto::ParseTableT_
    SystemProfileProto::_table_ =
        SystemProfileProto::InternalGenerateParseTable_(SystemProfileProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SystemProfileProto::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.SystemProfileProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.field_trial_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.external_audio_video_device_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.occupied_extension_bucket_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.antivirus_product_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.chrome_component_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.extension_install_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.app_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.application_locale_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.brand_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _impl_.app_package_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _impl_.variations_seed_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.os_ != nullptr);
      _impl_.os_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.hardware_ != nullptr);
      _impl_.hardware_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(_impl_.stability_ != nullptr);
      _impl_.stability_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      ABSL_DCHECK(_impl_.google_update_ != nullptr);
      _impl_.google_update_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      ABSL_DCHECK(_impl_.network_ != nullptr);
      _impl_.network_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00030000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      ABSL_DCHECK(_impl_.external_access_point_ != nullptr);
      _impl_.external_access_point_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      ABSL_DCHECK(_impl_.linked_android_phone_data_ != nullptr);
      _impl_.linked_android_phone_data_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00fc0000U)) {
    ::memset(&_impl_.build_timestamp_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.offstore_extensions_state_) -
        reinterpret_cast<char*>(&_impl_.build_timestamp_)) + sizeof(_impl_.offstore_extensions_state_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    ::memset(&_impl_.is_instrumented_build_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.session_hash_) -
        reinterpret_cast<char*>(&_impl_.is_instrumented_build_)) + sizeof(_impl_.session_hash_));
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _impl_.command_line_key_hash_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _impl_.client_uuid_.ClearNonDefaultToEmpty();
    }
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.log_written_by_app_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.cloned_install_info_ != nullptr);
      _impl_.cloned_install_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.demo_mode_dimensions_ != nullptr);
      _impl_.demo_mode_dimensions_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.tpm_identifier_ != nullptr);
      _impl_.tpm_identifier_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.accessibility_state_ != nullptr);
      _impl_.accessibility_state_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.enterprise_management_ != nullptr);
      _impl_.enterprise_management_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.old_low_entropy_source_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.installer_package_) -
        reinterpret_cast<char*>(&_impl_.old_low_entropy_source_)) + sizeof(_impl_.installer_package_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.client_id_was_used_for_trial_assignment_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.fg_bg_id_) -
        reinterpret_cast<char*>(&_impl_.client_id_was_used_for_trial_assignment_)) + sizeof(_impl_.fg_bg_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SystemProfileProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SystemProfileProto& this_ = static_cast<const SystemProfileProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SystemProfileProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SystemProfileProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.SystemProfileProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 build_timestamp = 1;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_build_timestamp(), target);
  }

  // string app_version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_app_version();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int64 uma_enabled_date = 3;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_uma_enabled_date(), target);
  }

  // string application_locale = 4;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_application_locale();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // .metrics.SystemProfileProto.OS os = 5;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.os_, this_._impl_.os_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.Hardware hardware = 6;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.hardware_, this_._impl_.hardware_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.Stability stability = 8;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.stability_, this_._impl_.stability_->GetCachedSize(), target,
        stream);
  }

  // repeated .metrics.SystemProfileProto.FieldTrial field_trial = 9;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_field_trial_size());
         i < n; i++) {
      const auto& repfield = this_._internal_field_trial().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .metrics.SystemProfileProto.Channel channel = 10;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this_._internal_channel(), target);
  }

  // .metrics.SystemProfileProto.GoogleUpdate google_update = 11;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.google_update_, this_._impl_.google_update_->GetCachedSize(), target,
        stream);
  }

  // string brand_code = 12;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_brand_code();
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // .metrics.SystemProfileProto.Network network = 13;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.network_, this_._impl_.network_->GetCachedSize(), target,
        stream);
  }

  // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice external_audio_video_device = 14;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_external_audio_video_device_size());
         i < n; i++) {
      const auto& repfield = this_._internal_external_audio_video_device().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              14, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .metrics.SystemProfileProto.ExternalAccessPoint external_access_point = 15;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, *this_._impl_.external_access_point_, this_._impl_.external_access_point_->GetCachedSize(), target,
        stream);
  }

  // int64 install_date = 16;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        16, this_._internal_install_date(), target);
  }

  // uint32 multi_profile_user_count = 17;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        17, this_._internal_multi_profile_user_count(), target);
  }

  // repeated int32 occupied_extension_bucket = 18;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    {
      int byte_size = this_._impl_._occupied_extension_bucket_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            18, this_._internal_occupied_extension_bucket(), byte_size, target);
      }
    }
  }

  // .metrics.SystemProfileProto.ExtensionsState offstore_extensions_state = 19;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        19, this_._internal_offstore_extensions_state(), target);
  }

  // bool is_instrumented_build = 20 [default = false];
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this_._internal_is_instrumented_build(), target);
  }

  // .metrics.SystemProfileProto.UmaDefaultState uma_default_state = 22;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        22, this_._internal_uma_default_state(), target);
  }

  // repeated .metrics.SystemProfileProto.AntiVirusProduct antivirus_product = 23;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_antivirus_product_size());
         i < n; i++) {
      const auto& repfield = this_._internal_antivirus_product().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              23, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .metrics.SystemProfileProto.ChromeComponent chrome_component = 24;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_chrome_component_size());
         i < n; i++) {
      const auto& repfield = this_._internal_chrome_component().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              24, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .metrics.ExtensionInstallProto extension_install = 25;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_extension_install_size());
         i < n; i++) {
      const auto& repfield = this_._internal_extension_install().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              25, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string app_package_name = 26;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_app_package_name();
    target = stream->WriteStringMaybeAliased(26, _s, target);
  }

  // string variations_seed_version = 28;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_variations_seed_version();
    target = stream->WriteStringMaybeAliased(28, _s, target);
  }

  // .metrics.SystemProfileProto.LinkedAndroidPhoneData linked_android_phone_data = 29;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        29, *this_._impl_.linked_android_phone_data_, this_._impl_.linked_android_phone_data_->GetCachedSize(), target,
        stream);
  }

  // int32 low_entropy_source = 31;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        31, this_._internal_low_entropy_source(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // int32 old_low_entropy_source = 32;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        32, this_._internal_old_low_entropy_source(), target);
  }

  // bool client_id_was_used_for_trial_assignment = 33;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        33, this_._internal_client_id_was_used_for_trial_assignment(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // string client_uuid = 34;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    const ::std::string& _s = this_._internal_client_uuid();
    target = stream->WriteStringMaybeAliased(34, _s, target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // .metrics.SystemProfileProto.InstallerPackage installer_package = 35;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        35, this_._internal_installer_package(), target);
  }

  // bool is_extended_stable_channel = 36 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        36, this_._internal_is_extended_stable_channel(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 pseudo_low_entropy_source = 37;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        37, this_._internal_pseudo_low_entropy_source(), target);
  }

  // repeated fixed32 command_line_key_hash = 38;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    if (this_._internal_command_line_key_hash_size() > 0) {
      target = stream->WriteFixedPacked(38, this_._internal_command_line_key_hash(), target);
    }
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // .metrics.SystemProfileProto.ClonedInstallInfo cloned_install_info = 39;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        39, *this_._impl_.cloned_install_info_, this_._impl_.cloned_install_info_->GetCachedSize(), target,
        stream);
  }

  // string log_written_by_app_version = 40;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_log_written_by_app_version();
    target = stream->WriteStringMaybeAliased(40, _s, target);
  }

  // .metrics.SystemProfileProto.DemoModeDimensions demo_mode_dimensions = 41;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        41, *this_._impl_.demo_mode_dimensions_, this_._impl_.demo_mode_dimensions_->GetCachedSize(), target,
        stream);
  }

  // .metrics.SystemProfileProto.AppPackageNameAllowlistFilter app_package_name_allowlist_filter = 42;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        42, this_._internal_app_package_name_allowlist_filter(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.SystemProfileProto.ClientSideSamplingStatus client_side_sampling_status = 43;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        43, this_._internal_client_side_sampling_status(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // .metrics.SystemProfileProto.MetricsFilteringStatus metrics_filtering_status = 44;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        44, this_._internal_metrics_filtering_status(), target);
  }

  // .metrics.SystemProfileProto.LTSChannel lts_channel = 45;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        45, this_._internal_lts_channel(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[0];
  // fixed64 session_hash = 46;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
        46, this_._internal_session_hash(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // .metrics.SystemProfileProto.TpmIdentifier tpm_identifier = 47;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        47, *this_._impl_.tpm_identifier_, this_._impl_.tpm_identifier_->GetCachedSize(), target,
        stream);
  }

  // int32 fg_bg_id = 48;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        48, this_._internal_fg_bg_id(), target);
  }

  // .metrics.SystemProfileProto.AccessibilityState accessibility_state = 49;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        49, *this_._impl_.accessibility_state_, this_._impl_.accessibility_state_->GetCachedSize(), target,
        stream);
  }

  // bool seed_has_active_limited_layer = 50;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        50, this_._internal_seed_has_active_limited_layer(), target);
  }

  // .metrics.SystemProfileProto.EnterpriseManagement enterprise_management = 51;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        51, *this_._impl_.enterprise_management_, this_._impl_.enterprise_management_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.SystemProfileProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SystemProfileProto::ByteSizeLong(const MessageLite& base) {
  const SystemProfileProto& this_ = static_cast<const SystemProfileProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SystemProfileProto::ByteSizeLong() const {
  const SystemProfileProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.SystemProfileProto)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x20000000U & cached_has_bits) * 10;
  total_size += static_cast<bool>(0x01000000U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .metrics.SystemProfileProto.FieldTrial field_trial = 9;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_field_trial_size();
      for (const auto& msg : this_._internal_field_trial()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.SystemProfileProto.ExternalAudioVideoDevice external_audio_video_device = 14;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_external_audio_video_device_size();
      for (const auto& msg : this_._internal_external_audio_video_device()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated int32 occupied_extension_bucket = 18;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_occupied_extension_bucket(), 2,
              this_._impl_._occupied_extension_bucket_cached_byte_size_);
    }
    // repeated .metrics.SystemProfileProto.AntiVirusProduct antivirus_product = 23;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2UL * this_._internal_antivirus_product_size();
      for (const auto& msg : this_._internal_antivirus_product()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.SystemProfileProto.ChromeComponent chrome_component = 24;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2UL * this_._internal_chrome_component_size();
      for (const auto& msg : this_._internal_chrome_component()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.ExtensionInstallProto extension_install = 25;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2UL * this_._internal_extension_install_size();
      for (const auto& msg : this_._internal_extension_install()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string app_version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_version());
    }
    // string application_locale = 4;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_application_locale());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    // string brand_code = 12;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_brand_code());
    }
    // string app_package_name = 26;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_app_package_name());
    }
    // string variations_seed_version = 28;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_variations_seed_version());
    }
    // .metrics.SystemProfileProto.OS os = 5;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.os_);
    }
    // .metrics.SystemProfileProto.Hardware hardware = 6;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.hardware_);
    }
    // .metrics.SystemProfileProto.Stability stability = 8;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.stability_);
    }
    // .metrics.SystemProfileProto.GoogleUpdate google_update = 11;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.google_update_);
    }
    // .metrics.SystemProfileProto.Network network = 13;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.network_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    // .metrics.SystemProfileProto.ExternalAccessPoint external_access_point = 15;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.external_access_point_);
    }
    // .metrics.SystemProfileProto.LinkedAndroidPhoneData linked_android_phone_data = 29;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.linked_android_phone_data_);
    }
    // int64 build_timestamp = 1;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_build_timestamp());
    }
    // int64 uma_enabled_date = 3;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_uma_enabled_date());
    }
    // .metrics.SystemProfileProto.Channel channel = 10;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_channel());
    }
    // uint32 multi_profile_user_count = 17;
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_multi_profile_user_count());
    }
    // int64 install_date = 16;
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
                                      this_._internal_install_date());
    }
    // .metrics.SystemProfileProto.ExtensionsState offstore_extensions_state = 19;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_offstore_extensions_state());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xde000000U)) {
    // .metrics.SystemProfileProto.UmaDefaultState uma_default_state = 22;
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_uma_default_state());
    }
    // int32 low_entropy_source = 31;
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_low_entropy_source());
    }
    // int32 pseudo_low_entropy_source = 37;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_pseudo_low_entropy_source());
    }
    // .metrics.SystemProfileProto.ClientSideSamplingStatus client_side_sampling_status = 43;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_client_side_sampling_status());
    }
    // repeated fixed32 command_line_key_hash = 38;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_command_line_key_hash_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 2 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // string client_uuid = 34;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_client_uuid());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  total_size += ::absl::popcount(0x00000700U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // string log_written_by_app_version = 40;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_log_written_by_app_version());
    }
    // .metrics.SystemProfileProto.ClonedInstallInfo cloned_install_info = 39;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cloned_install_info_);
    }
    // .metrics.SystemProfileProto.DemoModeDimensions demo_mode_dimensions = 41;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.demo_mode_dimensions_);
    }
    // .metrics.SystemProfileProto.TpmIdentifier tpm_identifier = 47;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.tpm_identifier_);
    }
    // .metrics.SystemProfileProto.AccessibilityState accessibility_state = 49;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.accessibility_state_);
    }
    // .metrics.SystemProfileProto.EnterpriseManagement enterprise_management = 51;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.enterprise_management_);
    }
    // int32 old_low_entropy_source = 32;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_old_low_entropy_source());
    }
    // .metrics.SystemProfileProto.InstallerPackage installer_package = 35;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_installer_package());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007800U)) {
    // .metrics.SystemProfileProto.AppPackageNameAllowlistFilter app_package_name_allowlist_filter = 42;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_app_package_name_allowlist_filter());
    }
    // .metrics.SystemProfileProto.MetricsFilteringStatus metrics_filtering_status = 44;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_metrics_filtering_status());
    }
    // .metrics.SystemProfileProto.LTSChannel lts_channel = 45;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_lts_channel());
    }
    // int32 fg_bg_id = 48;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_fg_bg_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SystemProfileProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SystemProfileProto*>(&to_msg);
  auto& from = static_cast<const SystemProfileProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.SystemProfileProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_field_trial()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_field_trial());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_external_audio_video_device()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_external_audio_video_device());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_occupied_extension_bucket()->MergeFrom(from._internal_occupied_extension_bucket());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_antivirus_product()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_antivirus_product());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_chrome_component()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_chrome_component());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_extension_install()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_extension_install());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_app_version(from._internal_app_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_application_locale(from._internal_application_locale());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_brand_code(from._internal_brand_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_app_package_name(from._internal_app_package_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_variations_seed_version(from._internal_variations_seed_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.os_ != nullptr);
      if (_this->_impl_.os_ == nullptr) {
        _this->_impl_.os_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.os_);
      } else {
        _this->_impl_.os_->MergeFrom(*from._impl_.os_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.hardware_ != nullptr);
      if (_this->_impl_.hardware_ == nullptr) {
        _this->_impl_.hardware_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.hardware_);
      } else {
        _this->_impl_.hardware_->MergeFrom(*from._impl_.hardware_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ABSL_DCHECK(from._impl_.stability_ != nullptr);
      if (_this->_impl_.stability_ == nullptr) {
        _this->_impl_.stability_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.stability_);
      } else {
        _this->_impl_.stability_->MergeFrom(*from._impl_.stability_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      ABSL_DCHECK(from._impl_.google_update_ != nullptr);
      if (_this->_impl_.google_update_ == nullptr) {
        _this->_impl_.google_update_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.google_update_);
      } else {
        _this->_impl_.google_update_->MergeFrom(*from._impl_.google_update_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      ABSL_DCHECK(from._impl_.network_ != nullptr);
      if (_this->_impl_.network_ == nullptr) {
        _this->_impl_.network_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.network_);
      } else {
        _this->_impl_.network_->MergeFrom(*from._impl_.network_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      ABSL_DCHECK(from._impl_.external_access_point_ != nullptr);
      if (_this->_impl_.external_access_point_ == nullptr) {
        _this->_impl_.external_access_point_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.external_access_point_);
      } else {
        _this->_impl_.external_access_point_->MergeFrom(*from._impl_.external_access_point_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      ABSL_DCHECK(from._impl_.linked_android_phone_data_ != nullptr);
      if (_this->_impl_.linked_android_phone_data_ == nullptr) {
        _this->_impl_.linked_android_phone_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.linked_android_phone_data_);
      } else {
        _this->_impl_.linked_android_phone_data_->MergeFrom(*from._impl_.linked_android_phone_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.build_timestamp_ = from._impl_.build_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.uma_enabled_date_ = from._impl_.uma_enabled_date_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.channel_ = from._impl_.channel_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.multi_profile_user_count_ = from._impl_.multi_profile_user_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.install_date_ = from._impl_.install_date_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.offstore_extensions_state_ = from._impl_.offstore_extensions_state_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.is_instrumented_build_ = from._impl_.is_instrumented_build_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_impl_.uma_default_state_ = from._impl_.uma_default_state_;
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_impl_.low_entropy_source_ = from._impl_.low_entropy_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_impl_.pseudo_low_entropy_source_ = from._impl_.pseudo_low_entropy_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_impl_.client_side_sampling_status_ = from._impl_.client_side_sampling_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_impl_.session_hash_ = from._impl_.session_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_internal_mutable_command_line_key_hash()->MergeFrom(from._internal_command_line_key_hash());
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_internal_set_client_uuid(from._internal_client_uuid());
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_log_written_by_app_version(from._internal_log_written_by_app_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.cloned_install_info_ != nullptr);
      if (_this->_impl_.cloned_install_info_ == nullptr) {
        _this->_impl_.cloned_install_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cloned_install_info_);
      } else {
        _this->_impl_.cloned_install_info_->MergeFrom(*from._impl_.cloned_install_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.demo_mode_dimensions_ != nullptr);
      if (_this->_impl_.demo_mode_dimensions_ == nullptr) {
        _this->_impl_.demo_mode_dimensions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.demo_mode_dimensions_);
      } else {
        _this->_impl_.demo_mode_dimensions_->MergeFrom(*from._impl_.demo_mode_dimensions_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.tpm_identifier_ != nullptr);
      if (_this->_impl_.tpm_identifier_ == nullptr) {
        _this->_impl_.tpm_identifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.tpm_identifier_);
      } else {
        _this->_impl_.tpm_identifier_->MergeFrom(*from._impl_.tpm_identifier_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.accessibility_state_ != nullptr);
      if (_this->_impl_.accessibility_state_ == nullptr) {
        _this->_impl_.accessibility_state_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.accessibility_state_);
      } else {
        _this->_impl_.accessibility_state_->MergeFrom(*from._impl_.accessibility_state_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.enterprise_management_ != nullptr);
      if (_this->_impl_.enterprise_management_ == nullptr) {
        _this->_impl_.enterprise_management_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.enterprise_management_);
      } else {
        _this->_impl_.enterprise_management_->MergeFrom(*from._impl_.enterprise_management_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.old_low_entropy_source_ = from._impl_.old_low_entropy_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.installer_package_ = from._impl_.installer_package_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.client_id_was_used_for_trial_assignment_ = from._impl_.client_id_was_used_for_trial_assignment_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.is_extended_stable_channel_ = from._impl_.is_extended_stable_channel_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.seed_has_active_limited_layer_ = from._impl_.seed_has_active_limited_layer_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.app_package_name_allowlist_filter_ = from._impl_.app_package_name_allowlist_filter_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.metrics_filtering_status_ = from._impl_.metrics_filtering_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.lts_channel_ = from._impl_.lts_channel_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.fg_bg_id_ = from._impl_.fg_bg_id_;
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SystemProfileProto::InternalSwap(SystemProfileProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  _impl_.field_trial_.InternalSwap(&other->_impl_.field_trial_);
  _impl_.external_audio_video_device_.InternalSwap(&other->_impl_.external_audio_video_device_);
  _impl_.occupied_extension_bucket_.InternalSwap(&other->_impl_.occupied_extension_bucket_);
  _impl_.antivirus_product_.InternalSwap(&other->_impl_.antivirus_product_);
  _impl_.chrome_component_.InternalSwap(&other->_impl_.chrome_component_);
  _impl_.extension_install_.InternalSwap(&other->_impl_.extension_install_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_version_, &other->_impl_.app_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.application_locale_, &other->_impl_.application_locale_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.brand_code_, &other->_impl_.brand_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.app_package_name_, &other->_impl_.app_package_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.variations_seed_version_, &other->_impl_.variations_seed_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.session_hash_)
      + sizeof(SystemProfileProto::_impl_.session_hash_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.os_)>(
          reinterpret_cast<char*>(&_impl_.os_),
          reinterpret_cast<char*>(&other->_impl_.os_));
  _impl_.command_line_key_hash_.InternalSwap(&other->_impl_.command_line_key_hash_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.client_uuid_, &other->_impl_.client_uuid_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.log_written_by_app_version_, &other->_impl_.log_written_by_app_version_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.fg_bg_id_)
      + sizeof(SystemProfileProto::_impl_.fg_bg_id_)
      - PROTOBUF_FIELD_OFFSET(SystemProfileProto, _impl_.cloned_install_info_)>(
          reinterpret_cast<char*>(&_impl_.cloned_install_info_),
          reinterpret_cast<char*>(&other->_impl_.cloned_install_info_));
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace metrics
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
