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

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

constexpr Shipment::ParseTableT_ Shipment::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Shipment, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Shipment>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string delivery_address = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(Shipment, _impl_.delivery_address_)}},
      // string associated_order_id = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Shipment, _impl_.associated_order_id_)}},
      // string tracking_number = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Shipment, _impl_.tracking_number_)}},
      // string carrier_name = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(Shipment, _impl_.carrier_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string associated_order_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Shipment, _impl_.associated_order_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string tracking_number = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Shipment, _impl_.tracking_number_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string carrier_name = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Shipment, _impl_.carrier_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string delivery_address = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Shipment, _impl_.delivery_address_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\41\23\17\14\20\0\0\0"
      "optimization_guide.proto.Shipment"
      "associated_order_id"
      "tracking_number"
      "carrier_name"
      "delivery_address"
    }},
  };
}


inline constexpr Shipment::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        associated_order_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tracking_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        carrier_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        delivery_address_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

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

constexpr Product::ParseTableT_ Product::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Product, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Product>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 quantity = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Product, _impl_.quantity_)}},
      // string name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Product, _impl_.name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Product, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 quantity = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Product, _impl_.quantity_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
      "\40\4\0\0\0\0\0\0"
      "optimization_guide.proto.Product"
      "name"
    }},
  };
}


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

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

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

constexpr DynamicAttribute::ParseTableT_ DynamicAttribute::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DynamicAttribute, _impl_._has_bits_),
      0, // no _extensions_
      3, 0,  // 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<::optimization_guide::proto::DynamicAttribute>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string key = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DynamicAttribute, _impl_.key_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string key = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DynamicAttribute, _impl_.key_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string string_value = 2;
      {PROTOBUF_FIELD_OFFSET(DynamicAttribute, _impl_.value_.string_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // double number_value = 3;
      {PROTOBUF_FIELD_OFFSET(DynamicAttribute, _impl_.value_.number_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kDouble)},
    }},
    // no aux_entries
    {{
      "\51\3\14\0\0\0\0\0"
      "optimization_guide.proto.DynamicAttribute"
      "key"
      "string_value"
    }},
  };
}


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

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

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

constexpr Date::ParseTableT_ Date::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Date, _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<::optimization_guide::proto::Date>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 year = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Date, _impl_.year_)}},
      // int32 month = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Date, _impl_.month_)}},
      // int32 day = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Date, _impl_.day_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 year = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Date, _impl_.year_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 month = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Date, _impl_.month_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 day = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Date, _impl_.day_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Date::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        year_{0},
        month_{0},
        day_{0} {}

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

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

constexpr Order::ParseTableT_ Order::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Order, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      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<::optimization_guide::proto::Order>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // double grand_total = 4 [features = {
      {::_pbi::TcParser::FastF64S1,
       {33, 3, 0,
        PROTOBUF_FIELD_OFFSET(Order, _impl_.grand_total_)}},
      // string id = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(Order, _impl_.id_)}},
      // repeated .optimization_guide.proto.Product products = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Order, _impl_.products_)}},
      // .optimization_guide.proto.Date order_date = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 1,
        PROTOBUF_FIELD_OFFSET(Order, _impl_.order_date_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Order, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.Product products = 2;
      {PROTOBUF_FIELD_OFFSET(Order, _impl_.products_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.Date order_date = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Order, _impl_.order_date_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // double grand_total = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Order, _impl_.grand_total_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Product>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Product_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
    }},
    {{
      "\36\2\0\0\0\0\0\0"
      "optimization_guide.proto.Order"
      "id"
    }},
  };
}


inline constexpr Order::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        products_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::Order,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Order, _impl_.products_)>()
         }
        ,
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        order_date_{nullptr},
        grand_total_{0} {}

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

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

constexpr HotelBooking::ParseTableT_ HotelBooking::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::HotelBooking>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 number_of_guests = 8 [features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 7, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.number_of_guests_)}},
      // string confirmation_code = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.confirmation_code_)}},
      // double grand_total = 2 [features = {
      {::_pbi::TcParser::FastF64S1,
       {17, 6, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.grand_total_)}},
      // string property_name = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.property_name_)}},
      // .optimization_guide.proto.Date check_in_date = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 4, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.check_in_date_)}},
      // .optimization_guide.proto.Date check_out_date = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 5, 1,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.check_out_date_)}},
      // string city = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.city_)}},
      // string guest_name = 7 [features = {
      {::_pbi::TcParser::FastUS1,
       {58, 3, 0,
        PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.guest_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string confirmation_code = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.confirmation_code_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // double grand_total = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.grand_total_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // string property_name = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.property_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.Date check_in_date = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.check_in_date_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.Date check_out_date = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.check_out_date_), _Internal::kHasBitsOffset + 5, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string city = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.city_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string guest_name = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.guest_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 number_of_guests = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.number_of_guests_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
    }},
    {{
      "\45\21\0\15\0\0\4\12\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.HotelBooking"
      "confirmation_code"
      "property_name"
      "city"
      "guest_name"
    }},
  };
}


inline constexpr HotelBooking::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        confirmation_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        property_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        city_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        guest_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        check_in_date_{nullptr},
        check_out_date_{nullptr},
        grand_total_{0},
        number_of_guests_{0} {}

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

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

