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

#include "components/private_ai/proto/private_ai.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 private_ai {
namespace proto {
class ChromeClientMetadata::_Internal {
 public:
  using HasBits = decltype(::std::declval<ChromeClientMetadata>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_._has_bits_);
};

constexpr ChromeClientMetadata::ParseTableT_ ChromeClientMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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<::private_ai::proto::ChromeClientMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string product_name = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.product_name_)}},
      // .private_ai.proto.ChromeClientMetadata.Platform platform = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.platform_)}},
      // .private_ai.proto.ChromeClientMetadata.Channel channel = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.channel_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string product_name = 1;
      {PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.product_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .private_ai.proto.ChromeClientMetadata.Platform platform = 2;
      {PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.platform_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .private_ai.proto.ChromeClientMetadata.Channel channel = 3;
      {PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.channel_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
      "\45\14\0\0\0\0\0\0"
      "private_ai.proto.ChromeClientMetadata"
      "product_name"
    }},
  };
}


inline constexpr ChromeClientMetadata::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()),
        platform_{static_cast< ::private_ai::proto::ChromeClientMetadata_Platform >(0)},
        channel_{static_cast< ::private_ai::proto::ChromeClientMetadata_Channel >(0)} {}

template <typename>
constexpr ChromeClientMetadata::ChromeClientMetadata(::_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 ChromeClientMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ChromeClientMetadata(arena);
}
constexpr auto ChromeClientMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ChromeClientMetadata), alignof(ChromeClientMetadata));
}
constexpr auto ChromeClientMetadata::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
          &ChromeClientMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ChromeClientMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ChromeClientMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ChromeClientMetadata>(), &ChromeClientMetadata::ByteSizeLong,
              &ChromeClientMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.ChromeClientMetadata",
  };
}
struct ChromeClientMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ChromeClientMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ChromeClientMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ChromeClientMetadata::InternalGenerateClassData_(
            _default, &ChromeClientMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ChromeClientMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ChromeClientMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ChromeClientMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ChromeClientMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ChromeClientMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Blob::ParseTableT_ Blob::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Blob, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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<::private_ai::proto::Blob>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string mime_type = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Blob, _impl_.mime_type_)}},
      // bytes data = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Blob, _impl_.data_)}},
      // bool will_continue = 3;
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Blob, _impl_.will_continue_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string mime_type = 1;
      {PROTOBUF_FIELD_OFFSET(Blob, _impl_.mime_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bytes data = 2;
      {PROTOBUF_FIELD_OFFSET(Blob, _impl_.data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // bool will_continue = 3;
      {PROTOBUF_FIELD_OFFSET(Blob, _impl_.will_continue_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
      "\25\11\0\0\0\0\0\0"
      "private_ai.proto.Blob"
      "mime_type"
    }},
  };
}


inline constexpr Blob::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        mime_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        will_continue_{false} {}

template <typename>
constexpr Blob::Blob(::_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 Blob::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Blob(arena);
}
constexpr auto Blob::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Blob), alignof(Blob));
}
constexpr auto Blob::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
          &Blob::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Blob>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Blob::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Blob>(), &Blob::ByteSizeLong,
              &Blob::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Blob, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.Blob",
  };
}
struct BlobGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BlobGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Blob_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Blob::InternalGenerateClassData_(
            _default, &Blob_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Blob>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BlobGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Blob _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Blob>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BlobGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST BlobGlobalsTypeInternal Blob_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Blob_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Blob_globals_.GetClassData();
#else
  return Blob_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class Part::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::private_ai::proto::Part, _impl_._oneof_case_);
};

constexpr Part::ParseTableT_ Part::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Part,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // 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<::private_ai::proto::Part>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string text = 1;
      {PROTOBUF_FIELD_OFFSET(Part, _impl_.data_.text_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .private_ai.proto.Blob inline_data = 2;
      {PROTOBUF_FIELD_OFFSET(Part, _impl_.data_.inline_data_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::Blob>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::Blob_globals_},
        #endif
    }},
    {{
      "\25\4\0\0\0\0\0\0"
      "private_ai.proto.Part"
      "text"
    }},
  };
}


inline constexpr Part::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : data_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr Part::Part(::_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 Part::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Part(arena);
}
constexpr auto Part::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Part), alignof(Part));
}
constexpr auto Part::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
          &Part::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Part>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Part::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Part>(), &Part::ByteSizeLong,
              &Part::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Part, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.Part",
  };
}
struct PartGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PartGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Part_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Part::InternalGenerateClassData_(
            _default, &Part_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Part>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PartGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Part _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Part>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PartGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PartGlobalsTypeInternal Part_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Part_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Part_globals_.GetClassData();
#else
  return Part_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ClientMetadata::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::private_ai::proto::ClientMetadata, _impl_._oneof_case_);
};

constexpr ClientMetadata::ParseTableT_ ClientMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ClientMetadata,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967293,  // 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<::private_ai::proto::ClientMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .private_ai.proto.ChromeClientMetadata chrome_client_metadata = 2;
      {PROTOBUF_FIELD_OFFSET(ClientMetadata, _impl_.platform_metadata_.chrome_client_metadata_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::ChromeClientMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::ChromeClientMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ClientMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : platform_metadata_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr ClientMetadata::ClientMetadata(::_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 ClientMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ClientMetadata(arena);
}
constexpr auto ClientMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ClientMetadata), alignof(ClientMetadata));
}
constexpr auto ClientMetadata::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
          &ClientMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ClientMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ClientMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ClientMetadata>(), &ClientMetadata::ByteSizeLong,
              &ClientMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ClientMetadata, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.ClientMetadata",
  };
}
struct ClientMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ClientMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ClientMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ClientMetadata::InternalGenerateClassData_(
            _default, &ClientMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ClientMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ClientMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ClientMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ClientMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ClientMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Content::ParseTableT_ Content::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Content, _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
      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<::private_ai::proto::Content>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .private_ai.proto.Part parts = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Content, _impl_.parts_)}},
      // string role = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(Content, _impl_.role_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string role = 1;
      {PROTOBUF_FIELD_OFFSET(Content, _impl_.role_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .private_ai.proto.Part parts = 2;
      {PROTOBUF_FIELD_OFFSET(Content, _impl_.parts_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::Part>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::Part_globals_},
        #endif
    }},
    {{
      "\30\4\0\0\0\0\0\0"
      "private_ai.proto.Content"
      "role"
    }},
  };
}


