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

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

constexpr WallpaperSearchImageQuality::ParseTableT_ WallpaperSearchImageQuality::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _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::WallpaperSearchImageQuality>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 preview_latency_ms = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.preview_latency_ms_)}},
      // int64 image_id = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.image_id_)}},
      // bool previewed = 2 [features = {
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.previewed_)}},
      // bool selected = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.selected_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 image_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.image_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // bool previewed = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.previewed_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool selected = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.selected_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 preview_latency_ms = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchImageQuality, _impl_.preview_latency_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr WallpaperSearchImageQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        image_id_{::int64_t{0}},
        previewed_{false},
        selected_{false},
        preview_latency_ms_{0} {}

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

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

constexpr Image::ParseTableT_ Image::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Image, _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::Image>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int64 image_id = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Image, _impl_.image_id_)}},
      // bytes encoded_image = 1 [features = {
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Image, _impl_.encoded_image_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bytes encoded_image = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Image, _impl_.encoded_image_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // int64 image_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Image, _impl_.image_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr Descriptors::ParseTableT_ Descriptors::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Descriptors, _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::Descriptors>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string color = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.color_)}},
      // string subject = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.subject_)}},
      // string style = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.style_)}},
      // string mood = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.mood_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string subject = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.subject_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string style = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.style_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string mood = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.mood_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string color = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Descriptors, _impl_.color_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\44\7\5\4\5\0\0\0"
      "optimization_guide.proto.Descriptors"
      "subject"
      "style"
      "mood"
      "color"
    }},
  };
}


inline constexpr Descriptors::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        subject_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        style_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mood_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        color_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

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

constexpr WallpaperSearchResponse::ParseTableT_ WallpaperSearchResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WallpaperSearchResponse, _impl_._has_bits_),
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967293,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.Image images = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchResponse, _impl_.images_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.Image images = 2;
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchResponse, _impl_.images_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Image_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr WallpaperSearchRequest::ParseTableT_ WallpaperSearchRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WallpaperSearchRequest, _impl_._has_bits_),
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967293,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.Descriptors descriptors = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchRequest, _impl_.descriptors_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Descriptors descriptors = 2;
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchRequest, _impl_.descriptors_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Descriptors>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Descriptors_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr WallpaperSearchQuality::ParseTableT_ WallpaperSearchQuality::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _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::WallpaperSearchQuality>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int64 session_id = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.session_id_)}},
      // repeated .optimization_guide.proto.WallpaperSearchImageQuality images_quality = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.images_quality_)}},
      // int32 index = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.index_)}},
      // .optimization_guide.proto.UserFeedback user_feedback = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.user_feedback_)}},
      // bool final_request_in_session = 5 [features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.final_request_in_session_)}},
      // int32 request_latency_ms = 6 [features = {
      {::_pbi::TcParser::FastV32S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.request_latency_ms_)}},
      // int32 complete_latency_ms = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.complete_latency_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 session_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.session_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated .optimization_guide.proto.WallpaperSearchImageQuality images_quality = 2;
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.images_quality_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 index = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.index_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.UserFeedback user_feedback = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.user_feedback_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // bool final_request_in_session = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.final_request_in_session_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // int32 request_latency_ms = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.request_latency_ms_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 complete_latency_ms = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.complete_latency_ms_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchImageQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WallpaperSearchImageQuality_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr WallpaperSearchQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        images_quality_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::WallpaperSearchQuality,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::WallpaperSearchQuality, _impl_.images_quality_)>()
         }
        ,
        session_id_{::int64_t{0}},
        index_{0},
        user_feedback_{static_cast< ::optimization_guide::proto::UserFeedback >(0)},
        final_request_in_session_{false},
        request_latency_ms_{0},
        complete_latency_ms_{0} {}

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

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

constexpr WallpaperSearchLoggingData::ParseTableT_ WallpaperSearchLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _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
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.model_execution_info_)}},
      // .optimization_guide.proto.WallpaperSearchRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.WallpaperSearchResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.WallpaperSearchQuality quality = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.quality_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.WallpaperSearchRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WallpaperSearchResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WallpaperSearchQuality quality = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.quality_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(WallpaperSearchLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WallpaperSearchRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WallpaperSearchResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WallpaperSearchQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WallpaperSearchLoggingDataGlobalsTypeInternal WallpaperSearchLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WallpaperSearchLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WallpaperSearchLoggingData_globals_.GetClassData();
#else
  return WallpaperSearchLoggingData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
// ===================================================================

void WallpaperSearchLoggingData::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], 0x00000008U);
}
WallpaperSearchLoggingData::WallpaperSearchLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchLoggingData_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.WallpaperSearchLoggingData)
}
PROTOBUF_NDEBUG_INLINE WallpaperSearchLoggingData::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::WallpaperSearchLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