constexpr FlightReservation::ParseTableT_ FlightReservation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      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<::optimization_guide::proto::FlightReservation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string confirmation_code = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.confirmation_code_)}},
      // double grand_total = 2 [features = {
      {::_pbi::TcParser::FastF64S1,
       {17, 6, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.grand_total_)}},
      // string flight_number = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.flight_number_)}},
      // string passenger_name = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.passenger_name_)}},
      // string departure_airport = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.departure_airport_)}},
      // string arrival_airport = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.arrival_airport_)}},
      // .optimization_guide.proto.Date departure_date = 7 [features = {
      {::_pbi::TcParser::FastMtS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.departure_date_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string confirmation_code = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.confirmation_code_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // double grand_total = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.grand_total_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // string flight_number = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.flight_number_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string passenger_name = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.passenger_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string departure_airport = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.departure_airport_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string arrival_airport = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.arrival_airport_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.Date departure_date = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.departure_date_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
    }},
    {{
      "\52\21\0\15\16\21\17\0"
      "optimization_guide.proto.FlightReservation"
      "confirmation_code"
      "flight_number"
      "passenger_name"
      "departure_airport"
      "arrival_airport"
    }},
  };
}


inline constexpr FlightReservation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        confirmation_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        flight_number_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        passenger_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        departure_airport_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        arrival_airport_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        departure_date_{nullptr},
        grand_total_{0} {}

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

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

constexpr CarRental::ParseTableT_ CarRental::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CarRental, _impl_._has_bits_),
      0, // no _extensions_
      9, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // 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<::optimization_guide::proto::CarRental>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string confirmation_code = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.confirmation_code_)}},
      // double grand_total = 2 [features = {
      {::_pbi::TcParser::FastF64S1,
       {17, 8, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.grand_total_)}},
      // string car_model = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.car_model_)}},
      // string guest_name = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.guest_name_)}},
      // string pickup_location_name = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.pickup_location_name_)}},
      // string dropoff_location_name = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.dropoff_location_name_)}},
      // .optimization_guide.proto.Date pickup_date = 7 [features = {
      {::_pbi::TcParser::FastMtS1,
       {58, 6, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.pickup_date_)}},
      // .optimization_guide.proto.Date dropoff_date = 8 [features = {
      {::_pbi::TcParser::FastMtS1,
       {66, 7, 1,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.dropoff_date_)}},
      // string merchant = 9 [features = {
      {::_pbi::TcParser::FastUS1,
       {74, 5, 0,
        PROTOBUF_FIELD_OFFSET(CarRental, _impl_.merchant_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string confirmation_code = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.confirmation_code_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // double grand_total = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.grand_total_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // string car_model = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.car_model_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string guest_name = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.guest_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string pickup_location_name = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.pickup_location_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string dropoff_location_name = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.dropoff_location_name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.Date pickup_date = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.pickup_date_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.Date dropoff_date = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.dropoff_date_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string merchant = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(CarRental, _impl_.merchant_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Date>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Date_globals_},
        #endif
    }},
    {{
      "\42\21\0\11\12\24\25\0\0\10\0\0\0\0\0\0"
      "optimization_guide.proto.CarRental"
      "confirmation_code"
      "car_model"
      "guest_name"
      "pickup_location_name"
      "dropoff_location_name"
      "merchant"
    }},
  };
}


inline constexpr CarRental::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        confirmation_code_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        car_model_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        guest_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pickup_location_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dropoff_location_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        merchant_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pickup_date_{nullptr},
        dropoff_date_{nullptr},
        grand_total_{0} {}

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

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

constexpr StructuredData::ParseTableT_ StructuredData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(StructuredData, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      5,  // 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<::optimization_guide::proto::StructuredData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.Order orders = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.orders_)}},
      // repeated .optimization_guide.proto.Shipment shipments = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.shipments_)}},
      // repeated .optimization_guide.proto.FlightReservation flight_reservations = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.flight_reservations_)}},
      // repeated .optimization_guide.proto.HotelBooking hotel_bookings = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.hotel_bookings_)}},
      // repeated .optimization_guide.proto.CarRental car_rentals = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.car_rentals_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.Order orders = 1;
      {PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.orders_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.Shipment shipments = 2;
      {PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.shipments_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.FlightReservation flight_reservations = 3;
      {PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.flight_reservations_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.HotelBooking hotel_bookings = 4;
      {PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.hotel_bookings_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.CarRental car_rentals = 5;
      {PROTOBUF_FIELD_OFFSET(StructuredData, _impl_.car_rentals_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Order>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Order_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Shipment>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Shipment_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FlightReservation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FlightReservation_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HotelBooking>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HotelBooking_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CarRental>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CarRental_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr StructuredData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        orders_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::StructuredData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::StructuredData, _impl_.orders_)>()
         }
        ,
        shipments_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::StructuredData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::StructuredData, _impl_.shipments_)>()
         }
        ,
        flight_reservations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::StructuredData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::StructuredData, _impl_.flight_reservations_)>()
         }
        ,
        hotel_bookings_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::StructuredData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::StructuredData, _impl_.hotel_bookings_)>()
         }
        ,
        car_rentals_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::StructuredData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::StructuredData, _impl_.car_rentals_)>()
         }
     {}

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

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