inline constexpr Content::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        parts_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::Content,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::Content, _impl_.parts_)>()
         }
        ,
        role_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr Content::Content(::_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 Content::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Content(arena);
}
constexpr auto Content::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Content), alignof(Content));
}
constexpr auto Content::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
          &Content::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Content>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Content::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Content>(), &Content::ByteSizeLong,
              &Content::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Content, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.Content",
  };
}
struct ContentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Content_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Content::InternalGenerateClassData_(
            _default, &Content_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Content>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Content _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Content>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AnonymousTokenRequest::ParseTableT_ AnonymousTokenRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_._has_bits_),
      0, // no _extensions_
      15, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950910,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // 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<::private_ai::proto::AnonymousTokenRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bytes anonymous_token = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_.anonymous_token_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .private_ai.proto.ClientMetadata client_metadata = 15;
      {::_pbi::TcParser::FastMtS1,
       {122, 1, 0,
        PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_.client_metadata_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bytes anonymous_token = 1;
      {PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_.anonymous_token_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // .private_ai.proto.ClientMetadata client_metadata = 15;
      {PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_.client_metadata_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::ClientMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::ClientMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

template <typename>
constexpr AnonymousTokenRequest::AnonymousTokenRequest(::_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 AnonymousTokenRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AnonymousTokenRequest(arena);
}
constexpr auto AnonymousTokenRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AnonymousTokenRequest), alignof(AnonymousTokenRequest));
}
constexpr auto AnonymousTokenRequest::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
          &AnonymousTokenRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AnonymousTokenRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AnonymousTokenRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AnonymousTokenRequest>(), &AnonymousTokenRequest::ByteSizeLong,
              &AnonymousTokenRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AnonymousTokenRequest, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.AnonymousTokenRequest",
  };
}
struct AnonymousTokenRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AnonymousTokenRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AnonymousTokenRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AnonymousTokenRequest::InternalGenerateClassData_(
            _default, &AnonymousTokenRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AnonymousTokenRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AnonymousTokenRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AnonymousTokenRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AnonymousTokenRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AnonymousTokenRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PaicMessage::ParseTableT_ PaicMessage::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_._has_bits_),
      0, // no _extensions_
      530000016, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // 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<::private_ai::proto::PaicMessage>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .private_ai.proto.FeatureName feature_name = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.feature_name_)}},
    }}, {{
      10370, 8087, 1,
      49148, 1,
      65535, 65535
    }}, {{
      // .private_ai.proto.FeatureName feature_name = 1;
      {PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.feature_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ExecuteRequest execute_request_ext = 530000002;
      {PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.execute_request_ext_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ExecuteResponse execute_response_ext = 530000003;
      {PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.execute_response_ext_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PrivateExecuteRequest private_execute_request_ext = 530000016;
      {PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.private_execute_request_ext_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ExecuteRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ExecuteRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ExecuteResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ExecuteResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PrivateExecuteRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PrivateExecuteRequest_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PaicMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        execute_request_ext_{nullptr},
        execute_response_ext_{nullptr},
        private_execute_request_ext_{nullptr},
        feature_name_{static_cast< ::private_ai::proto::FeatureName >(0)} {}

template <typename>
constexpr PaicMessage::PaicMessage(::_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 PaicMessage::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PaicMessage(arena);
}
constexpr auto PaicMessage::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PaicMessage), alignof(PaicMessage));
}
constexpr auto PaicMessage::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
          &PaicMessage::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PaicMessage>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PaicMessage::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PaicMessage>(), &PaicMessage::ByteSizeLong,
              &PaicMessage::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.PaicMessage",
  };
}
struct PaicMessageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PaicMessageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PaicMessage_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PaicMessage::InternalGenerateClassData_(
            _default, &PaicMessage_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PaicMessage>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PaicMessageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PaicMessage _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PaicMessage>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PaicMessageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GenerateContentRequest::ParseTableT_ GenerateContentRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _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
      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<::private_ai::proto::GenerateContentRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .private_ai.proto.Content contents = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _impl_.contents_)}},
      // string model = 1;
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _impl_.model_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string model = 1;
      {PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _impl_.model_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .private_ai.proto.Content contents = 2;
      {PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _impl_.contents_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::Content>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::Content_globals_},
        #endif
    }},
    {{
      "\47\5\0\0\0\0\0\0"
      "private_ai.proto.GenerateContentRequest"
      "model"
    }},
  };
}