inline void WallpaperSearchLoggingData::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_));
}
WallpaperSearchLoggingData::~WallpaperSearchLoggingData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.WallpaperSearchLoggingData)
  SharedDtor(*this);
}
inline void WallpaperSearchLoggingData::SharedDtor(MessageLite& self) {
  WallpaperSearchLoggingData& this_ = static_cast<WallpaperSearchLoggingData&>(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_.quality_;
  delete this_._impl_.model_execution_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WallpaperSearchLoggingData_class_data_ =
    WallpaperSearchLoggingData::InternalGenerateClassData_(WallpaperSearchLoggingData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WallpaperSearchLoggingData::GetClassData() const {
  return WallpaperSearchLoggingData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WallpaperSearchLoggingData::GetClassData() const {
  return WallpaperSearchLoggingData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WallpaperSearchLoggingData::ParseTableT_
    WallpaperSearchLoggingData::_table_ =
        WallpaperSearchLoggingData::InternalGenerateParseTable_(WallpaperSearchLoggingData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WallpaperSearchLoggingData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.WallpaperSearchLoggingData)
  ::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)) {
      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_.quality_ != nullptr);
      _impl_.quality_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      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 WallpaperSearchLoggingData::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const WallpaperSearchLoggingData& this_ = static_cast<const WallpaperSearchLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL WallpaperSearchLoggingData::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const WallpaperSearchLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:optimization_guide.proto.WallpaperSearchLoggingData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.WallpaperSearchRequest 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.WallpaperSearchResponse 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.WallpaperSearchQuality quality = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.quality_, this_._impl_.quality_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // .optimization_guide.proto.WallpaperSearchRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.WallpaperSearchResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
    // .optimization_guide.proto.WallpaperSearchQuality quality = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.quality_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      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 WallpaperSearchLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WallpaperSearchLoggingData*>(&to_msg);
  auto& from = static_cast<const WallpaperSearchLoggingData&>(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.WallpaperSearchLoggingData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.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_.quality_ != nullptr);
      if (_this->_impl_.quality_ == nullptr) {
        _this->_impl_.quality_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_);
      } else {
        _this->_impl_.quality_->MergeFrom(*from._impl_.quality_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      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 WallpaperSearchLoggingData::CopyFrom(const WallpaperSearchLoggingData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.WallpaperSearchLoggingData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

WallpaperSearchRequest::WallpaperSearchRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchRequest_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.WallpaperSearchRequest)
}
PROTOBUF_NDEBUG_INLINE WallpaperSearchRequest::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::WallpaperSearchRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WallpaperSearchRequest_class_data_ =
    WallpaperSearchRequest::InternalGenerateClassData_(WallpaperSearchRequest_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.Descriptors descriptors = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.descriptors_, this_._impl_.descriptors_->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.WallpaperSearchRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WallpaperSearchRequest::ByteSizeLong(const MessageLite& base) {
  const WallpaperSearchRequest& this_ = static_cast<const WallpaperSearchRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WallpaperSearchRequest::ByteSizeLong() const {
  const WallpaperSearchRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.WallpaperSearchRequest)
  ::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.Descriptors descriptors = 2;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.descriptors_);
    }
  }
  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 WallpaperSearchRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WallpaperSearchRequest*>(&to_msg);
  auto& from = static_cast<const WallpaperSearchRequest&>(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.WallpaperSearchRequest)
  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_.descriptors_ != nullptr);
    if (_this->_impl_.descriptors_ == nullptr) {
      _this->_impl_.descriptors_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.descriptors_);
    } else {
      _this->_impl_.descriptors_->MergeFrom(*from._impl_.descriptors_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

Descriptors::Descriptors(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Descriptors_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.Descriptors)
}
PROTOBUF_NDEBUG_INLINE Descriptors::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::Descriptors& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        subject_(arena, from.subject_),
        style_(arena, from.style_),
        mood_(arena, from.mood_),
        color_(arena, from.color_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Descriptors* 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.Descriptors)
}
PROTOBUF_NDEBUG_INLINE Descriptors::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        subject_(arena),
        style_(arena),
        mood_(arena),
        color_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Descriptors_class_data_ =
    Descriptors::InternalGenerateClassData_(Descriptors_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Descriptors::GetClassData() const {
  return Descriptors_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Descriptors::GetClassData() const {
  return Descriptors_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Descriptors::ParseTableT_
    Descriptors::_table_ =
        Descriptors::InternalGenerateParseTable_(Descriptors_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Descriptors::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Descriptors)
  ::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_.subject_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.style_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.mood_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.color_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

  // string color = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (!this_._internal_color().empty()) {
      const ::std::string& _s = this_._internal_color();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Descriptors.color");
      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.Descriptors)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Descriptors::ByteSizeLong(const MessageLite& base) {
  const Descriptors& this_ = static_cast<const Descriptors&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Descriptors::ByteSizeLong() const {
  const Descriptors& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Descriptors)
  ::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 subject = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_subject().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_subject());
      }
    }
    // string style = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_style().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_style());
      }
    }
    // string mood = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!this_._internal_mood().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_mood());
      }
    }
    // string color = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!this_._internal_color().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_color());
      }
    }
  }
  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 Descriptors::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Descriptors*>(&to_msg);
  auto& from = static_cast<const Descriptors&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Descriptors)
  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)) {
      if (!from._internal_subject().empty()) {
        _this->_internal_set_subject(from._internal_subject());
      } else {
        if (_this->_impl_.subject_.IsDefault()) {
          _this->_internal_set_subject("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_style().empty()) {
        _this->_internal_set_style(from._internal_style());
      } else {
        if (_this->_impl_.style_.IsDefault()) {
          _this->_internal_set_style("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!from._internal_mood().empty()) {
        _this->_internal_set_mood(from._internal_mood());
      } else {
        if (_this->_impl_.mood_.IsDefault()) {
          _this->_internal_set_mood("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!from._internal_color().empty()) {
        _this->_internal_set_color(from._internal_color());
      } else {
        if (_this->_impl_.color_.IsDefault()) {
          _this->_internal_set_color("");
        }
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Descriptors::InternalSwap(Descriptors* 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_.subject_, &other->_impl_.subject_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.style_, &other->_impl_.style_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mood_, &other->_impl_.mood_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.color_, &other->_impl_.color_, arena);
}

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

WallpaperSearchResponse::WallpaperSearchResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchResponse_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.WallpaperSearchResponse)
}
PROTOBUF_NDEBUG_INLINE WallpaperSearchResponse::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::WallpaperSearchResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        images_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::WallpaperSearchResponse,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::WallpaperSearchResponse, _impl_.images_)>()
          , from.images_
        }
     {}

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .optimization_guide.proto.Image images = 2;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_images_size();
      for (const auto& msg : this_._internal_images()) {
        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 WallpaperSearchResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WallpaperSearchResponse*>(&to_msg);
  auto& from = static_cast<const WallpaperSearchResponse&>(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.WallpaperSearchResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_images()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_images());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

Image::Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Image_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.Image)
}
PROTOBUF_NDEBUG_INLINE Image::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::Image& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        encoded_image_(arena, from.encoded_image_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Image_class_data_ =
    Image::InternalGenerateClassData_(Image_globals_._default);

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

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

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

  // int64 image_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_image_id() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
              stream, this_._internal_image_id(), target);
    }
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // bytes encoded_image = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_encoded_image().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_encoded_image());
      }
    }
    // int64 image_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_image_id() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_image_id());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Image::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Image*>(&to_msg);
  auto& from = static_cast<const Image&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Image)
  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)) {
      if (!from._internal_encoded_image().empty()) {
        _this->_internal_set_encoded_image(from._internal_encoded_image());
      } else {
        if (_this->_impl_.encoded_image_.IsDefault()) {
          _this->_internal_set_encoded_image("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_image_id() != 0) {
        _this->_impl_.image_id_ = from._impl_.image_id_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

WallpaperSearchQuality::WallpaperSearchQuality(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchQuality_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.WallpaperSearchQuality)
}
PROTOBUF_NDEBUG_INLINE WallpaperSearchQuality::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::WallpaperSearchQuality& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        images_quality_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::WallpaperSearchQuality,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::WallpaperSearchQuality, _impl_.images_quality_)>()
          , from.images_quality_
        }
     {}

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

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

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

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

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WallpaperSearchQuality::GetClassData() const {
  return WallpaperSearchQuality_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
WallpaperSearchQuality::GetClassData() const {
  return WallpaperSearchQuality_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const WallpaperSearchQuality::ParseTableT_
    WallpaperSearchQuality::_table_ =
        WallpaperSearchQuality::InternalGenerateParseTable_(WallpaperSearchQuality_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void WallpaperSearchQuality::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.WallpaperSearchQuality)
  ::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_.images_quality_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000007eU)) {
    ::memset(&_impl_.session_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.complete_latency_ms_) -
        reinterpret_cast<char*>(&_impl_.session_id_)) + sizeof(_impl_.complete_latency_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 session_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_session_id() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
              stream, this_._internal_session_id(), target);
    }
  }

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

  // int32 index = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (this_._internal_index() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
              stream, this_._internal_index(), target);
    }
  }

  // .optimization_guide.proto.UserFeedback user_feedback = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (this_._internal_user_feedback() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          4, this_._internal_user_feedback(), target);
    }
  }

  // bool final_request_in_session = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    if (this_._internal_final_request_in_session() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          5, this_._internal_final_request_in_session(), target);
    }
  }

  // int32 request_latency_ms = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    if (this_._internal_request_latency_ms() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
              stream, this_._internal_request_latency_ms(), target);
    }
  }

  // int32 complete_latency_ms = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    if (this_._internal_complete_latency_ms() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
              stream, this_._internal_complete_latency_ms(), 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.WallpaperSearchQuality)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // repeated .optimization_guide.proto.WallpaperSearchImageQuality images_quality = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_images_quality_size();
      for (const auto& msg : this_._internal_images_quality()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // int64 session_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_session_id() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_session_id());
      }
    }
    // int32 index = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (this_._internal_index() != 0) {
        total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
            this_._internal_index());
      }
    }
    // .optimization_guide.proto.UserFeedback user_feedback = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (this_._internal_user_feedback() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_user_feedback());
      }
    }
    // bool final_request_in_session = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (this_._internal_final_request_in_session() != 0) {
        total_size += 2;
      }
    }
    // int32 request_latency_ms = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (this_._internal_request_latency_ms() != 0) {
        total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
            this_._internal_request_latency_ms());
      }
    }
    // int32 complete_latency_ms = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (this_._internal_complete_latency_ms() != 0) {
        total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
            this_._internal_complete_latency_ms());
      }
    }
  }
  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 WallpaperSearchQuality::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WallpaperSearchQuality*>(&to_msg);
  auto& from = static_cast<const WallpaperSearchQuality&>(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.WallpaperSearchQuality)
  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_mutable_images_quality()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_images_quality());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_session_id() != 0) {
        _this->_impl_.session_id_ = from._impl_.session_id_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (from._internal_index() != 0) {
        _this->_impl_.index_ = from._impl_.index_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (from._internal_user_feedback() != 0) {
        _this->_impl_.user_feedback_ = from._impl_.user_feedback_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (from._internal_final_request_in_session() != 0) {
        _this->_impl_.final_request_in_session_ = from._impl_.final_request_in_session_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (from._internal_request_latency_ms() != 0) {
        _this->_impl_.request_latency_ms_ = from._impl_.request_latency_ms_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (from._internal_complete_latency_ms() != 0) {
        _this->_impl_.complete_latency_ms_ = from._impl_.complete_latency_ms_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void WallpaperSearchQuality::InternalSwap(WallpaperSearchQuality* 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_.images_quality_.InternalSwap(&other->_impl_.images_quality_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.complete_latency_ms_)
      + sizeof(WallpaperSearchQuality::_impl_.complete_latency_ms_)
      - PROTOBUF_FIELD_OFFSET(WallpaperSearchQuality, _impl_.session_id_)>(
          reinterpret_cast<char*>(&_impl_.session_id_),
          reinterpret_cast<char*>(&other->_impl_.session_id_));
}

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

WallpaperSearchImageQuality::WallpaperSearchImageQuality(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchImageQuality_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.WallpaperSearchImageQuality)
}
WallpaperSearchImageQuality::WallpaperSearchImageQuality(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const WallpaperSearchImageQuality& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WallpaperSearchImageQuality_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 WallpaperSearchImageQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

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

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

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

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

  // bool previewed = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_previewed() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          2, this_._internal_previewed(), target);
    }
  }

  // bool selected = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (this_._internal_selected() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          3, this_._internal_selected(), target);
    }
  }

  // int32 preview_latency_ms = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_preview_latency_ms(), 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.WallpaperSearchImageQuality)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t WallpaperSearchImageQuality::ByteSizeLong(const MessageLite& base) {
  const WallpaperSearchImageQuality& this_ = static_cast<const WallpaperSearchImageQuality&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t WallpaperSearchImageQuality::ByteSizeLong() const {
  const WallpaperSearchImageQuality& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.WallpaperSearchImageQuality)
  ::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)) {
    // int64 image_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (this_._internal_image_id() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_image_id());
      }
    }
    // bool previewed = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_previewed() != 0) {
        total_size += 2;
      }
    }
    // bool selected = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (this_._internal_selected() != 0) {
        total_size += 2;
      }
    }
    // int32 preview_latency_ms = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_preview_latency_ms());
    }
  }
  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 WallpaperSearchImageQuality::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WallpaperSearchImageQuality*>(&to_msg);
  auto& from = static_cast<const WallpaperSearchImageQuality&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.WallpaperSearchImageQuality)
  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)) {
      if (from._internal_image_id() != 0) {
        _this->_impl_.image_id_ = from._impl_.image_id_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_previewed() != 0) {
        _this->_impl_.previewed_ = from._impl_.previewed_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (from._internal_selected() != 0) {
        _this->_impl_.selected_ = from._impl_.selected_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.preview_latency_ms_ = from._impl_.preview_latency_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

// @@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"