constexpr ContentAnnotation::ParseTableT_ ContentAnnotation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // 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<::optimization_guide::proto::ContentAnnotation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string description = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.description_)}},
      // .optimization_guide.proto.ContentAnnotation.Status status = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.status_)}},
      // .optimization_guide.proto.StructuredData structured_data = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.structured_data_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.DynamicAttribute supplemental_data = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 0, 1,
        PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.supplemental_data_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string description = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.description_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ContentAnnotation.Status status = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.status_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.StructuredData structured_data = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.structured_data_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.DynamicAttribute supplemental_data = 5;
      {PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.supplemental_data_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::StructuredData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::StructuredData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DynamicAttribute>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DynamicAttribute_globals_},
        #endif
    }},
    {{
      "\52\13\0\0\0\0\0\0"
      "optimization_guide.proto.ContentAnnotation"
      "description"
    }},
  };
}


inline constexpr ContentAnnotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        supplemental_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentAnnotation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAnnotation, _impl_.supplemental_data_)>()
         }
        ,
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        structured_data_{nullptr},
        status_{static_cast< ::optimization_guide::proto::ContentAnnotation_Status >(0)} {}

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

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

constexpr ContentAnnotationResponse::ParseTableT_ ContentAnnotationResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentAnnotationResponse, _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<::optimization_guide::proto::ContentAnnotationResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ContentAnnotation content_annotation = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationResponse, _impl_.content_annotation_)}},
      // string extracted_data = 1 [deprecated = true, features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationResponse, _impl_.extracted_data_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string extracted_data = 1 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationResponse, _impl_.extracted_data_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ContentAnnotation content_annotation = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationResponse, _impl_.content_annotation_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAnnotation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentAnnotation_globals_},
        #endif
    }},
    {{
      "\62\16\0\0\0\0\0\0"
      "optimization_guide.proto.ContentAnnotationResponse"
      "extracted_data"
    }},
  };
}


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

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

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

constexpr ContentAnnotationRequest::ParseTableT_ ContentAnnotationRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentAnnotationRequest, _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<::optimization_guide::proto::ContentAnnotationRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.PageContext page_context = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationRequest, _impl_.page_context_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PageContext page_context = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationRequest, _impl_.page_context_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PageContext>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PageContext_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ContentAnnotationRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_context_{nullptr} {}

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

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

constexpr ContentAnnotationLoggingData::ParseTableT_ ContentAnnotationLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _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
      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<::optimization_guide::proto::ContentAnnotationLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ContentAnnotationRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.ContentAnnotationResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.model_execution_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ContentAnnotationRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContentAnnotationResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAnnotationLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAnnotationRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentAnnotationRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAnnotationResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentAnnotationResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ContentAnnotationLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_{nullptr},
        response_{nullptr},
        model_execution_info_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ContentAnnotationLoggingDataGlobalsTypeInternal ContentAnnotationLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ContentAnnotationLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ContentAnnotationLoggingData_globals_.GetClassData();
#else
  return ContentAnnotationLoggingData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t ContentAnnotation_Status_internal_data_[] = {
    196608u, 0u, };
static const char ContentAnnotation_Status_names[] = {
    "CONFIRMED"
    "PENDING"
    "STATUS_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContentAnnotation_Status_entries[] = {
    {{&ContentAnnotation_Status_names[0], 9}, 1},
    {{&ContentAnnotation_Status_names[9], 7}, 2},
    {{&ContentAnnotation_Status_names[16], 18}, 0},
};

static const int ContentAnnotation_Status_entries_by_number[] = {
    2,  // 0 -> STATUS_UNSPECIFIED
    0,  // 1 -> CONFIRMED
    1,  // 2 -> PENDING
};

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

const ::std::string& ContentAnnotation_Status_Name(ContentAnnotation_Status value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContentAnnotation_Status_entries, ContentAnnotation_Status_entries_by_number, 3,
      ContentAnnotation_Status_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContentAnnotation_Status_entries,
                                  ContentAnnotation_Status_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContentAnnotation_Status_strings[idx].get();
}
// ===================================================================