inline constexpr GenerateContentRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        contents_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::GenerateContentRequest,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentRequest, _impl_.contents_)>()
         }
        ,
        model_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr GenerateContentRequest::GenerateContentRequest(::_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 GenerateContentRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GenerateContentRequest(arena);
}
constexpr auto GenerateContentRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GenerateContentRequest), alignof(GenerateContentRequest));
}
constexpr auto GenerateContentRequest::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
          &GenerateContentRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GenerateContentRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GenerateContentRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GenerateContentRequest>(), &GenerateContentRequest::ByteSizeLong,
              &GenerateContentRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GenerateContentRequest, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.GenerateContentRequest",
  };
}
struct GenerateContentRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GenerateContentRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GenerateContentRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GenerateContentRequest::InternalGenerateClassData_(
            _default, &GenerateContentRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GenerateContentRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GenerateContentRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GenerateContentRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GenerateContentRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GenerateContentRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Candidate::ParseTableT_ Candidate::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Candidate, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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<::private_ai::proto::Candidate>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 index = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(Candidate, _impl_.index_)}},
      // .private_ai.proto.Content content = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Candidate, _impl_.content_)}},
      // .private_ai.proto.Candidate.FinishReason finish_reason = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Candidate, _impl_.finish_reason_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 index = 1;
      {PROTOBUF_FIELD_OFFSET(Candidate, _impl_.index_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .private_ai.proto.Content content = 2;
      {PROTOBUF_FIELD_OFFSET(Candidate, _impl_.content_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .private_ai.proto.Candidate.FinishReason finish_reason = 3;
      {PROTOBUF_FIELD_OFFSET(Candidate, _impl_.finish_reason_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::Content>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::Content_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Candidate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        content_{nullptr},
        index_{0},
        finish_reason_{static_cast< ::private_ai::proto::Candidate_FinishReason >(0)} {}

template <typename>
constexpr Candidate::Candidate(::_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 Candidate::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Candidate(arena);
}
constexpr auto Candidate::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Candidate), alignof(Candidate));
}
constexpr auto Candidate::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
          &Candidate::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Candidate>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Candidate::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Candidate>(), &Candidate::ByteSizeLong,
              &Candidate::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Candidate, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.Candidate",
  };
}
struct CandidateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CandidateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Candidate_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Candidate::InternalGenerateClassData_(
            _default, &Candidate_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Candidate>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CandidateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Candidate _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Candidate>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CandidateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST CandidateGlobalsTypeInternal Candidate_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Candidate_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Candidate_globals_.GetClassData();
#else
  return Candidate_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PrivateAiRequest::_Internal {
 public:
  using HasBits = decltype(::std::declval<PrivateAiRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::private_ai::proto::PrivateAiRequest, _impl_._oneof_case_);
};

constexpr PrivateAiRequest::ParseTableT_ PrivateAiRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_._has_bits_),
      0, // no _extensions_
      14, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294958950,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // 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<::private_ai::proto::PrivateAiRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .private_ai.proto.FeatureName feature_name = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.feature_name_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // int32 request_id = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 1, 0,
        PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.request_id_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .private_ai.proto.FeatureName feature_name = 1;
      {PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.feature_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .private_ai.proto.GenerateContentRequest generate_content_request = 4;
      {PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.request_.generate_content_request_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 request_id = 5;
      {PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.request_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .private_ai.proto.AnonymousTokenRequest anonymous_token_request = 8;
      {PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.request_.anonymous_token_request_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .private_ai.proto.PaicMessage paic_request = 14;
      {PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.request_.paic_request_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::GenerateContentRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::GenerateContentRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::AnonymousTokenRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::AnonymousTokenRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::PaicMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::PaicMessage_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PrivateAiRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        feature_name_{static_cast< ::private_ai::proto::FeatureName >(0)},
        request_id_{0},
        request_{},
        _oneof_case_{} {}

template <typename>
constexpr PrivateAiRequest::PrivateAiRequest(::_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 PrivateAiRequest::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PrivateAiRequest(arena);
}
constexpr auto PrivateAiRequest::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PrivateAiRequest), alignof(PrivateAiRequest));
}
constexpr auto PrivateAiRequest::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
          &PrivateAiRequest::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PrivateAiRequest>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PrivateAiRequest::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PrivateAiRequest>(), &PrivateAiRequest::ByteSizeLong,
              &PrivateAiRequest::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.PrivateAiRequest",
  };
}
struct PrivateAiRequestGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PrivateAiRequestGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PrivateAiRequest_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PrivateAiRequest::InternalGenerateClassData_(
            _default, &PrivateAiRequest_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PrivateAiRequest>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PrivateAiRequestGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PrivateAiRequest _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PrivateAiRequest>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PrivateAiRequestGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GenerateContentResponse::ParseTableT_ GenerateContentResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GenerateContentResponse, _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<::private_ai::proto::GenerateContentResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .private_ai.proto.Candidate candidates = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GenerateContentResponse, _impl_.candidates_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .private_ai.proto.Candidate candidates = 1;
      {PROTOBUF_FIELD_OFFSET(GenerateContentResponse, _impl_.candidates_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::Candidate>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::Candidate_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr GenerateContentResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        candidates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::GenerateContentResponse,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentResponse, _impl_.candidates_)>()
         }
     {}

template <typename>
constexpr GenerateContentResponse::GenerateContentResponse(::_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 GenerateContentResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GenerateContentResponse(arena);
}
constexpr auto GenerateContentResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GenerateContentResponse), alignof(GenerateContentResponse));
}
constexpr auto GenerateContentResponse::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
          &GenerateContentResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GenerateContentResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GenerateContentResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GenerateContentResponse>(), &GenerateContentResponse::ByteSizeLong,
              &GenerateContentResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GenerateContentResponse, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.GenerateContentResponse",
  };
}
struct GenerateContentResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GenerateContentResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GenerateContentResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GenerateContentResponse::InternalGenerateClassData_(
            _default, &GenerateContentResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GenerateContentResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GenerateContentResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GenerateContentResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GenerateContentResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GenerateContentResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST GenerateContentResponseGlobalsTypeInternal GenerateContentResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* GenerateContentResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return GenerateContentResponse_globals_.GetClassData();
#else
  return GenerateContentResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PrivateAiResponse::_Internal {
 public:
  using HasBits = decltype(::std::declval<PrivateAiResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::private_ai::proto::PrivateAiResponse, _impl_._oneof_case_);
};

constexpr PrivateAiResponse::ParseTableT_ PrivateAiResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_._has_bits_),
      0, // no _extensions_
      11, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966259,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // 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<::private_ai::proto::PrivateAiResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 request_id = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 0, 0,
        PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_.request_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .private_ai.proto.GenerateContentResponse generate_content_response = 3;
      {PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_.response_.generate_content_response_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 request_id = 4;
      {PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_.request_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .private_ai.proto.PaicMessage paic_response = 11;
      {PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_.response_.paic_response_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::GenerateContentResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::GenerateContentResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::private_ai::proto::PaicMessage>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::private_ai::proto::PaicMessage_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PrivateAiResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_id_{0},
        response_{},
        _oneof_case_{} {}

template <typename>
constexpr PrivateAiResponse::PrivateAiResponse(::_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 PrivateAiResponse::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PrivateAiResponse(arena);
}
constexpr auto PrivateAiResponse::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PrivateAiResponse), alignof(PrivateAiResponse));
}
constexpr auto PrivateAiResponse::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
          &PrivateAiResponse::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PrivateAiResponse>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PrivateAiResponse::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PrivateAiResponse>(), &PrivateAiResponse::ByteSizeLong,
              &PrivateAiResponse::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PrivateAiResponse, _impl_._cached_size_),
          true,
      },
      "private_ai.proto.PrivateAiResponse",
  };
}
struct PrivateAiResponseGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PrivateAiResponseGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PrivateAiResponse_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PrivateAiResponse::InternalGenerateClassData_(
            _default, &PrivateAiResponse_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PrivateAiResponse>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PrivateAiResponseGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PrivateAiResponse _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PrivateAiResponse>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PrivateAiResponseGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PrivateAiResponseGlobalsTypeInternal PrivateAiResponse_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PrivateAiResponse_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PrivateAiResponse_globals_.GetClassData();
#else
  return PrivateAiResponse_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace private_ai
namespace private_ai {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t Candidate_FinishReason_internal_data_[] = {
    327680u, 0u, };
static const char Candidate_FinishReason_names[] = {
    "BLOCKLIST"
    "FINISH_REASON_UNSPECIFIED"
    "PROHIBITED_CONTENT"
    "SAFETY"
    "STOP"
};

static const ::google::protobuf::internal::EnumEntry Candidate_FinishReason_entries[] = {
    {{&Candidate_FinishReason_names[0], 9}, 3},
    {{&Candidate_FinishReason_names[9], 25}, 0},
    {{&Candidate_FinishReason_names[34], 18}, 4},
    {{&Candidate_FinishReason_names[52], 6}, 2},
    {{&Candidate_FinishReason_names[58], 4}, 1},
};

static const int Candidate_FinishReason_entries_by_number[] = {
    1,  // 0 -> FINISH_REASON_UNSPECIFIED
    4,  // 1 -> STOP
    3,  // 2 -> SAFETY
    0,  // 3 -> BLOCKLIST
    2,  // 4 -> PROHIBITED_CONTENT
};

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

const ::std::string& Candidate_FinishReason_Name(Candidate_FinishReason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Candidate_FinishReason_entries, Candidate_FinishReason_entries_by_number, 5,
      Candidate_FinishReason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(Candidate_FinishReason_entries,
                                  Candidate_FinishReason_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : Candidate_FinishReason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ChromeClientMetadata_Platform_internal_data_[] = {
    458752u, 0u, };
static const char ChromeClientMetadata_Platform_names[] = {
    "PLATFORM_ANDROID"
    "PLATFORM_CHROMEOS"
    "PLATFORM_IOS"
    "PLATFORM_LINUX"
    "PLATFORM_MAC"
    "PLATFORM_UNKNOWN"
    "PLATFORM_WINDOWS"
};

static const ::google::protobuf::internal::EnumEntry ChromeClientMetadata_Platform_entries[] = {
    {{&ChromeClientMetadata_Platform_names[0], 16}, 5},
    {{&ChromeClientMetadata_Platform_names[16], 17}, 4},
    {{&ChromeClientMetadata_Platform_names[33], 12}, 6},
    {{&ChromeClientMetadata_Platform_names[45], 14}, 3},
    {{&ChromeClientMetadata_Platform_names[59], 12}, 2},
    {{&ChromeClientMetadata_Platform_names[71], 16}, 0},
    {{&ChromeClientMetadata_Platform_names[87], 16}, 1},
};

static const int ChromeClientMetadata_Platform_entries_by_number[] = {
    5,  // 0 -> PLATFORM_UNKNOWN
    6,  // 1 -> PLATFORM_WINDOWS
    4,  // 2 -> PLATFORM_MAC
    3,  // 3 -> PLATFORM_LINUX
    1,  // 4 -> PLATFORM_CHROMEOS
    0,  // 5 -> PLATFORM_ANDROID
    2,  // 6 -> PLATFORM_IOS
};

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

const ::std::string& ChromeClientMetadata_Platform_Name(ChromeClientMetadata_Platform value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ChromeClientMetadata_Platform_entries, ChromeClientMetadata_Platform_entries_by_number, 7,
      ChromeClientMetadata_Platform_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ChromeClientMetadata_Platform_entries,
                                  ChromeClientMetadata_Platform_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ChromeClientMetadata_Platform_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ChromeClientMetadata_Channel_internal_data_[] = {
    327680u, 0u, };
static const char ChromeClientMetadata_Channel_names[] = {
    "CHANNEL_BETA"
    "CHANNEL_CANARY"
    "CHANNEL_DEV"
    "CHANNEL_STABLE"
    "CHANNEL_UNKNOWN"
};

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

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

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

const ::std::string& ChromeClientMetadata_Channel_Name(ChromeClientMetadata_Channel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ChromeClientMetadata_Channel_entries, ChromeClientMetadata_Channel_entries_by_number, 5,
      ChromeClientMetadata_Channel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ChromeClientMetadata_Channel_entries,
                                  ChromeClientMetadata_Channel_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ChromeClientMetadata_Channel_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FeatureName_internal_data_[] = {
    65536u, 262176u, 4u, 703u, 701u, 704u, 700u, };
static const char FeatureName_names[] = {
    "FEATURE_NAME_CHROME_AUTOMATED_PASSWORD_CHANGE"
    "FEATURE_NAME_CHROME_CONTEXTUAL_CUEING"
    "FEATURE_NAME_CHROME_FORMS_AI"
    "FEATURE_NAME_CHROME_ZERO_STATE_SUGGESTION"
    "FEATURE_NAME_DEMO_GEMINI_GENERATE_CONTENT"
    "FEATURE_NAME_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry FeatureName_entries[] = {
    {{&FeatureName_names[0], 45}, 704},
    {{&FeatureName_names[45], 37}, 703},
    {{&FeatureName_names[82], 28}, 701},
    {{&FeatureName_names[110], 41}, 700},
    {{&FeatureName_names[151], 41}, 3},
    {{&FeatureName_names[192], 24}, 0},
};

static const int FeatureName_entries_by_number[] = {
    5,  // 0 -> FEATURE_NAME_UNSPECIFIED
    4,  // 3 -> FEATURE_NAME_DEMO_GEMINI_GENERATE_CONTENT
    3,  // 700 -> FEATURE_NAME_CHROME_ZERO_STATE_SUGGESTION
    2,  // 701 -> FEATURE_NAME_CHROME_FORMS_AI
    1,  // 703 -> FEATURE_NAME_CHROME_CONTEXTUAL_CUEING
    0,  // 704 -> FEATURE_NAME_CHROME_AUTOMATED_PASSWORD_CHANGE
};

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

const ::std::string& FeatureName_Name(FeatureName value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FeatureName_entries, FeatureName_entries_by_number, 6,
      FeatureName_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FeatureName_entries,
                                  FeatureName_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FeatureName_strings[idx].get();
}
// ===================================================================

void PrivateAiRequest::set_allocated_generate_content_request(::private_ai::proto::GenerateContentRequest* PROTOBUF_NULLABLE generate_content_request) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_request();
  if (generate_content_request) {
    ::google::protobuf::Arena* submessage_arena = generate_content_request->GetArena();
    if (message_arena != submessage_arena) {
      generate_content_request = ::google::protobuf::internal::GetOwnedMessage(message_arena, generate_content_request, submessage_arena);
    }
    set_has_generate_content_request();
    _impl_.request_.generate_content_request_ = generate_content_request;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.PrivateAiRequest.generate_content_request)
}
void PrivateAiRequest::set_allocated_anonymous_token_request(::private_ai::proto::AnonymousTokenRequest* PROTOBUF_NULLABLE anonymous_token_request) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_request();
  if (anonymous_token_request) {
    ::google::protobuf::Arena* submessage_arena = anonymous_token_request->GetArena();
    if (message_arena != submessage_arena) {
      anonymous_token_request = ::google::protobuf::internal::GetOwnedMessage(message_arena, anonymous_token_request, submessage_arena);
    }
    set_has_anonymous_token_request();
    _impl_.request_.anonymous_token_request_ = anonymous_token_request;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.PrivateAiRequest.anonymous_token_request)
}
void PrivateAiRequest::set_allocated_paic_request(::private_ai::proto::PaicMessage* PROTOBUF_NULLABLE paic_request) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_request();
  if (paic_request) {
    ::google::protobuf::Arena* submessage_arena = paic_request->GetArena();
    if (message_arena != submessage_arena) {
      paic_request = ::google::protobuf::internal::GetOwnedMessage(message_arena, paic_request, submessage_arena);
    }
    set_has_paic_request();
    _impl_.request_.paic_request_ = paic_request;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.PrivateAiRequest.paic_request)
}
PrivateAiRequest::PrivateAiRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PrivateAiRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.PrivateAiRequest)
}
PROTOBUF_NDEBUG_INLINE PrivateAiRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::PrivateAiRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        request_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PrivateAiRequest* 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_, feature_name_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, feature_name_),
           offsetof(Impl_, request_id_) -
               offsetof(Impl_, feature_name_) +
               sizeof(Impl_::request_id_));
  switch (request_case()) {
    case REQUEST_NOT_SET:
      break;
      case kGenerateContentRequest:
        _impl_.request_.generate_content_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.generate_content_request_);
        break;
      case kAnonymousTokenRequest:
        _impl_.request_.anonymous_token_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.anonymous_token_request_);
        break;
      case kPaicRequest:
        _impl_.request_.paic_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.paic_request_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.PrivateAiRequest)
}
PROTOBUF_NDEBUG_INLINE PrivateAiRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        request_{},
        _oneof_case_{} {}

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

void PrivateAiRequest::clear_request() {
// @@protoc_insertion_point(one_of_clear_start:private_ai.proto.PrivateAiRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (request_case()) {
    case kGenerateContentRequest: {
      if (GetArena() == nullptr) {
        delete _impl_.request_.generate_content_request_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.request_.generate_content_request_ != nullptr) {
          _impl_.request_.generate_content_request_->Clear();
        }
      }
      break;
    }
    case kAnonymousTokenRequest: {
      if (GetArena() == nullptr) {
        delete _impl_.request_.anonymous_token_request_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.request_.anonymous_token_request_ != nullptr) {
          _impl_.request_.anonymous_token_request_->Clear();
        }
      }
      break;
    }
    case kPaicRequest: {
      if (GetArena() == nullptr) {
        delete _impl_.request_.paic_request_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.request_.paic_request_ != nullptr) {
          _impl_.request_.paic_request_->Clear();
        }
      }
      break;
    }
    case REQUEST_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REQUEST_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PrivateAiRequest_class_data_ =
    PrivateAiRequest::InternalGenerateClassData_(PrivateAiRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PrivateAiRequest::GetClassData() const {
  return PrivateAiRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PrivateAiRequest::GetClassData() const {
  return PrivateAiRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PrivateAiRequest::ParseTableT_
    PrivateAiRequest::_table_ =
        PrivateAiRequest::InternalGenerateParseTable_(PrivateAiRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PrivateAiRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.PrivateAiRequest)
  ::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_.feature_name_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.request_id_) -
        reinterpret_cast<char*>(&_impl_.feature_name_)) + sizeof(_impl_.request_id_));
  }
  clear_request();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .private_ai.proto.FeatureName feature_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_feature_name(), target);
  }

  // .private_ai.proto.GenerateContentRequest generate_content_request = 4;
  if (this_.request_case() == kGenerateContentRequest) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.request_.generate_content_request_, this_._impl_.request_.generate_content_request_->GetCachedSize(), target,
        stream);
  }

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

  switch (this_.request_case()) {
    case kAnonymousTokenRequest: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.request_.anonymous_token_request_, this_._impl_.request_.anonymous_token_request_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPaicRequest: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          14, *this_._impl_.request_.paic_request_, this_._impl_.request_.paic_request_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  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:private_ai.proto.PrivateAiRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PrivateAiRequest::ByteSizeLong(const MessageLite& base) {
  const PrivateAiRequest& this_ = static_cast<const PrivateAiRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PrivateAiRequest::ByteSizeLong() const {
  const PrivateAiRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.PrivateAiRequest)
  ::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)) {
    // .private_ai.proto.FeatureName feature_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_feature_name());
    }
    // int32 request_id = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_request_id());
    }
  }
  switch (this_.request_case()) {
    // .private_ai.proto.GenerateContentRequest generate_content_request = 4;
    case kGenerateContentRequest: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_.generate_content_request_);
      break;
    }
    // .private_ai.proto.AnonymousTokenRequest anonymous_token_request = 8;
    case kAnonymousTokenRequest: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_.anonymous_token_request_);
      break;
    }
    // .private_ai.proto.PaicMessage paic_request = 14;
    case kPaicRequest: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_.paic_request_);
      break;
    }
    case REQUEST_NOT_SET: {
      break;
    }
  }
  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 PrivateAiRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PrivateAiRequest*>(&to_msg);
  auto& from = static_cast<const PrivateAiRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.PrivateAiRequest)
  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_.feature_name_ = from._impl_.feature_name_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.request_id_ = from._impl_.request_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_request();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kGenerateContentRequest: {
        if (oneof_needs_init) {
          _this->_impl_.request_.generate_content_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.generate_content_request_);
        } else {
          _this->_impl_.request_.generate_content_request_->CheckTypeAndMergeFrom(*from._impl_.request_.generate_content_request_);
        }
        break;
      }
      case kAnonymousTokenRequest: {
        if (oneof_needs_init) {
          _this->_impl_.request_.anonymous_token_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.anonymous_token_request_);
        } else {
          _this->_impl_.request_.anonymous_token_request_->CheckTypeAndMergeFrom(*from._impl_.request_.anonymous_token_request_);
        }
        break;
      }
      case kPaicRequest: {
        if (oneof_needs_init) {
          _this->_impl_.request_.paic_request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_.paic_request_);
        } else {
          _this->_impl_.request_.paic_request_->CheckTypeAndMergeFrom(*from._impl_.request_.paic_request_);
        }
        break;
      }
      case REQUEST_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PrivateAiRequest::InternalSwap(PrivateAiRequest* 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(PrivateAiRequest, _impl_.request_id_)
      + sizeof(PrivateAiRequest::_impl_.request_id_)
      - PROTOBUF_FIELD_OFFSET(PrivateAiRequest, _impl_.feature_name_)>(
          reinterpret_cast<char*>(&_impl_.feature_name_),
          reinterpret_cast<char*>(&other->_impl_.feature_name_));
  swap(_impl_.request_, other->_impl_.request_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

void PrivateAiResponse::set_allocated_generate_content_response(::private_ai::proto::GenerateContentResponse* PROTOBUF_NULLABLE generate_content_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_response();
  if (generate_content_response) {
    ::google::protobuf::Arena* submessage_arena = generate_content_response->GetArena();
    if (message_arena != submessage_arena) {
      generate_content_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, generate_content_response, submessage_arena);
    }
    set_has_generate_content_response();
    _impl_.response_.generate_content_response_ = generate_content_response;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.PrivateAiResponse.generate_content_response)
}
void PrivateAiResponse::set_allocated_paic_response(::private_ai::proto::PaicMessage* PROTOBUF_NULLABLE paic_response) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_response();
  if (paic_response) {
    ::google::protobuf::Arena* submessage_arena = paic_response->GetArena();
    if (message_arena != submessage_arena) {
      paic_response = ::google::protobuf::internal::GetOwnedMessage(message_arena, paic_response, submessage_arena);
    }
    set_has_paic_response();
    _impl_.response_.paic_response_ = paic_response;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.PrivateAiResponse.paic_response)
}
PrivateAiResponse::PrivateAiResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PrivateAiResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.PrivateAiResponse)
}
PROTOBUF_NDEBUG_INLINE PrivateAiResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::PrivateAiResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        response_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PrivateAiResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.request_id_ = from._impl_.request_id_;
  switch (response_case()) {
    case RESPONSE_NOT_SET:
      break;
      case kGenerateContentResponse:
        _impl_.response_.generate_content_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_.generate_content_response_);
        break;
      case kPaicResponse:
        _impl_.response_.paic_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_.paic_response_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.PrivateAiResponse)
}
PROTOBUF_NDEBUG_INLINE PrivateAiResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        response_{},
        _oneof_case_{} {}