void ContentAnnotationLoggingData::clear_model_execution_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.model_execution_info_ != nullptr) _impl_.model_execution_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ContentAnnotationLoggingData::ContentAnnotationLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentAnnotationLoggingData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContentAnnotationLoggingData)
}
PROTOBUF_NDEBUG_INLINE ContentAnnotationLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContentAnnotationLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentAnnotationLoggingData_class_data_ =
    ContentAnnotationLoggingData::InternalGenerateClassData_(ContentAnnotationLoggingData_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ContentAnnotationRequest request = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.request_, this_._impl_.request_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ContentAnnotationResponse response = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.response_, this_._impl_.response_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.model_execution_info_, this_._impl_.model_execution_info_->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:optimization_guide.proto.ContentAnnotationLoggingData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContentAnnotationLoggingData::ByteSizeLong(const MessageLite& base) {
  const ContentAnnotationLoggingData& this_ = static_cast<const ContentAnnotationLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContentAnnotationLoggingData::ByteSizeLong() const {
  const ContentAnnotationLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContentAnnotationLoggingData)
  ::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)) {
    // .optimization_guide.proto.ContentAnnotationRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.ContentAnnotationResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
  }
  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 ContentAnnotationLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentAnnotationLoggingData*>(&to_msg);
  auto& from = static_cast<const ContentAnnotationLoggingData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentAnnotationLoggingData)
  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_.request_ != nullptr);
      if (_this->_impl_.request_ == nullptr) {
        _this->_impl_.request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_);
      } else {
        _this->_impl_.request_->MergeFrom(*from._impl_.request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.response_ != nullptr);
      if (_this->_impl_.response_ == nullptr) {
        _this->_impl_.response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_);
      } else {
        _this->_impl_.response_->MergeFrom(*from._impl_.response_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.model_execution_info_ != nullptr);
      if (_this->_impl_.model_execution_info_ == nullptr) {
        _this->_impl_.model_execution_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_);
      } else {
        _this->_impl_.model_execution_info_->MergeFrom(*from._impl_.model_execution_info_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

void ContentAnnotationRequest::clear_page_context() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.page_context_ != nullptr) _impl_.page_context_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
ContentAnnotationRequest::ContentAnnotationRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentAnnotationRequest_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContentAnnotationRequest)
}
PROTOBUF_NDEBUG_INLINE ContentAnnotationRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContentAnnotationRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentAnnotationRequest_class_data_ =
    ContentAnnotationRequest::InternalGenerateClassData_(ContentAnnotationRequest_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.PageContext page_context = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.page_context_, this_._impl_.page_context_->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:optimization_guide.proto.ContentAnnotationRequest)
  return target;
}

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

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

   {
    // .optimization_guide.proto.PageContext page_context = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.page_context_);
    }
  }
  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 ContentAnnotationRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentAnnotationRequest*>(&to_msg);
  auto& from = static_cast<const ContentAnnotationRequest&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentAnnotationRequest)
  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)) {
    ABSL_DCHECK(from._impl_.page_context_ != nullptr);
    if (_this->_impl_.page_context_ == nullptr) {
      _this->_impl_.page_context_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_context_);
    } else {
      _this->_impl_.page_context_->MergeFrom(*from._impl_.page_context_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ContentAnnotationRequest::InternalSwap(ContentAnnotationRequest* 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_.page_context_, other->_impl_.page_context_);
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentAnnotationResponse_class_data_ =
    ContentAnnotationResponse::InternalGenerateClassData_(ContentAnnotationResponse_globals_._default);

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

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

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

  // .optimization_guide.proto.ContentAnnotation content_annotation = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.content_annotation_, this_._impl_.content_annotation_->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:optimization_guide.proto.ContentAnnotationResponse)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string extracted_data = 1 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_extracted_data());
    }
    // .optimization_guide.proto.ContentAnnotation content_annotation = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_annotation_);
    }
  }
  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 ContentAnnotationResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentAnnotationResponse*>(&to_msg);
  auto& from = static_cast<const ContentAnnotationResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentAnnotationResponse)
  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_extracted_data(from._internal_extracted_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.content_annotation_ != nullptr);
      if (_this->_impl_.content_annotation_ == nullptr) {
        _this->_impl_.content_annotation_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_annotation_);
      } else {
        _this->_impl_.content_annotation_->MergeFrom(*from._impl_.content_annotation_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContentAnnotation)
}
PROTOBUF_NDEBUG_INLINE ContentAnnotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        supplemental_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentAnnotation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAnnotation, _impl_.supplemental_data_)>()
         }
        ,
        description_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentAnnotation_class_data_ =
    ContentAnnotation::InternalGenerateClassData_(ContentAnnotation_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.supplemental_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.structured_data_ != nullptr);
      _impl_.structured_data_->Clear();
    }
  }
  _impl_.status_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.ContentAnnotation.Status status = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_status(), target);
  }

  // .optimization_guide.proto.StructuredData structured_data = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.structured_data_, this_._impl_.structured_data_->GetCachedSize(), target,
        stream);
  }

  // repeated .optimization_guide.proto.DynamicAttribute supplemental_data = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_supplemental_data_size());
         i < n; i++) {
      const auto& repfield = this_._internal_supplemental_data().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, 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:optimization_guide.proto.ContentAnnotation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContentAnnotation::ByteSizeLong(const MessageLite& base) {
  const ContentAnnotation& this_ = static_cast<const ContentAnnotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContentAnnotation::ByteSizeLong() const {
  const ContentAnnotation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContentAnnotation)
  ::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)) {
    // repeated .optimization_guide.proto.DynamicAttribute supplemental_data = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_supplemental_data_size();
      for (const auto& msg : this_._internal_supplemental_data()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string description = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_description());
    }
    // .optimization_guide.proto.StructuredData structured_data = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.structured_data_);
    }
    // .optimization_guide.proto.ContentAnnotation.Status status = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
    }
  }
  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 ContentAnnotation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentAnnotation*>(&to_msg);
  auto& from = static_cast<const ContentAnnotation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentAnnotation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_supplemental_data()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_supplemental_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_description(from._internal_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.structured_data_ != nullptr);
      if (_this->_impl_.structured_data_ == nullptr) {
        _this->_impl_.structured_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.structured_data_);
      } else {
        _this->_impl_.structured_data_->MergeFrom(*from._impl_.structured_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.status_ = from._impl_.status_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ContentAnnotation::InternalSwap(ContentAnnotation* 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_.supplemental_data_.InternalSwap(&other->_impl_.supplemental_data_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.status_)
      + sizeof(ContentAnnotation::_impl_.status_)
      - PROTOBUF_FIELD_OFFSET(ContentAnnotation, _impl_.structured_data_)>(
          reinterpret_cast<char*>(&_impl_.structured_data_),
          reinterpret_cast<char*>(&other->_impl_.structured_data_));
}

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

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

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

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

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.orders_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.shipments_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.flight_reservations_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.hotel_bookings_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.car_rentals_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.Order orders = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_orders_size());
         i < n; i++) {
      const auto& repfield = this_._internal_orders().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.Shipment shipments = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_shipments_size());
         i < n; i++) {
      const auto& repfield = this_._internal_shipments().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.FlightReservation flight_reservations = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_flight_reservations_size());
         i < n; i++) {
      const auto& repfield = this_._internal_flight_reservations().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.HotelBooking hotel_bookings = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_hotel_bookings_size());
         i < n; i++) {
      const auto& repfield = this_._internal_hotel_bookings().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.CarRental car_rentals = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_car_rentals_size());
         i < n; i++) {
      const auto& repfield = this_._internal_car_rentals().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, 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:optimization_guide.proto.StructuredData)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .optimization_guide.proto.Order orders = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_orders_size();
      for (const auto& msg : this_._internal_orders()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.Shipment shipments = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_shipments_size();
      for (const auto& msg : this_._internal_shipments()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.FlightReservation flight_reservations = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_flight_reservations_size();
      for (const auto& msg : this_._internal_flight_reservations()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.HotelBooking hotel_bookings = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_hotel_bookings_size();
      for (const auto& msg : this_._internal_hotel_bookings()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.CarRental car_rentals = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_car_rentals_size();
      for (const auto& msg : this_._internal_car_rentals()) {
        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 StructuredData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<StructuredData*>(&to_msg);
  auto& from = static_cast<const StructuredData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.StructuredData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_orders()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_orders());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_shipments()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_shipments());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_flight_reservations()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_flight_reservations());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_hotel_bookings()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_hotel_bookings());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_car_rentals()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_car_rentals());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void StructuredData::InternalSwap(StructuredData* 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_.orders_.InternalSwap(&other->_impl_.orders_);
  _impl_.shipments_.InternalSwap(&other->_impl_.shipments_);
  _impl_.flight_reservations_.InternalSwap(&other->_impl_.flight_reservations_);
  _impl_.hotel_bookings_.InternalSwap(&other->_impl_.hotel_bookings_);
  _impl_.car_rentals_.InternalSwap(&other->_impl_.car_rentals_);
}

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Order)
}
PROTOBUF_NDEBUG_INLINE Order::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        products_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::Order,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Order, _impl_.products_)>()
         }
        ,
        id_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Order_class_data_ =
    Order::InternalGenerateClassData_(Order_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.products_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.order_date_ != nullptr);
      _impl_.order_date_->Clear();
    }
  }
  _impl_.grand_total_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // repeated .optimization_guide.proto.Product products = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_products_size());
         i < n; i++) {
      const auto& repfield = this_._internal_products().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.Date order_date = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.order_date_, this_._impl_.order_date_->GetCachedSize(), target,
        stream);
  }

  // double grand_total = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        4, this_._internal_grand_total(), 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:optimization_guide.proto.Order)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000008U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .optimization_guide.proto.Product products = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_products_size();
      for (const auto& msg : this_._internal_products()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // .optimization_guide.proto.Date order_date = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.order_date_);
    }
  }
  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 Order::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Order*>(&to_msg);
  auto& from = static_cast<const Order&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Order)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_products()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_products());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.order_date_ != nullptr);
      if (_this->_impl_.order_date_ == nullptr) {
        _this->_impl_.order_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.order_date_);
      } else {
        _this->_impl_.order_date_->MergeFrom(*from._impl_.order_date_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.grand_total_ = from._impl_.grand_total_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Order::InternalSwap(Order* 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_.products_.InternalSwap(&other->_impl_.products_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, &other->_impl_.id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Order, _impl_.grand_total_)
      + sizeof(Order::_impl_.grand_total_)
      - PROTOBUF_FIELD_OFFSET(Order, _impl_.order_date_)>(
          reinterpret_cast<char*>(&_impl_.order_date_),
          reinterpret_cast<char*>(&other->_impl_.order_date_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Product_class_data_ =
    Product::InternalGenerateClassData_(Product_globals_._default);

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

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

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

  // int32 quantity = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_quantity(), 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:optimization_guide.proto.Product)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // int32 quantity = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_quantity());
    }
  }
  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 Product::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Product*>(&to_msg);
  auto& from = static_cast<const Product&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Product)
  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_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.quantity_ = from._impl_.quantity_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

inline void Date::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, year_),
           0,
           offsetof(Impl_, day_) -
               offsetof(Impl_, year_) +
               sizeof(Impl_::day_));
}
Date::~Date() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Date)
  SharedDtor(*this);
}
inline void Date::SharedDtor(MessageLite& self) {
  Date& this_ = static_cast<Date&>(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 Date_class_data_ =
    Date::InternalGenerateClassData_(Date_globals_._default);

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

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

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

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

  // int32 day = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_day(), 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:optimization_guide.proto.Date)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Date::ByteSizeLong(const MessageLite& base) {
  const Date& this_ = static_cast<const Date&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Date::ByteSizeLong() const {
  const Date& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Date)
  ::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)) {
    // int32 year = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_year());
    }
    // int32 month = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_month());
    }
    // int32 day = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_day());
    }
  }
  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 Date::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Date*>(&to_msg);
  auto& from = static_cast<const Date&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Date)
  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->_impl_.year_ = from._impl_.year_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.month_ = from._impl_.month_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.day_ = from._impl_.day_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Shipment* 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:optimization_guide.proto.Shipment)
}
PROTOBUF_NDEBUG_INLINE Shipment::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        associated_order_id_(arena),
        tracking_number_(arena),
        carrier_name_(arena),
        delivery_address_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Shipment_class_data_ =
    Shipment::InternalGenerateClassData_(Shipment_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.associated_order_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.tracking_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.carrier_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.delivery_address_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // string tracking_number = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_tracking_number();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Shipment.tracking_number");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string carrier_name = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_carrier_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Shipment.carrier_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string delivery_address = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_delivery_address();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Shipment.delivery_address");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // string associated_order_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_associated_order_id());
    }
    // string tracking_number = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tracking_number());
    }
    // string carrier_name = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_carrier_name());
    }
    // string delivery_address = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_delivery_address());
    }
  }
  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 Shipment::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Shipment*>(&to_msg);
  auto& from = static_cast<const Shipment&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Shipment)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_associated_order_id(from._internal_associated_order_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_tracking_number(from._internal_tracking_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_carrier_name(from._internal_carrier_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_delivery_address(from._internal_delivery_address());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Shipment::InternalSwap(Shipment* 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_.associated_order_id_, &other->_impl_.associated_order_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tracking_number_, &other->_impl_.tracking_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.carrier_name_, &other->_impl_.carrier_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.delivery_address_, &other->_impl_.delivery_address_, arena);
}

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

FlightReservation::FlightReservation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FlightReservation_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FlightReservation)
}
PROTOBUF_NDEBUG_INLINE FlightReservation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FlightReservation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        confirmation_code_(arena, from.confirmation_code_),
        flight_number_(arena, from.flight_number_),
        passenger_name_(arena, from.passenger_name_),
        departure_airport_(arena, from.departure_airport_),
        arrival_airport_(arena, from.arrival_airport_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FlightReservation)
}
PROTOBUF_NDEBUG_INLINE FlightReservation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        confirmation_code_(arena),
        flight_number_(arena),
        passenger_name_(arena),
        departure_airport_(arena),
        arrival_airport_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FlightReservation_class_data_ =
    FlightReservation::InternalGenerateClassData_(FlightReservation_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.confirmation_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.flight_number_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.passenger_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.departure_airport_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.arrival_airport_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.departure_date_ != nullptr);
      _impl_.departure_date_->Clear();
    }
  }
  _impl_.grand_total_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // double grand_total = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        2, this_._internal_grand_total(), target);
  }

  // string flight_number = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_flight_number();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FlightReservation.flight_number");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string passenger_name = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_passenger_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FlightReservation.passenger_name");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string departure_airport = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_departure_airport();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FlightReservation.departure_airport");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string arrival_airport = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_arrival_airport();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FlightReservation.arrival_airport");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // .optimization_guide.proto.Date departure_date = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.departure_date_, this_._impl_.departure_date_->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:optimization_guide.proto.FlightReservation)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000040U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // string confirmation_code = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_confirmation_code());
    }
    // string flight_number = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_flight_number());
    }
    // string passenger_name = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_passenger_name());
    }
    // string departure_airport = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_departure_airport());
    }
    // string arrival_airport = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_arrival_airport());
    }
    // .optimization_guide.proto.Date departure_date = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.departure_date_);
    }
  }
  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 FlightReservation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FlightReservation*>(&to_msg);
  auto& from = static_cast<const FlightReservation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FlightReservation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_confirmation_code(from._internal_confirmation_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_flight_number(from._internal_flight_number());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_passenger_name(from._internal_passenger_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_departure_airport(from._internal_departure_airport());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_arrival_airport(from._internal_arrival_airport());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.departure_date_ != nullptr);
      if (_this->_impl_.departure_date_ == nullptr) {
        _this->_impl_.departure_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.departure_date_);
      } else {
        _this->_impl_.departure_date_->MergeFrom(*from._impl_.departure_date_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.grand_total_ = from._impl_.grand_total_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FlightReservation::InternalSwap(FlightReservation* 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_.confirmation_code_, &other->_impl_.confirmation_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.flight_number_, &other->_impl_.flight_number_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.passenger_name_, &other->_impl_.passenger_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.departure_airport_, &other->_impl_.departure_airport_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.arrival_airport_, &other->_impl_.arrival_airport_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.grand_total_)
      + sizeof(FlightReservation::_impl_.grand_total_)
      - PROTOBUF_FIELD_OFFSET(FlightReservation, _impl_.departure_date_)>(
          reinterpret_cast<char*>(&_impl_.departure_date_),
          reinterpret_cast<char*>(&other->_impl_.departure_date_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  HotelBooking* 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_.check_in_date_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.check_in_date_)
                : nullptr;
  _impl_.check_out_date_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.check_out_date_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, grand_total_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, grand_total_),
           offsetof(Impl_, number_of_guests_) -
               offsetof(Impl_, grand_total_) +
               sizeof(Impl_::number_of_guests_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.HotelBooking)
}
PROTOBUF_NDEBUG_INLINE HotelBooking::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        confirmation_code_(arena),
        property_name_(arena),
        city_(arena),
        guest_name_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite HotelBooking_class_data_ =
    HotelBooking::InternalGenerateClassData_(HotelBooking_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.confirmation_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.property_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.city_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.guest_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.check_in_date_ != nullptr);
      _impl_.check_in_date_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.check_out_date_ != nullptr);
      _impl_.check_out_date_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&_impl_.grand_total_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.number_of_guests_) -
        reinterpret_cast<char*>(&_impl_.grand_total_)) + sizeof(_impl_.number_of_guests_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // double grand_total = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        2, this_._internal_grand_total(), target);
  }

  // string property_name = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_property_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.HotelBooking.property_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .optimization_guide.proto.Date check_in_date = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.check_in_date_, this_._impl_.check_in_date_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.Date check_out_date = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.check_out_date_, this_._impl_.check_out_date_->GetCachedSize(), target,
        stream);
  }

  // string city = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_city();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.HotelBooking.city");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string guest_name = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_guest_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.HotelBooking.guest_name");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // int32 number_of_guests = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
            stream, this_._internal_number_of_guests(), 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:optimization_guide.proto.HotelBooking)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000040U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x000000bfU)) {
    // string confirmation_code = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_confirmation_code());
    }
    // string property_name = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_property_name());
    }
    // string city = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_city());
    }
    // string guest_name = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_guest_name());
    }
    // .optimization_guide.proto.Date check_in_date = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.check_in_date_);
    }
    // .optimization_guide.proto.Date check_out_date = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.check_out_date_);
    }
    // int32 number_of_guests = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_number_of_guests());
    }
  }
  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 HotelBooking::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<HotelBooking*>(&to_msg);
  auto& from = static_cast<const HotelBooking&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.HotelBooking)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_confirmation_code(from._internal_confirmation_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_property_name(from._internal_property_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_city(from._internal_city());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_guest_name(from._internal_guest_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.check_in_date_ != nullptr);
      if (_this->_impl_.check_in_date_ == nullptr) {
        _this->_impl_.check_in_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.check_in_date_);
      } else {
        _this->_impl_.check_in_date_->MergeFrom(*from._impl_.check_in_date_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.check_out_date_ != nullptr);
      if (_this->_impl_.check_out_date_ == nullptr) {
        _this->_impl_.check_out_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.check_out_date_);
      } else {
        _this->_impl_.check_out_date_->MergeFrom(*from._impl_.check_out_date_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.grand_total_ = from._impl_.grand_total_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.number_of_guests_ = from._impl_.number_of_guests_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void HotelBooking::InternalSwap(HotelBooking* 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_.confirmation_code_, &other->_impl_.confirmation_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.property_name_, &other->_impl_.property_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.city_, &other->_impl_.city_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.guest_name_, &other->_impl_.guest_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.number_of_guests_)
      + sizeof(HotelBooking::_impl_.number_of_guests_)
      - PROTOBUF_FIELD_OFFSET(HotelBooking, _impl_.check_in_date_)>(
          reinterpret_cast<char*>(&_impl_.check_in_date_),
          reinterpret_cast<char*>(&other->_impl_.check_in_date_));
}

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

CarRental::CarRental(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CarRental_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.CarRental)
}
PROTOBUF_NDEBUG_INLINE CarRental::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::CarRental& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        confirmation_code_(arena, from.confirmation_code_),
        car_model_(arena, from.car_model_),
        guest_name_(arena, from.guest_name_),
        pickup_location_name_(arena, from.pickup_location_name_),
        dropoff_location_name_(arena, from.dropoff_location_name_),
        merchant_(arena, from.merchant_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CarRental* 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_.pickup_date_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.pickup_date_)
                : nullptr;
  _impl_.dropoff_date_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dropoff_date_)
                : nullptr;
  _impl_.grand_total_ = from._impl_.grand_total_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.CarRental)
}
PROTOBUF_NDEBUG_INLINE CarRental::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        confirmation_code_(arena),
        car_model_(arena),
        guest_name_(arena),
        pickup_location_name_(arena),
        dropoff_location_name_(arena),
        merchant_(arena) {}