inline void PrivateAiResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.request_id_ = {};
}
PrivateAiResponse::~PrivateAiResponse() {
  // @@protoc_insertion_point(destructor:private_ai.proto.PrivateAiResponse)
  SharedDtor(*this);
}
inline void PrivateAiResponse::SharedDtor(MessageLite& self) {
  PrivateAiResponse& this_ = static_cast<PrivateAiResponse&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_response()) {
    this_.clear_response();
  }
  this_._impl_.~Impl_();
}

void PrivateAiResponse::clear_response() {
// @@protoc_insertion_point(one_of_clear_start:private_ai.proto.PrivateAiResponse)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (response_case()) {
    case kGenerateContentResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.response_.generate_content_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.response_.generate_content_response_ != nullptr) {
          _impl_.response_.generate_content_response_->Clear();
        }
      }
      break;
    }
    case kPaicResponse: {
      if (GetArena() == nullptr) {
        delete _impl_.response_.paic_response_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.response_.paic_response_ != nullptr) {
          _impl_.response_.paic_response_->Clear();
        }
      }
      break;
    }
    case RESPONSE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = RESPONSE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PrivateAiResponse_class_data_ =
    PrivateAiResponse::InternalGenerateClassData_(PrivateAiResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PrivateAiResponse::GetClassData() const {
  return PrivateAiResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PrivateAiResponse::GetClassData() const {
  return PrivateAiResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PrivateAiResponse::ParseTableT_
    PrivateAiResponse::_table_ =
        PrivateAiResponse::InternalGenerateParseTable_(PrivateAiResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PrivateAiResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.PrivateAiResponse)
  ::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_.request_id_ = 0;
  clear_response();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  // .private_ai.proto.GenerateContentResponse generate_content_response = 3;
  if (this_.response_case() == kGenerateContentResponse) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.response_.generate_content_response_, this_._impl_.response_.generate_content_response_->GetCachedSize(), target,
        stream);
  }

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

  // .private_ai.proto.PaicMessage paic_response = 11;
  if (this_.response_case() == kPaicResponse) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.response_.paic_response_, this_._impl_.response_.paic_response_->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:private_ai.proto.PrivateAiResponse)
  return target;
}

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

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

   {
    // int32 request_id = 4;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_request_id());
    }
  }
  switch (this_.response_case()) {
    // .private_ai.proto.GenerateContentResponse generate_content_response = 3;
    case kGenerateContentResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_.generate_content_response_);
      break;
    }
    // .private_ai.proto.PaicMessage paic_response = 11;
    case kPaicResponse: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_.paic_response_);
      break;
    }
    case RESPONSE_NOT_SET: {
      break;
    }
  }
  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 PrivateAiResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PrivateAiResponse*>(&to_msg);
  auto& from = static_cast<const PrivateAiResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.PrivateAiResponse)
  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_.request_id_ = from._impl_.request_id_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_response();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kGenerateContentResponse: {
        if (oneof_needs_init) {
          _this->_impl_.response_.generate_content_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_.generate_content_response_);
        } else {
          _this->_impl_.response_.generate_content_response_->MergeFrom(*from._impl_.response_.generate_content_response_);
        }
        break;
      }
      case kPaicResponse: {
        if (oneof_needs_init) {
          _this->_impl_.response_.paic_response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_.paic_response_);
        } else {
          _this->_impl_.response_.paic_response_->MergeFrom(*from._impl_.response_.paic_response_);
        }
        break;
      }
      case RESPONSE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PrivateAiResponse::InternalSwap(PrivateAiResponse* 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_.request_id_, other->_impl_.request_id_);
  swap(_impl_.response_, other->_impl_.response_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

void PaicMessage::clear_execute_request_ext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.execute_request_ext_ != nullptr) _impl_.execute_request_ext_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
void PaicMessage::clear_execute_response_ext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.execute_response_ext_ != nullptr) _impl_.execute_response_ext_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
void PaicMessage::clear_private_execute_request_ext() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.private_execute_request_ext_ != nullptr) _impl_.private_execute_request_ext_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
PaicMessage::PaicMessage(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaicMessage_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.PaicMessage)
}
PROTOBUF_NDEBUG_INLINE PaicMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::PaicMessage& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PaicMessage* 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_.execute_request_ext_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.execute_request_ext_)
                : nullptr;
  _impl_.execute_response_ext_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.execute_response_ext_)
                : nullptr;
  _impl_.private_execute_request_ext_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.private_execute_request_ext_)
                : nullptr;
  _impl_.feature_name_ = from._impl_.feature_name_;

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.PaicMessage)
}
PROTOBUF_NDEBUG_INLINE PaicMessage::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PaicMessage_class_data_ =
    PaicMessage::InternalGenerateClassData_(PaicMessage_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaicMessage::GetClassData() const {
  return PaicMessage_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaicMessage::GetClassData() const {
  return PaicMessage_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PaicMessage::ParseTableT_
    PaicMessage::_table_ =
        PaicMessage::InternalGenerateParseTable_(PaicMessage_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PaicMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.PaicMessage)
  ::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)) {
      ABSL_DCHECK(_impl_.execute_request_ext_ != nullptr);
      _impl_.execute_request_ext_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.execute_response_ext_ != nullptr);
      _impl_.execute_response_ext_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.private_execute_request_ext_ != nullptr);
      _impl_.private_execute_request_ext_->Clear();
    }
  }
  _impl_.feature_name_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .private_ai.proto.FeatureName feature_name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_feature_name(), target);
  }

  // .optimization_guide.proto.ExecuteRequest execute_request_ext = 530000002;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        530000002, *this_._impl_.execute_request_ext_, this_._impl_.execute_request_ext_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ExecuteResponse execute_response_ext = 530000003;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        530000003, *this_._impl_.execute_response_ext_, this_._impl_.execute_response_ext_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PrivateExecuteRequest private_execute_request_ext = 530000016;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        530000016, *this_._impl_.private_execute_request_ext_, this_._impl_.private_execute_request_ext_->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:private_ai.proto.PaicMessage)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PaicMessage::ByteSizeLong(const MessageLite& base) {
  const PaicMessage& this_ = static_cast<const PaicMessage&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PaicMessage::ByteSizeLong() const {
  const PaicMessage& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.PaicMessage)
  ::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)) {
    // .optimization_guide.proto.ExecuteRequest execute_request_ext = 530000002;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 5 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.execute_request_ext_);
    }
    // .optimization_guide.proto.ExecuteResponse execute_response_ext = 530000003;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 5 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.execute_response_ext_);
    }
    // .optimization_guide.proto.PrivateExecuteRequest private_execute_request_ext = 530000016;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 5 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.private_execute_request_ext_);
    }
    // .private_ai.proto.FeatureName feature_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_feature_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 PaicMessage::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PaicMessage*>(&to_msg);
  auto& from = static_cast<const PaicMessage&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.PaicMessage)
  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)) {
      ABSL_DCHECK(from._impl_.execute_request_ext_ != nullptr);
      if (_this->_impl_.execute_request_ext_ == nullptr) {
        _this->_impl_.execute_request_ext_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.execute_request_ext_);
      } else {
        _this->_impl_.execute_request_ext_->MergeFrom(*from._impl_.execute_request_ext_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.execute_response_ext_ != nullptr);
      if (_this->_impl_.execute_response_ext_ == nullptr) {
        _this->_impl_.execute_response_ext_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.execute_response_ext_);
      } else {
        _this->_impl_.execute_response_ext_->MergeFrom(*from._impl_.execute_response_ext_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.private_execute_request_ext_ != nullptr);
      if (_this->_impl_.private_execute_request_ext_ == nullptr) {
        _this->_impl_.private_execute_request_ext_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.private_execute_request_ext_);
      } else {
        _this->_impl_.private_execute_request_ext_->MergeFrom(*from._impl_.private_execute_request_ext_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.feature_name_ = from._impl_.feature_name_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PaicMessage::InternalSwap(PaicMessage* 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(PaicMessage, _impl_.feature_name_)
      + sizeof(PaicMessage::_impl_.feature_name_)
      - PROTOBUF_FIELD_OFFSET(PaicMessage, _impl_.execute_request_ext_)>(
          reinterpret_cast<char*>(&_impl_.execute_request_ext_),
          reinterpret_cast<char*>(&other->_impl_.execute_request_ext_));
}

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

GenerateContentRequest::GenerateContentRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GenerateContentRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.GenerateContentRequest)
}
PROTOBUF_NDEBUG_INLINE GenerateContentRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::GenerateContentRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        contents_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::private_ai::proto::GenerateContentRequest,
              PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentRequest, _impl_.contents_)>()
          , from.contents_
        }
        ,
        model_(arena, from.model_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GenerateContentRequest* 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:private_ai.proto.GenerateContentRequest)
}
PROTOBUF_NDEBUG_INLINE GenerateContentRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        contents_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::GenerateContentRequest,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentRequest, _impl_.contents_)>()
         }
        ,
        model_(arena) {}

inline void GenerateContentRequest::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GenerateContentRequest::~GenerateContentRequest() {
  // @@protoc_insertion_point(destructor:private_ai.proto.GenerateContentRequest)
  SharedDtor(*this);
}
inline void GenerateContentRequest::SharedDtor(MessageLite& self) {
  GenerateContentRequest& this_ = static_cast<GenerateContentRequest&>(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 GenerateContentRequest_class_data_ =
    GenerateContentRequest::InternalGenerateClassData_(GenerateContentRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenerateContentRequest::GetClassData() const {
  return GenerateContentRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenerateContentRequest::GetClassData() const {
  return GenerateContentRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GenerateContentRequest::ParseTableT_
    GenerateContentRequest::_table_ =
        GenerateContentRequest::InternalGenerateParseTable_(GenerateContentRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GenerateContentRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.GenerateContentRequest)
  ::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_.contents_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.model_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string model = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_model();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "private_ai.proto.GenerateContentRequest.model");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .private_ai.proto.Content contents = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_contents_size());
         i < n; i++) {
      const auto& repfield = this_._internal_contents().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.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:private_ai.proto.GenerateContentRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GenerateContentRequest::ByteSizeLong(const MessageLite& base) {
  const GenerateContentRequest& this_ = static_cast<const GenerateContentRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GenerateContentRequest::ByteSizeLong() const {
  const GenerateContentRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.GenerateContentRequest)
  ::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 .private_ai.proto.Content contents = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_contents_size();
      for (const auto& msg : this_._internal_contents()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string model = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model());
    }
  }
  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 GenerateContentRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GenerateContentRequest*>(&to_msg);
  auto& from = static_cast<const GenerateContentRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.GenerateContentRequest)
  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_contents()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_contents());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_model(from._internal_model());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GenerateContentRequest::InternalSwap(GenerateContentRequest* 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_.contents_.InternalSwap(&other->_impl_.contents_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.model_, &other->_impl_.model_, arena);
}

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

Content::Content(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Content_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.Content)
}
PROTOBUF_NDEBUG_INLINE Content::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::Content& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        parts_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::private_ai::proto::Content,
              PROTOBUF_FIELD_OFFSET(::private_ai::proto::Content, _impl_.parts_)>()
          , from.parts_
        }
        ,
        role_(arena, from.role_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Content* 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:private_ai.proto.Content)
}
PROTOBUF_NDEBUG_INLINE Content::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        parts_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::Content,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::Content, _impl_.parts_)>()
         }
        ,
        role_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Content_class_data_ =
    Content::InternalGenerateClassData_(Content_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Content::GetClassData() const {
  return Content_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Content::GetClassData() const {
  return Content_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Content::ParseTableT_
    Content::_table_ =
        Content::InternalGenerateParseTable_(Content_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Content::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.Content)
  ::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_.parts_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.role_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string role = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_role();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "private_ai.proto.Content.role");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .private_ai.proto.Part parts = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_parts_size());
         i < n; i++) {
      const auto& repfield = this_._internal_parts().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.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:private_ai.proto.Content)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Content::ByteSizeLong(const MessageLite& base) {
  const Content& this_ = static_cast<const Content&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Content::ByteSizeLong() const {
  const Content& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.Content)
  ::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 .private_ai.proto.Part parts = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_parts_size();
      for (const auto& msg : this_._internal_parts()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string role = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_role());
    }
  }
  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 Content::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Content*>(&to_msg);
  auto& from = static_cast<const Content&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.Content)
  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_parts()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_parts());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_role(from._internal_role());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Content::InternalSwap(Content* 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_.parts_.InternalSwap(&other->_impl_.parts_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.role_, &other->_impl_.role_, arena);
}

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

void Part::set_allocated_inline_data(::private_ai::proto::Blob* PROTOBUF_NULLABLE inline_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_data();
  if (inline_data) {
    ::google::protobuf::Arena* submessage_arena = inline_data->GetArena();
    if (message_arena != submessage_arena) {
      inline_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, inline_data, submessage_arena);
    }
    set_has_inline_data();
    _impl_.data_.inline_data_ = inline_data;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.Part.inline_data)
}
Part::Part(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Part_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.Part)
}
PROTOBUF_NDEBUG_INLINE Part::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::Part& from_msg)
      : data_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Part* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (data_case()) {
    case DATA_NOT_SET:
      break;
      case kText:
        new (&_impl_.data_.text_) decltype(_impl_.data_.text_){arena, from._impl_.data_.text_};
        break;
      case kInlineData:
        _impl_.data_.inline_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.inline_data_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.Part)
}
PROTOBUF_NDEBUG_INLINE Part::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : data_{},
        _cached_size_{0},
        _oneof_case_{} {}

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

void Part::clear_data() {
// @@protoc_insertion_point(one_of_clear_start:private_ai.proto.Part)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (data_case()) {
    case kText: {
      _impl_.data_.text_.Destroy();
      break;
    }
    case kInlineData: {
      if (GetArena() == nullptr) {
        delete _impl_.data_.inline_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.data_.inline_data_ != nullptr) {
          _impl_.data_.inline_data_->Clear();
        }
      }
      break;
    }
    case DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Part_class_data_ =
    Part::InternalGenerateClassData_(Part_globals_._default);

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

  clear_data();
  _internal_metadata_.Clear<::std::string>();
}

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

  switch (this_.data_case()) {
    case kText: {
      const ::std::string& _s = this_._internal_text();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "private_ai.proto.Part.text");
      target = stream->WriteStringMaybeAliased(1, _s, target);
      break;
    }
    case kInlineData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.data_.inline_data_, this_._impl_.data_.inline_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  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:private_ai.proto.Part)
  return target;
}

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

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

  switch (this_.data_case()) {
    // string text = 1;
    case kText: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
      break;
    }
    // .private_ai.proto.Blob inline_data = 2;
    case kInlineData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.data_.inline_data_);
      break;
    }
    case DATA_NOT_SET: {
      break;
    }
  }
  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 Part::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Part*>(&to_msg);
  auto& from = static_cast<const Part&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.Part)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kText: {
        if (oneof_needs_init) {
          _this->_impl_.data_.text_.InitDefault();
        }
        _this->_impl_.data_.text_.Set(from._internal_text(), arena);
        break;
      }
      case kInlineData: {
        if (oneof_needs_init) {
          _this->_impl_.data_.inline_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.inline_data_);
        } else {
          _this->_impl_.data_.inline_data_->MergeFrom(*from._impl_.data_.inline_data_);
        }
        break;
      }
      case DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