inline void CarRental::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, pickup_date_),
           0,
           offsetof(Impl_, grand_total_) -
               offsetof(Impl_, pickup_date_) +
               sizeof(Impl_::grand_total_));
}
CarRental::~CarRental() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CarRental)
  SharedDtor(*this);
}
inline void CarRental::SharedDtor(MessageLite& self) {
  CarRental& this_ = static_cast<CarRental&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.confirmation_code_.Destroy();
  this_._impl_.car_model_.Destroy();
  this_._impl_.guest_name_.Destroy();
  this_._impl_.pickup_location_name_.Destroy();
  this_._impl_.dropoff_location_name_.Destroy();
  this_._impl_.merchant_.Destroy();
  delete this_._impl_.pickup_date_;
  delete this_._impl_.dropoff_date_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CarRental_class_data_ =
    CarRental::InternalGenerateClassData_(CarRental_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.confirmation_code_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.car_model_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.guest_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.pickup_location_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.dropoff_location_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.merchant_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.pickup_date_ != nullptr);
      _impl_.pickup_date_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.dropoff_date_ != nullptr);
      _impl_.dropoff_date_->Clear();
    }
  }
  _impl_.grand_total_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // double grand_total = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        2, this_._internal_grand_total(), target);
  }

  // string car_model = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_car_model();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.CarRental.car_model");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string guest_name = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_guest_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.CarRental.guest_name");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string pickup_location_name = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_pickup_location_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.CarRental.pickup_location_name");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string dropoff_location_name = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_dropoff_location_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.CarRental.dropoff_location_name");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // .optimization_guide.proto.Date pickup_date = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.pickup_date_, this_._impl_.pickup_date_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.Date dropoff_date = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.dropoff_date_, this_._impl_.dropoff_date_->GetCachedSize(), target,
        stream);
  }

  // string merchant = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_merchant();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.CarRental.merchant");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CarRental::ByteSizeLong(const MessageLite& base) {
  const CarRental& this_ = static_cast<const CarRental&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CarRental::ByteSizeLong() const {
  const CarRental& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.CarRental)
  ::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>(0x00000100U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // string confirmation_code = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_confirmation_code());
    }
    // string car_model = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_car_model());
    }
    // string guest_name = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_guest_name());
    }
    // string pickup_location_name = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_pickup_location_name());
    }
    // string dropoff_location_name = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dropoff_location_name());
    }
    // string merchant = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_merchant());
    }
    // .optimization_guide.proto.Date pickup_date = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.pickup_date_);
    }
    // .optimization_guide.proto.Date dropoff_date = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.dropoff_date_);
    }
  }
  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 CarRental::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CarRental*>(&to_msg);
  auto& from = static_cast<const CarRental&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.CarRental)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_confirmation_code(from._internal_confirmation_code());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_car_model(from._internal_car_model());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_guest_name(from._internal_guest_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_pickup_location_name(from._internal_pickup_location_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_dropoff_location_name(from._internal_dropoff_location_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_merchant(from._internal_merchant());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.pickup_date_ != nullptr);
      if (_this->_impl_.pickup_date_ == nullptr) {
        _this->_impl_.pickup_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.pickup_date_);
      } else {
        _this->_impl_.pickup_date_->MergeFrom(*from._impl_.pickup_date_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.dropoff_date_ != nullptr);
      if (_this->_impl_.dropoff_date_ == nullptr) {
        _this->_impl_.dropoff_date_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.dropoff_date_);
      } else {
        _this->_impl_.dropoff_date_->MergeFrom(*from._impl_.dropoff_date_);
      }
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.grand_total_ = from._impl_.grand_total_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CarRental::InternalSwap(CarRental* 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_.confirmation_code_, &other->_impl_.confirmation_code_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.car_model_, &other->_impl_.car_model_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.guest_name_, &other->_impl_.guest_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pickup_location_name_, &other->_impl_.pickup_location_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dropoff_location_name_, &other->_impl_.dropoff_location_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.merchant_, &other->_impl_.merchant_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CarRental, _impl_.grand_total_)
      + sizeof(CarRental::_impl_.grand_total_)
      - PROTOBUF_FIELD_OFFSET(CarRental, _impl_.pickup_date_)>(
          reinterpret_cast<char*>(&_impl_.pickup_date_),
          reinterpret_cast<char*>(&other->_impl_.pickup_date_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DynamicAttribute* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (value_case()) {
    case VALUE_NOT_SET:
      break;
      case kStringValue:
        new (&_impl_.value_.string_value_) decltype(_impl_.value_.string_value_){arena, from._impl_.value_.string_value_};
        break;
      case kNumberValue:
        _impl_.value_.number_value_ = from._impl_.value_.number_value_;
        break;
  }

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

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

void DynamicAttribute::clear_value() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.DynamicAttribute)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (value_case()) {
    case kStringValue: {
      _impl_.value_.string_value_.Destroy();
      break;
    }
    case kNumberValue: {
      // No need to clear
      break;
    }
    case VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DynamicAttribute_class_data_ =
    DynamicAttribute::InternalGenerateClassData_(DynamicAttribute_globals_._default);

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

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

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

  switch (this_.value_case()) {
    case kStringValue: {
      const ::std::string& _s = this_._internal_string_value();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.DynamicAttribute.string_value");
      target = stream->WriteStringMaybeAliased(2, _s, target);
      break;
    }
    case kNumberValue: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteDoubleToArray(
          3, this_._internal_number_value(), target);
      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:optimization_guide.proto.DynamicAttribute)
  return target;
}

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

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

   {
    // string key = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_key());
    }
  }
  switch (this_.value_case()) {
    // string string_value = 2;
    case kStringValue: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_string_value());
      break;
    }
    // double number_value = 3;
    case kNumberValue: {
      total_size += 9;
      break;
    }
    case VALUE_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 DynamicAttribute::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DynamicAttribute*>(&to_msg);
  auto& from = static_cast<const DynamicAttribute&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.DynamicAttribute)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_set_key(from._internal_key());
  }
  _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_value();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kStringValue: {
        if (oneof_needs_init) {
          _this->_impl_.value_.string_value_.InitDefault();
        }
        _this->_impl_.value_.string_value_.Set(from._internal_string_value(), arena);
        break;
      }
      case kNumberValue: {
        _this->_impl_.value_.number_value_ = from._impl_.value_.number_value_;
        break;
      }
      case VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DynamicAttribute::InternalSwap(DynamicAttribute* 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_.key_, &other->_impl_.key_, arena);
  swap(_impl_.value_, other->_impl_.value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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