Blob::Blob(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Blob_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.Blob)
}
PROTOBUF_NDEBUG_INLINE Blob::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::Blob& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        mime_type_(arena, from.mime_type_),
        data_(arena, from.data_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.Blob)
}
PROTOBUF_NDEBUG_INLINE Blob::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        mime_type_(arena),
        data_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Blob_class_data_ =
    Blob::InternalGenerateClassData_(Blob_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Blob::GetClassData() const {
  return Blob_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Blob::GetClassData() const {
  return Blob_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Blob::ParseTableT_
    Blob::_table_ =
        Blob::InternalGenerateParseTable_(Blob_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Blob::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.Blob)
  ::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_.mime_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.data_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.will_continue_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string mime_type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_mime_type();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "private_ai.proto.Blob.mime_type");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bytes data = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_data();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bool will_continue = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_will_continue(), 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:private_ai.proto.Blob)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Blob::ByteSizeLong(const MessageLite& base) {
  const Blob& this_ = static_cast<const Blob&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Blob::ByteSizeLong() const {
  const Blob& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.Blob)
  ::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>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string mime_type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_mime_type());
    }
    // bytes data = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_data());
    }
  }
  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 Blob::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Blob*>(&to_msg);
  auto& from = static_cast<const Blob&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.Blob)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_mime_type(from._internal_mime_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_data(from._internal_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.will_continue_ = from._impl_.will_continue_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Blob::InternalSwap(Blob* 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_.mime_type_, &other->_impl_.mime_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.data_, &other->_impl_.data_, arena);
  swap(_impl_.will_continue_, other->_impl_.will_continue_);
}

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

GenerateContentResponse::GenerateContentResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GenerateContentResponse_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.GenerateContentResponse)
}
PROTOBUF_NDEBUG_INLINE GenerateContentResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::GenerateContentResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        candidates_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::private_ai::proto::GenerateContentResponse,
              PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentResponse, _impl_.candidates_)>()
          , from.candidates_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GenerateContentResponse* 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:private_ai.proto.GenerateContentResponse)
}
PROTOBUF_NDEBUG_INLINE GenerateContentResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        candidates_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::private_ai::proto::GenerateContentResponse,
            PROTOBUF_FIELD_OFFSET(::private_ai::proto::GenerateContentResponse, _impl_.candidates_)>()
         }
     {}

inline void GenerateContentResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GenerateContentResponse::~GenerateContentResponse() {
  // @@protoc_insertion_point(destructor:private_ai.proto.GenerateContentResponse)
  SharedDtor(*this);
}
inline void GenerateContentResponse::SharedDtor(MessageLite& self) {
  GenerateContentResponse& this_ = static_cast<GenerateContentResponse&>(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 GenerateContentResponse_class_data_ =
    GenerateContentResponse::InternalGenerateClassData_(GenerateContentResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenerateContentResponse::GetClassData() const {
  return GenerateContentResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GenerateContentResponse::GetClassData() const {
  return GenerateContentResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GenerateContentResponse::ParseTableT_
    GenerateContentResponse::_table_ =
        GenerateContentResponse::InternalGenerateParseTable_(GenerateContentResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GenerateContentResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.GenerateContentResponse)
  ::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_.candidates_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .private_ai.proto.Candidate candidates = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_candidates_size());
         i < n; i++) {
      const auto& repfield = this_._internal_candidates().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.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:private_ai.proto.GenerateContentResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GenerateContentResponse::ByteSizeLong(const MessageLite& base) {
  const GenerateContentResponse& this_ = static_cast<const GenerateContentResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GenerateContentResponse::ByteSizeLong() const {
  const GenerateContentResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.GenerateContentResponse)
  ::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 .private_ai.proto.Candidate candidates = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_candidates_size();
      for (const auto& msg : this_._internal_candidates()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  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 GenerateContentResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GenerateContentResponse*>(&to_msg);
  auto& from = static_cast<const GenerateContentResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.GenerateContentResponse)
  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_candidates()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_candidates());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GenerateContentResponse::InternalSwap(GenerateContentResponse* 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_.candidates_.InternalSwap(&other->_impl_.candidates_);
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Candidate* 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_.content_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, index_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, index_),
           offsetof(Impl_, finish_reason_) -
               offsetof(Impl_, index_) +
               sizeof(Impl_::finish_reason_));

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.Candidate)
}
PROTOBUF_NDEBUG_INLINE Candidate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Candidate_class_data_ =
    Candidate::InternalGenerateClassData_(Candidate_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Candidate::GetClassData() const {
  return Candidate_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Candidate::GetClassData() const {
  return Candidate_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Candidate::ParseTableT_
    Candidate::_table_ =
        Candidate::InternalGenerateParseTable_(Candidate_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Candidate::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.Candidate)
  ::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)) {
    ABSL_DCHECK(_impl_.content_ != nullptr);
    _impl_.content_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.index_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.finish_reason_) -
        reinterpret_cast<char*>(&_impl_.index_)) + sizeof(_impl_.finish_reason_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .private_ai.proto.Content content = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.content_, this_._impl_.content_->GetCachedSize(), target,
        stream);
  }

  // .private_ai.proto.Candidate.FinishReason finish_reason = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_finish_reason(), 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:private_ai.proto.Candidate)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Candidate::ByteSizeLong(const MessageLite& base) {
  const Candidate& this_ = static_cast<const Candidate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Candidate::ByteSizeLong() const {
  const Candidate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.Candidate)
  ::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, 0x00000007U)) {
    // .private_ai.proto.Content content = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_);
    }
    // int32 index = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_index());
    }
    // .private_ai.proto.Candidate.FinishReason finish_reason = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_finish_reason());
    }
  }
  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 Candidate::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Candidate*>(&to_msg);
  auto& from = static_cast<const Candidate&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.Candidate)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.content_ != nullptr);
      if (_this->_impl_.content_ == nullptr) {
        _this->_impl_.content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_);
      } else {
        _this->_impl_.content_->MergeFrom(*from._impl_.content_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.index_ = from._impl_.index_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.finish_reason_ = from._impl_.finish_reason_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Candidate::InternalSwap(Candidate* 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(Candidate, _impl_.finish_reason_)
      + sizeof(Candidate::_impl_.finish_reason_)
      - PROTOBUF_FIELD_OFFSET(Candidate, _impl_.content_)>(
          reinterpret_cast<char*>(&_impl_.content_),
          reinterpret_cast<char*>(&other->_impl_.content_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ChromeClientMetadata* 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_, platform_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, platform_),
           offsetof(Impl_, channel_) -
               offsetof(Impl_, platform_) +
               sizeof(Impl_::channel_));

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.ChromeClientMetadata)
}
PROTOBUF_NDEBUG_INLINE ChromeClientMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        product_name_(arena) {}

inline void ChromeClientMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, platform_),
           0,
           offsetof(Impl_, channel_) -
               offsetof(Impl_, platform_) +
               sizeof(Impl_::channel_));
}
ChromeClientMetadata::~ChromeClientMetadata() {
  // @@protoc_insertion_point(destructor:private_ai.proto.ChromeClientMetadata)
  SharedDtor(*this);
}
inline void ChromeClientMetadata::SharedDtor(MessageLite& self) {
  ChromeClientMetadata& this_ = static_cast<ChromeClientMetadata&>(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_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ChromeClientMetadata_class_data_ =
    ChromeClientMetadata::InternalGenerateClassData_(ChromeClientMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ChromeClientMetadata::GetClassData() const {
  return ChromeClientMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ChromeClientMetadata::GetClassData() const {
  return ChromeClientMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ChromeClientMetadata::ParseTableT_
    ChromeClientMetadata::_table_ =
        ChromeClientMetadata::InternalGenerateParseTable_(ChromeClientMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ChromeClientMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.ChromeClientMetadata)
  ::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_.product_name_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.platform_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.channel_) -
        reinterpret_cast<char*>(&_impl_.platform_)) + sizeof(_impl_.channel_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ChromeClientMetadata::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ChromeClientMetadata& this_ = static_cast<const ChromeClientMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ChromeClientMetadata::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ChromeClientMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:private_ai.proto.ChromeClientMetadata)
  ::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();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "private_ai.proto.ChromeClientMetadata.product_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .private_ai.proto.ChromeClientMetadata.Platform platform = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_platform(), target);
  }

  // .private_ai.proto.ChromeClientMetadata.Channel channel = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_channel(), 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:private_ai.proto.ChromeClientMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ChromeClientMetadata::ByteSizeLong(const MessageLite& base) {
  const ChromeClientMetadata& this_ = static_cast<const ChromeClientMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ChromeClientMetadata::ByteSizeLong() const {
  const ChromeClientMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.ChromeClientMetadata)
  ::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, 0x00000007U)) {
    // string product_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_name());
    }
    // .private_ai.proto.ChromeClientMetadata.Platform platform = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_platform());
    }
    // .private_ai.proto.ChromeClientMetadata.Channel channel = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_channel());
    }
  }
  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 ChromeClientMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ChromeClientMetadata*>(&to_msg);
  auto& from = static_cast<const ChromeClientMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.ChromeClientMetadata)
  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, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_product_name(from._internal_product_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.platform_ = from._impl_.platform_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.channel_ = from._impl_.channel_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ChromeClientMetadata::InternalSwap(ChromeClientMetadata* 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);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.channel_)
      + sizeof(ChromeClientMetadata::_impl_.channel_)
      - PROTOBUF_FIELD_OFFSET(ChromeClientMetadata, _impl_.platform_)>(
          reinterpret_cast<char*>(&_impl_.platform_),
          reinterpret_cast<char*>(&other->_impl_.platform_));
}

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

void ClientMetadata::set_allocated_chrome_client_metadata(::private_ai::proto::ChromeClientMetadata* PROTOBUF_NULLABLE chrome_client_metadata) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_platform_metadata();
  if (chrome_client_metadata) {
    ::google::protobuf::Arena* submessage_arena = chrome_client_metadata->GetArena();
    if (message_arena != submessage_arena) {
      chrome_client_metadata = ::google::protobuf::internal::GetOwnedMessage(message_arena, chrome_client_metadata, submessage_arena);
    }
    set_has_chrome_client_metadata();
    _impl_.platform_metadata_.chrome_client_metadata_ = chrome_client_metadata;
  }
  // @@protoc_insertion_point(field_set_allocated:private_ai.proto.ClientMetadata.chrome_client_metadata)
}
ClientMetadata::ClientMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ClientMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:private_ai.proto.ClientMetadata)
}
PROTOBUF_NDEBUG_INLINE ClientMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::private_ai::proto::ClientMetadata& from_msg)
      : platform_metadata_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ClientMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (platform_metadata_case()) {
    case PLATFORM_METADATA_NOT_SET:
      break;
      case kChromeClientMetadata:
        _impl_.platform_metadata_.chrome_client_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.platform_metadata_.chrome_client_metadata_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.ClientMetadata)
}
PROTOBUF_NDEBUG_INLINE ClientMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : platform_metadata_{},
        _cached_size_{0},
        _oneof_case_{} {}

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

void ClientMetadata::clear_platform_metadata() {
// @@protoc_insertion_point(one_of_clear_start:private_ai.proto.ClientMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (platform_metadata_case()) {
    case kChromeClientMetadata: {
      if (GetArena() == nullptr) {
        delete _impl_.platform_metadata_.chrome_client_metadata_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.platform_metadata_.chrome_client_metadata_ != nullptr) {
          _impl_.platform_metadata_.chrome_client_metadata_->Clear();
        }
      }
      break;
    }
    case PLATFORM_METADATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PLATFORM_METADATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ClientMetadata_class_data_ =
    ClientMetadata::InternalGenerateClassData_(ClientMetadata_globals_._default);

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

  clear_platform_metadata();
  _internal_metadata_.Clear<::std::string>();
}

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

  // .private_ai.proto.ChromeClientMetadata chrome_client_metadata = 2;
  if (this_.platform_metadata_case() == kChromeClientMetadata) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.platform_metadata_.chrome_client_metadata_, this_._impl_.platform_metadata_.chrome_client_metadata_->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:private_ai.proto.ClientMetadata)
  return target;
}

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

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

  switch (this_.platform_metadata_case()) {
    // .private_ai.proto.ChromeClientMetadata chrome_client_metadata = 2;
    case kChromeClientMetadata: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.platform_metadata_.chrome_client_metadata_);
      break;
    }
    case PLATFORM_METADATA_NOT_SET: {
      break;
    }
  }
  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 ClientMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ClientMetadata*>(&to_msg);
  auto& from = static_cast<const ClientMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.ClientMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_platform_metadata();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kChromeClientMetadata: {
        if (oneof_needs_init) {
          _this->_impl_.platform_metadata_.chrome_client_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.platform_metadata_.chrome_client_metadata_);
        } else {
          _this->_impl_.platform_metadata_.chrome_client_metadata_->MergeFrom(*from._impl_.platform_metadata_.chrome_client_metadata_);
        }
        break;
      }
      case PLATFORM_METADATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AnonymousTokenRequest* 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_.client_metadata_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.client_metadata_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:private_ai.proto.AnonymousTokenRequest)
}
PROTOBUF_NDEBUG_INLINE AnonymousTokenRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        anonymous_token_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AnonymousTokenRequest_class_data_ =
    AnonymousTokenRequest::InternalGenerateClassData_(AnonymousTokenRequest_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnonymousTokenRequest::GetClassData() const {
  return AnonymousTokenRequest_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnonymousTokenRequest::GetClassData() const {
  return AnonymousTokenRequest_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AnonymousTokenRequest::ParseTableT_
    AnonymousTokenRequest::_table_ =
        AnonymousTokenRequest::InternalGenerateParseTable_(AnonymousTokenRequest_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AnonymousTokenRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:private_ai.proto.AnonymousTokenRequest)
  ::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_.anonymous_token_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.client_metadata_ != nullptr);
      _impl_.client_metadata_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .private_ai.proto.ClientMetadata client_metadata = 15;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, *this_._impl_.client_metadata_, this_._impl_.client_metadata_->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:private_ai.proto.AnonymousTokenRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AnonymousTokenRequest::ByteSizeLong(const MessageLite& base) {
  const AnonymousTokenRequest& this_ = static_cast<const AnonymousTokenRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AnonymousTokenRequest::ByteSizeLong() const {
  const AnonymousTokenRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:private_ai.proto.AnonymousTokenRequest)
  ::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)) {
    // bytes anonymous_token = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_anonymous_token());
    }
    // .private_ai.proto.ClientMetadata client_metadata = 15;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.client_metadata_);
    }
  }
  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 AnonymousTokenRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AnonymousTokenRequest*>(&to_msg);
  auto& from = static_cast<const AnonymousTokenRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:private_ai.proto.AnonymousTokenRequest)
  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_anonymous_token(from._internal_anonymous_token());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.client_metadata_ != nullptr);
      if (_this->_impl_.client_metadata_ == nullptr) {
        _this->_impl_.client_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.client_metadata_);
      } else {
        _this->_impl_.client_metadata_->MergeFrom(*from._impl_.client_metadata_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AnonymousTokenRequest::InternalSwap(AnonymousTokenRequest* 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_.anonymous_token_, &other->_impl_.anonymous_token_, arena);
  swap(_impl_.client_metadata_, other->_impl_.client_metadata_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace proto
}  // namespace private_ai
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
