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

#include "components/optimization_guide/proto/model_quality_service.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 LogAiDataResponse::_Internal {
 public:
};

constexpr LogAiDataResponse::ParseTableT_ LogAiDataResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LogAiDataResponse,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // 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::LogAiDataResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

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

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

constexpr LogAiDataRequest::ParseTableT_ LogAiDataRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_._has_bits_),
      0, // no _extensions_
      1000, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      8537640,  // skipmap
      offsetof(ParseTableT_, field_entries),
      41,  // num_field_entries
      41,  // 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::LogAiDataRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.model_execution_info_)}},
      // .optimization_guide.proto.LoggingMetadata logging_metadata = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.logging_metadata_)}},
    }}, {{
      33, 0, 1,
      32768, 25,
      1000, 0, 1,
      65534, 40,
      65535, 65535
    }}, {{
      // .optimization_guide.proto.LoggingMetadata logging_metadata = 1;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.logging_metadata_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 2;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ComposeLoggingData compose = 3;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.compose_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WallpaperSearchLoggingData wallpaper_search = 5;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.wallpaper_search_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.HistoryQueryLoggingData history_query = 7;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.history_query_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.HistoryAnswerLoggingData history_answer = 8;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.history_answer_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ProductSpecificationsLoggingData product_specifications = 9;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.product_specifications_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelPrototypingLoggingData model_prototyping = 12;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.model_prototyping_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.HistoryQueryIntentLoggingData history_query_intent = 13;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.history_query_intent_), _Internal::kOneofCaseOffset + 0, 8, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BlingPrototypingLoggingData bling_prototyping = 14;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.bling_prototyping_), _Internal::kOneofCaseOffset + 0, 9, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeSubmissionLoggingData password_change_submission = 16;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.password_change_submission_), _Internal::kOneofCaseOffset + 0, 10, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ScamDetectionLoggingData scam_detection = 17;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.scam_detection_), _Internal::kOneofCaseOffset + 0, 11, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FormsClassificationsLoggingData forms_classifications = 19;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.forms_classifications_), _Internal::kOneofCaseOffset + 0, 12, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.NotificationContentDetectionLoggingData notification_content_detection = 20;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.notification_content_detection_), _Internal::kOneofCaseOffset + 0, 13, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.EnhancedCalendarLoggingData enhanced_calendar = 21;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.enhanced_calendar_), _Internal::kOneofCaseOffset + 0, 14, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ZeroStateSuggestionsLoggingData zero_state_suggestions = 22;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.zero_state_suggestions_), _Internal::kOneofCaseOffset + 0, 15, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WritingAssistanceApiLoggingData writing_assistance_api = 23;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.writing_assistance_api_), _Internal::kOneofCaseOffset + 0, 16, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ProofreaderApiLoggingData proofreader_api = 25;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.proofreader_api_), _Internal::kOneofCaseOffset + 0, 17, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PromptApiLoggingData prompt_api = 26;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.prompt_api_), _Internal::kOneofCaseOffset + 0, 18, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SummarizeLoggingData summarize = 27;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.summarize_), _Internal::kOneofCaseOffset + 0, 19, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WalletablePassExtractionLoggingData walletable_pass_extraction = 28;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.walletable_pass_extraction_), _Internal::kOneofCaseOffset + 0, 20, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AmountExtractionLoggingData amount_extraction = 29;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.amount_extraction_), _Internal::kOneofCaseOffset + 0, 21, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.IosSmartTabGroupingLoggingData ios_smart_tab_grouping = 30;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.ios_smart_tab_grouping_), _Internal::kOneofCaseOffset + 0, 22, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ActorLoginLoggingData actor_login = 31;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.actor_login_), _Internal::kOneofCaseOffset + 0, 23, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContextualTasksContextLoggingData contextual_tasks_context = 32;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.contextual_tasks_context_), _Internal::kOneofCaseOffset + 0, 24, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SkillsLoggingData skills = 33;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.skills_), _Internal::kOneofCaseOffset + 0, 25, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.GeminiAntiscamProtectionLoggingData gemini_antiscam_protection = 34;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.gemini_antiscam_protection_), _Internal::kOneofCaseOffset + 0, 26, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ClassifyApiLoggingData classify_api = 35;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.classify_api_), _Internal::kOneofCaseOffset + 0, 27, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FindsLoggingData finds = 36;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.finds_), _Internal::kOneofCaseOffset + 0, 28, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContentAnnotationLoggingData content_annotation = 37;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.content_annotation_), _Internal::kOneofCaseOffset + 0, 29, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnnotationReducerOnePResolverLoggingData annotation_reducer_one_p_resolver = 38;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.annotation_reducer_one_p_resolver_), _Internal::kOneofCaseOffset + 0, 30, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnnotationReducerQueryClassifierLoggingData annotation_reducer_query_classifier = 39;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.annotation_reducer_query_classifier_), _Internal::kOneofCaseOffset + 0, 31, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContextualCueingLoggingData contextual_cueing = 40;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.contextual_cueing_), _Internal::kOneofCaseOffset + 0, 32, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnnotationReducerLiveTabResolverLoggingData annotation_reducer_live_tab_resolver = 41;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.annotation_reducer_live_tab_resolver_), _Internal::kOneofCaseOffset + 0, 33, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.UpdaterChatLoggingData updater_chat = 42;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.updater_chat_), _Internal::kOneofCaseOffset + 0, 34, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AtmemQueryAnalyzerLoggingData atmem_query_analyzer = 43;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.atmem_query_analyzer_), _Internal::kOneofCaseOffset + 0, 35, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AtMemoryLoggingData at_memory = 44;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.at_memory_), _Internal::kOneofCaseOffset + 0, 36, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ReadAloudGenerateTextLoggingData read_aloud_generate_text = 45;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.read_aloud_generate_text_), _Internal::kOneofCaseOffset + 0, 37, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ReadAloudSynthesizeLoggingData read_aloud_synthesize = 46;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.read_aloud_synthesize_), _Internal::kOneofCaseOffset + 0, 38, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContextHubLoggingData context_hub = 47;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.context_hub_), _Internal::kOneofCaseOffset + 0, 39, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DefaultLoggingData default = 1000;
      {PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.feature_.default__), _Internal::kOneofCaseOffset + 0, 40, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::LoggingMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::LoggingMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WallpaperSearchLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WallpaperSearchLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HistoryQueryLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HistoryQueryLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HistoryAnswerLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HistoryAnswerLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ProductSpecificationsLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ProductSpecificationsLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelPrototypingLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelPrototypingLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::HistoryQueryIntentLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::HistoryQueryIntentLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BlingPrototypingLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BlingPrototypingLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeSubmissionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeSubmissionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScamDetectionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScamDetectionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FormsClassificationsLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FormsClassificationsLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::NotificationContentDetectionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::NotificationContentDetectionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::EnhancedCalendarLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::EnhancedCalendarLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ZeroStateSuggestionsLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ZeroStateSuggestionsLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WritingAssistanceApiLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ProofreaderApiLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ProofreaderApiLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PromptApiLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PromptApiLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SummarizeLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SummarizeLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WalletablePassExtractionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WalletablePassExtractionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AmountExtractionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AmountExtractionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::IosSmartTabGroupingLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::IosSmartTabGroupingLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ActorLoginLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ActorLoginLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextualTasksContextLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextualTasksContextLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SkillsLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SkillsLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::GeminiAntiscamProtectionLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::GeminiAntiscamProtectionLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ClassifyApiLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ClassifyApiLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FindsLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FindsLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAnnotationLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentAnnotationLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotationReducerOnePResolverLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnnotationReducerOnePResolverLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotationReducerQueryClassifierLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnnotationReducerQueryClassifierLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextualCueingLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextualCueingLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotationReducerLiveTabResolverLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnnotationReducerLiveTabResolverLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::UpdaterChatLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::UpdaterChatLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AtmemQueryAnalyzerLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AtmemQueryAnalyzerLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AtMemoryLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AtMemoryLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudGenerateTextLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudGenerateTextLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ReadAloudSynthesizeLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ReadAloudSynthesizeLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextHubLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextHubLoggingData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DefaultLoggingData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DefaultLoggingData_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr LogAiDataRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        logging_metadata_{nullptr},
        model_execution_info_{nullptr},
        feature_{},
        _oneof_case_{} {}

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

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

void LogAiDataRequest::clear_logging_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.logging_metadata_ != nullptr) _impl_.logging_metadata_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
void LogAiDataRequest::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], 0x00000002U);
}
void LogAiDataRequest::set_allocated_compose(::optimization_guide::proto::ComposeLoggingData* PROTOBUF_NULLABLE compose) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (compose) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(compose)->GetArena();
    if (message_arena != submessage_arena) {
      compose = ::google::protobuf::internal::GetOwnedMessage(message_arena, compose, submessage_arena);
    }
    set_has_compose();
    _impl_.feature_.compose_ = compose;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.compose)
}
void LogAiDataRequest::clear_compose() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kCompose) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.compose_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.compose_ != nullptr) {
        _impl_.feature_.compose_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_wallpaper_search(::optimization_guide::proto::WallpaperSearchLoggingData* PROTOBUF_NULLABLE wallpaper_search) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (wallpaper_search) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(wallpaper_search)->GetArena();
    if (message_arena != submessage_arena) {
      wallpaper_search = ::google::protobuf::internal::GetOwnedMessage(message_arena, wallpaper_search, submessage_arena);
    }
    set_has_wallpaper_search();
    _impl_.feature_.wallpaper_search_ = wallpaper_search;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.wallpaper_search)
}
void LogAiDataRequest::clear_wallpaper_search() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kWallpaperSearch) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.wallpaper_search_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.wallpaper_search_ != nullptr) {
        _impl_.feature_.wallpaper_search_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_history_query(::optimization_guide::proto::HistoryQueryLoggingData* PROTOBUF_NULLABLE history_query) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (history_query) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(history_query)->GetArena();
    if (message_arena != submessage_arena) {
      history_query = ::google::protobuf::internal::GetOwnedMessage(message_arena, history_query, submessage_arena);
    }
    set_has_history_query();
    _impl_.feature_.history_query_ = history_query;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.history_query)
}
void LogAiDataRequest::clear_history_query() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kHistoryQuery) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.history_query_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.history_query_ != nullptr) {
        _impl_.feature_.history_query_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_history_answer(::optimization_guide::proto::HistoryAnswerLoggingData* PROTOBUF_NULLABLE history_answer) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (history_answer) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(history_answer)->GetArena();
    if (message_arena != submessage_arena) {
      history_answer = ::google::protobuf::internal::GetOwnedMessage(message_arena, history_answer, submessage_arena);
    }
    set_has_history_answer();
    _impl_.feature_.history_answer_ = history_answer;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.history_answer)
}
void LogAiDataRequest::clear_history_answer() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kHistoryAnswer) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.history_answer_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.history_answer_ != nullptr) {
        _impl_.feature_.history_answer_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_history_query_intent(::optimization_guide::proto::HistoryQueryIntentLoggingData* PROTOBUF_NULLABLE history_query_intent) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (history_query_intent) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(history_query_intent)->GetArena();
    if (message_arena != submessage_arena) {
      history_query_intent = ::google::protobuf::internal::GetOwnedMessage(message_arena, history_query_intent, submessage_arena);
    }
    set_has_history_query_intent();
    _impl_.feature_.history_query_intent_ = history_query_intent;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.history_query_intent)
}
void LogAiDataRequest::clear_history_query_intent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kHistoryQueryIntent) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.history_query_intent_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.history_query_intent_ != nullptr) {
        _impl_.feature_.history_query_intent_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_product_specifications(::optimization_guide::proto::ProductSpecificationsLoggingData* PROTOBUF_NULLABLE product_specifications) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (product_specifications) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(product_specifications)->GetArena();
    if (message_arena != submessage_arena) {
      product_specifications = ::google::protobuf::internal::GetOwnedMessage(message_arena, product_specifications, submessage_arena);
    }
    set_has_product_specifications();
    _impl_.feature_.product_specifications_ = product_specifications;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.product_specifications)
}
void LogAiDataRequest::clear_product_specifications() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kProductSpecifications) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.product_specifications_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.product_specifications_ != nullptr) {
        _impl_.feature_.product_specifications_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_model_prototyping(::optimization_guide::proto::ModelPrototypingLoggingData* PROTOBUF_NULLABLE model_prototyping) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (model_prototyping) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(model_prototyping)->GetArena();
    if (message_arena != submessage_arena) {
      model_prototyping = ::google::protobuf::internal::GetOwnedMessage(message_arena, model_prototyping, submessage_arena);
    }
    set_has_model_prototyping();
    _impl_.feature_.model_prototyping_ = model_prototyping;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.model_prototyping)
}
void LogAiDataRequest::clear_model_prototyping() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kModelPrototyping) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.model_prototyping_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.model_prototyping_ != nullptr) {
        _impl_.feature_.model_prototyping_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_bling_prototyping(::optimization_guide::proto::BlingPrototypingLoggingData* PROTOBUF_NULLABLE bling_prototyping) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (bling_prototyping) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(bling_prototyping)->GetArena();
    if (message_arena != submessage_arena) {
      bling_prototyping = ::google::protobuf::internal::GetOwnedMessage(message_arena, bling_prototyping, submessage_arena);
    }
    set_has_bling_prototyping();
    _impl_.feature_.bling_prototyping_ = bling_prototyping;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.bling_prototyping)
}
void LogAiDataRequest::clear_bling_prototyping() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kBlingPrototyping) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.bling_prototyping_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.bling_prototyping_ != nullptr) {
        _impl_.feature_.bling_prototyping_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_password_change_submission(::optimization_guide::proto::PasswordChangeSubmissionLoggingData* PROTOBUF_NULLABLE password_change_submission) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (password_change_submission) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(password_change_submission)->GetArena();
    if (message_arena != submessage_arena) {
      password_change_submission = ::google::protobuf::internal::GetOwnedMessage(message_arena, password_change_submission, submessage_arena);
    }
    set_has_password_change_submission();
    _impl_.feature_.password_change_submission_ = password_change_submission;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.password_change_submission)
}
void LogAiDataRequest::clear_password_change_submission() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kPasswordChangeSubmission) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.password_change_submission_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.password_change_submission_ != nullptr) {
        _impl_.feature_.password_change_submission_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_scam_detection(::optimization_guide::proto::ScamDetectionLoggingData* PROTOBUF_NULLABLE scam_detection) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (scam_detection) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(scam_detection)->GetArena();
    if (message_arena != submessage_arena) {
      scam_detection = ::google::protobuf::internal::GetOwnedMessage(message_arena, scam_detection, submessage_arena);
    }
    set_has_scam_detection();
    _impl_.feature_.scam_detection_ = scam_detection;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.scam_detection)
}
void LogAiDataRequest::clear_scam_detection() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kScamDetection) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.scam_detection_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.scam_detection_ != nullptr) {
        _impl_.feature_.scam_detection_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_forms_classifications(::optimization_guide::proto::FormsClassificationsLoggingData* PROTOBUF_NULLABLE forms_classifications) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (forms_classifications) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(forms_classifications)->GetArena();
    if (message_arena != submessage_arena) {
      forms_classifications = ::google::protobuf::internal::GetOwnedMessage(message_arena, forms_classifications, submessage_arena);
    }
    set_has_forms_classifications();
    _impl_.feature_.forms_classifications_ = forms_classifications;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.forms_classifications)
}
void LogAiDataRequest::clear_forms_classifications() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kFormsClassifications) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.forms_classifications_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.forms_classifications_ != nullptr) {
        _impl_.feature_.forms_classifications_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_notification_content_detection(::optimization_guide::proto::NotificationContentDetectionLoggingData* PROTOBUF_NULLABLE notification_content_detection) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (notification_content_detection) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(notification_content_detection)->GetArena();
    if (message_arena != submessage_arena) {
      notification_content_detection = ::google::protobuf::internal::GetOwnedMessage(message_arena, notification_content_detection, submessage_arena);
    }
    set_has_notification_content_detection();
    _impl_.feature_.notification_content_detection_ = notification_content_detection;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.notification_content_detection)
}
void LogAiDataRequest::clear_notification_content_detection() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kNotificationContentDetection) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.notification_content_detection_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.notification_content_detection_ != nullptr) {
        _impl_.feature_.notification_content_detection_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_enhanced_calendar(::optimization_guide::proto::EnhancedCalendarLoggingData* PROTOBUF_NULLABLE enhanced_calendar) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (enhanced_calendar) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(enhanced_calendar)->GetArena();
    if (message_arena != submessage_arena) {
      enhanced_calendar = ::google::protobuf::internal::GetOwnedMessage(message_arena, enhanced_calendar, submessage_arena);
    }
    set_has_enhanced_calendar();
    _impl_.feature_.enhanced_calendar_ = enhanced_calendar;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.enhanced_calendar)
}
void LogAiDataRequest::clear_enhanced_calendar() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kEnhancedCalendar) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.enhanced_calendar_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.enhanced_calendar_ != nullptr) {
        _impl_.feature_.enhanced_calendar_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_zero_state_suggestions(::optimization_guide::proto::ZeroStateSuggestionsLoggingData* PROTOBUF_NULLABLE zero_state_suggestions) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (zero_state_suggestions) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(zero_state_suggestions)->GetArena();
    if (message_arena != submessage_arena) {
      zero_state_suggestions = ::google::protobuf::internal::GetOwnedMessage(message_arena, zero_state_suggestions, submessage_arena);
    }
    set_has_zero_state_suggestions();
    _impl_.feature_.zero_state_suggestions_ = zero_state_suggestions;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.zero_state_suggestions)
}
void LogAiDataRequest::clear_zero_state_suggestions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kZeroStateSuggestions) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.zero_state_suggestions_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.zero_state_suggestions_ != nullptr) {
        _impl_.feature_.zero_state_suggestions_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_writing_assistance_api(::optimization_guide::proto::WritingAssistanceApiLoggingData* PROTOBUF_NULLABLE writing_assistance_api) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (writing_assistance_api) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(writing_assistance_api)->GetArena();
    if (message_arena != submessage_arena) {
      writing_assistance_api = ::google::protobuf::internal::GetOwnedMessage(message_arena, writing_assistance_api, submessage_arena);
    }
    set_has_writing_assistance_api();
    _impl_.feature_.writing_assistance_api_ = writing_assistance_api;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.writing_assistance_api)
}
void LogAiDataRequest::clear_writing_assistance_api() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kWritingAssistanceApi) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.writing_assistance_api_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.writing_assistance_api_ != nullptr) {
        _impl_.feature_.writing_assistance_api_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_proofreader_api(::optimization_guide::proto::ProofreaderApiLoggingData* PROTOBUF_NULLABLE proofreader_api) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (proofreader_api) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(proofreader_api)->GetArena();
    if (message_arena != submessage_arena) {
      proofreader_api = ::google::protobuf::internal::GetOwnedMessage(message_arena, proofreader_api, submessage_arena);
    }
    set_has_proofreader_api();
    _impl_.feature_.proofreader_api_ = proofreader_api;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.proofreader_api)
}
void LogAiDataRequest::clear_proofreader_api() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kProofreaderApi) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.proofreader_api_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.proofreader_api_ != nullptr) {
        _impl_.feature_.proofreader_api_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_prompt_api(::optimization_guide::proto::PromptApiLoggingData* PROTOBUF_NULLABLE prompt_api) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (prompt_api) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(prompt_api)->GetArena();
    if (message_arena != submessage_arena) {
      prompt_api = ::google::protobuf::internal::GetOwnedMessage(message_arena, prompt_api, submessage_arena);
    }
    set_has_prompt_api();
    _impl_.feature_.prompt_api_ = prompt_api;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.prompt_api)
}
void LogAiDataRequest::clear_prompt_api() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kPromptApi) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.prompt_api_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.prompt_api_ != nullptr) {
        _impl_.feature_.prompt_api_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_summarize(::optimization_guide::proto::SummarizeLoggingData* PROTOBUF_NULLABLE summarize) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (summarize) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(summarize)->GetArena();
    if (message_arena != submessage_arena) {
      summarize = ::google::protobuf::internal::GetOwnedMessage(message_arena, summarize, submessage_arena);
    }
    set_has_summarize();
    _impl_.feature_.summarize_ = summarize;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.summarize)
}
void LogAiDataRequest::clear_summarize() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kSummarize) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.summarize_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.summarize_ != nullptr) {
        _impl_.feature_.summarize_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_walletable_pass_extraction(::optimization_guide::proto::WalletablePassExtractionLoggingData* PROTOBUF_NULLABLE walletable_pass_extraction) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (walletable_pass_extraction) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(walletable_pass_extraction)->GetArena();
    if (message_arena != submessage_arena) {
      walletable_pass_extraction = ::google::protobuf::internal::GetOwnedMessage(message_arena, walletable_pass_extraction, submessage_arena);
    }
    set_has_walletable_pass_extraction();
    _impl_.feature_.walletable_pass_extraction_ = walletable_pass_extraction;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.walletable_pass_extraction)
}
void LogAiDataRequest::clear_walletable_pass_extraction() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kWalletablePassExtraction) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.walletable_pass_extraction_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.walletable_pass_extraction_ != nullptr) {
        _impl_.feature_.walletable_pass_extraction_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_amount_extraction(::optimization_guide::proto::AmountExtractionLoggingData* PROTOBUF_NULLABLE amount_extraction) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (amount_extraction) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(amount_extraction)->GetArena();
    if (message_arena != submessage_arena) {
      amount_extraction = ::google::protobuf::internal::GetOwnedMessage(message_arena, amount_extraction, submessage_arena);
    }
    set_has_amount_extraction();
    _impl_.feature_.amount_extraction_ = amount_extraction;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.amount_extraction)
}
void LogAiDataRequest::clear_amount_extraction() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAmountExtraction) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.amount_extraction_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.amount_extraction_ != nullptr) {
        _impl_.feature_.amount_extraction_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_ios_smart_tab_grouping(::optimization_guide::proto::IosSmartTabGroupingLoggingData* PROTOBUF_NULLABLE ios_smart_tab_grouping) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (ios_smart_tab_grouping) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(ios_smart_tab_grouping)->GetArena();
    if (message_arena != submessage_arena) {
      ios_smart_tab_grouping = ::google::protobuf::internal::GetOwnedMessage(message_arena, ios_smart_tab_grouping, submessage_arena);
    }
    set_has_ios_smart_tab_grouping();
    _impl_.feature_.ios_smart_tab_grouping_ = ios_smart_tab_grouping;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.ios_smart_tab_grouping)
}
void LogAiDataRequest::clear_ios_smart_tab_grouping() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kIosSmartTabGrouping) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.ios_smart_tab_grouping_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.ios_smart_tab_grouping_ != nullptr) {
        _impl_.feature_.ios_smart_tab_grouping_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_actor_login(::optimization_guide::proto::ActorLoginLoggingData* PROTOBUF_NULLABLE actor_login) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (actor_login) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(actor_login)->GetArena();
    if (message_arena != submessage_arena) {
      actor_login = ::google::protobuf::internal::GetOwnedMessage(message_arena, actor_login, submessage_arena);
    }
    set_has_actor_login();
    _impl_.feature_.actor_login_ = actor_login;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.actor_login)
}
void LogAiDataRequest::clear_actor_login() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kActorLogin) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.actor_login_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.actor_login_ != nullptr) {
        _impl_.feature_.actor_login_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_contextual_tasks_context(::optimization_guide::proto::ContextualTasksContextLoggingData* PROTOBUF_NULLABLE contextual_tasks_context) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (contextual_tasks_context) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(contextual_tasks_context)->GetArena();
    if (message_arena != submessage_arena) {
      contextual_tasks_context = ::google::protobuf::internal::GetOwnedMessage(message_arena, contextual_tasks_context, submessage_arena);
    }
    set_has_contextual_tasks_context();
    _impl_.feature_.contextual_tasks_context_ = contextual_tasks_context;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.contextual_tasks_context)
}
void LogAiDataRequest::clear_contextual_tasks_context() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kContextualTasksContext) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.contextual_tasks_context_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.contextual_tasks_context_ != nullptr) {
        _impl_.feature_.contextual_tasks_context_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_skills(::optimization_guide::proto::SkillsLoggingData* PROTOBUF_NULLABLE skills) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (skills) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(skills)->GetArena();
    if (message_arena != submessage_arena) {
      skills = ::google::protobuf::internal::GetOwnedMessage(message_arena, skills, submessage_arena);
    }
    set_has_skills();
    _impl_.feature_.skills_ = skills;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.skills)
}
void LogAiDataRequest::clear_skills() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kSkills) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.skills_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.skills_ != nullptr) {
        _impl_.feature_.skills_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_gemini_antiscam_protection(::optimization_guide::proto::GeminiAntiscamProtectionLoggingData* PROTOBUF_NULLABLE gemini_antiscam_protection) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (gemini_antiscam_protection) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(gemini_antiscam_protection)->GetArena();
    if (message_arena != submessage_arena) {
      gemini_antiscam_protection = ::google::protobuf::internal::GetOwnedMessage(message_arena, gemini_antiscam_protection, submessage_arena);
    }
    set_has_gemini_antiscam_protection();
    _impl_.feature_.gemini_antiscam_protection_ = gemini_antiscam_protection;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.gemini_antiscam_protection)
}
void LogAiDataRequest::clear_gemini_antiscam_protection() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kGeminiAntiscamProtection) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.gemini_antiscam_protection_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.gemini_antiscam_protection_ != nullptr) {
        _impl_.feature_.gemini_antiscam_protection_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_classify_api(::optimization_guide::proto::ClassifyApiLoggingData* PROTOBUF_NULLABLE classify_api) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (classify_api) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(classify_api)->GetArena();
    if (message_arena != submessage_arena) {
      classify_api = ::google::protobuf::internal::GetOwnedMessage(message_arena, classify_api, submessage_arena);
    }
    set_has_classify_api();
    _impl_.feature_.classify_api_ = classify_api;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.classify_api)
}
void LogAiDataRequest::clear_classify_api() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kClassifyApi) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.classify_api_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.classify_api_ != nullptr) {
        _impl_.feature_.classify_api_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_finds(::optimization_guide::proto::FindsLoggingData* PROTOBUF_NULLABLE finds) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (finds) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(finds)->GetArena();
    if (message_arena != submessage_arena) {
      finds = ::google::protobuf::internal::GetOwnedMessage(message_arena, finds, submessage_arena);
    }
    set_has_finds();
    _impl_.feature_.finds_ = finds;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.finds)
}
void LogAiDataRequest::clear_finds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kFinds) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.finds_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.finds_ != nullptr) {
        _impl_.feature_.finds_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_content_annotation(::optimization_guide::proto::ContentAnnotationLoggingData* PROTOBUF_NULLABLE content_annotation) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (content_annotation) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(content_annotation)->GetArena();
    if (message_arena != submessage_arena) {
      content_annotation = ::google::protobuf::internal::GetOwnedMessage(message_arena, content_annotation, submessage_arena);
    }
    set_has_content_annotation();
    _impl_.feature_.content_annotation_ = content_annotation;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.content_annotation)
}
void LogAiDataRequest::clear_content_annotation() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kContentAnnotation) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.content_annotation_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.content_annotation_ != nullptr) {
        _impl_.feature_.content_annotation_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_annotation_reducer_one_p_resolver(::optimization_guide::proto::AnnotationReducerOnePResolverLoggingData* PROTOBUF_NULLABLE annotation_reducer_one_p_resolver) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (annotation_reducer_one_p_resolver) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(annotation_reducer_one_p_resolver)->GetArena();
    if (message_arena != submessage_arena) {
      annotation_reducer_one_p_resolver = ::google::protobuf::internal::GetOwnedMessage(message_arena, annotation_reducer_one_p_resolver, submessage_arena);
    }
    set_has_annotation_reducer_one_p_resolver();
    _impl_.feature_.annotation_reducer_one_p_resolver_ = annotation_reducer_one_p_resolver;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.annotation_reducer_one_p_resolver)
}
void LogAiDataRequest::clear_annotation_reducer_one_p_resolver() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAnnotationReducerOnePResolver) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.annotation_reducer_one_p_resolver_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.annotation_reducer_one_p_resolver_ != nullptr) {
        _impl_.feature_.annotation_reducer_one_p_resolver_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_annotation_reducer_query_classifier(::optimization_guide::proto::AnnotationReducerQueryClassifierLoggingData* PROTOBUF_NULLABLE annotation_reducer_query_classifier) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (annotation_reducer_query_classifier) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(annotation_reducer_query_classifier)->GetArena();
    if (message_arena != submessage_arena) {
      annotation_reducer_query_classifier = ::google::protobuf::internal::GetOwnedMessage(message_arena, annotation_reducer_query_classifier, submessage_arena);
    }
    set_has_annotation_reducer_query_classifier();
    _impl_.feature_.annotation_reducer_query_classifier_ = annotation_reducer_query_classifier;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.annotation_reducer_query_classifier)
}
void LogAiDataRequest::clear_annotation_reducer_query_classifier() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAnnotationReducerQueryClassifier) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.annotation_reducer_query_classifier_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.annotation_reducer_query_classifier_ != nullptr) {
        _impl_.feature_.annotation_reducer_query_classifier_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_contextual_cueing(::optimization_guide::proto::ContextualCueingLoggingData* PROTOBUF_NULLABLE contextual_cueing) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (contextual_cueing) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(contextual_cueing)->GetArena();
    if (message_arena != submessage_arena) {
      contextual_cueing = ::google::protobuf::internal::GetOwnedMessage(message_arena, contextual_cueing, submessage_arena);
    }
    set_has_contextual_cueing();
    _impl_.feature_.contextual_cueing_ = contextual_cueing;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.contextual_cueing)
}
void LogAiDataRequest::clear_contextual_cueing() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kContextualCueing) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.contextual_cueing_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.contextual_cueing_ != nullptr) {
        _impl_.feature_.contextual_cueing_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_annotation_reducer_live_tab_resolver(::optimization_guide::proto::AnnotationReducerLiveTabResolverLoggingData* PROTOBUF_NULLABLE annotation_reducer_live_tab_resolver) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (annotation_reducer_live_tab_resolver) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(annotation_reducer_live_tab_resolver)->GetArena();
    if (message_arena != submessage_arena) {
      annotation_reducer_live_tab_resolver = ::google::protobuf::internal::GetOwnedMessage(message_arena, annotation_reducer_live_tab_resolver, submessage_arena);
    }
    set_has_annotation_reducer_live_tab_resolver();
    _impl_.feature_.annotation_reducer_live_tab_resolver_ = annotation_reducer_live_tab_resolver;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.annotation_reducer_live_tab_resolver)
}
void LogAiDataRequest::clear_annotation_reducer_live_tab_resolver() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAnnotationReducerLiveTabResolver) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.annotation_reducer_live_tab_resolver_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.annotation_reducer_live_tab_resolver_ != nullptr) {
        _impl_.feature_.annotation_reducer_live_tab_resolver_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_updater_chat(::optimization_guide::proto::UpdaterChatLoggingData* PROTOBUF_NULLABLE updater_chat) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (updater_chat) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(updater_chat)->GetArena();
    if (message_arena != submessage_arena) {
      updater_chat = ::google::protobuf::internal::GetOwnedMessage(message_arena, updater_chat, submessage_arena);
    }
    set_has_updater_chat();
    _impl_.feature_.updater_chat_ = updater_chat;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.updater_chat)
}
void LogAiDataRequest::clear_updater_chat() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kUpdaterChat) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.updater_chat_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.updater_chat_ != nullptr) {
        _impl_.feature_.updater_chat_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_atmem_query_analyzer(::optimization_guide::proto::AtmemQueryAnalyzerLoggingData* PROTOBUF_NULLABLE atmem_query_analyzer) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (atmem_query_analyzer) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(atmem_query_analyzer)->GetArena();
    if (message_arena != submessage_arena) {
      atmem_query_analyzer = ::google::protobuf::internal::GetOwnedMessage(message_arena, atmem_query_analyzer, submessage_arena);
    }
    set_has_atmem_query_analyzer();
    _impl_.feature_.atmem_query_analyzer_ = atmem_query_analyzer;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.atmem_query_analyzer)
}
void LogAiDataRequest::clear_atmem_query_analyzer() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAtmemQueryAnalyzer) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.atmem_query_analyzer_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.atmem_query_analyzer_ != nullptr) {
        _impl_.feature_.atmem_query_analyzer_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_at_memory(::optimization_guide::proto::AtMemoryLoggingData* PROTOBUF_NULLABLE at_memory) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (at_memory) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(at_memory)->GetArena();
    if (message_arena != submessage_arena) {
      at_memory = ::google::protobuf::internal::GetOwnedMessage(message_arena, at_memory, submessage_arena);
    }
    set_has_at_memory();
    _impl_.feature_.at_memory_ = at_memory;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.at_memory)
}
void LogAiDataRequest::clear_at_memory() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kAtMemory) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.at_memory_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.at_memory_ != nullptr) {
        _impl_.feature_.at_memory_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_read_aloud_generate_text(::optimization_guide::proto::ReadAloudGenerateTextLoggingData* PROTOBUF_NULLABLE read_aloud_generate_text) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (read_aloud_generate_text) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(read_aloud_generate_text)->GetArena();
    if (message_arena != submessage_arena) {
      read_aloud_generate_text = ::google::protobuf::internal::GetOwnedMessage(message_arena, read_aloud_generate_text, submessage_arena);
    }
    set_has_read_aloud_generate_text();
    _impl_.feature_.read_aloud_generate_text_ = read_aloud_generate_text;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.read_aloud_generate_text)
}
void LogAiDataRequest::clear_read_aloud_generate_text() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kReadAloudGenerateText) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.read_aloud_generate_text_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.read_aloud_generate_text_ != nullptr) {
        _impl_.feature_.read_aloud_generate_text_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_read_aloud_synthesize(::optimization_guide::proto::ReadAloudSynthesizeLoggingData* PROTOBUF_NULLABLE read_aloud_synthesize) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (read_aloud_synthesize) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(read_aloud_synthesize)->GetArena();
    if (message_arena != submessage_arena) {
      read_aloud_synthesize = ::google::protobuf::internal::GetOwnedMessage(message_arena, read_aloud_synthesize, submessage_arena);
    }
    set_has_read_aloud_synthesize();
    _impl_.feature_.read_aloud_synthesize_ = read_aloud_synthesize;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.read_aloud_synthesize)
}
void LogAiDataRequest::clear_read_aloud_synthesize() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kReadAloudSynthesize) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.read_aloud_synthesize_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.read_aloud_synthesize_ != nullptr) {
        _impl_.feature_.read_aloud_synthesize_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_context_hub(::optimization_guide::proto::ContextHubLoggingData* PROTOBUF_NULLABLE context_hub) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (context_hub) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(context_hub)->GetArena();
    if (message_arena != submessage_arena) {
      context_hub = ::google::protobuf::internal::GetOwnedMessage(message_arena, context_hub, submessage_arena);
    }
    set_has_context_hub();
    _impl_.feature_.context_hub_ = context_hub;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.context_hub)
}
void LogAiDataRequest::clear_context_hub() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kContextHub) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.context_hub_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.context_hub_ != nullptr) {
        _impl_.feature_.context_hub_->Clear();
      }
    }
    clear_has_feature();
  }
}
void LogAiDataRequest::set_allocated_default_(::optimization_guide::proto::DefaultLoggingData* PROTOBUF_NULLABLE default_) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_feature();
  if (default_) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(default_)->GetArena();
    if (message_arena != submessage_arena) {
      default_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, default_, submessage_arena);
    }
    set_has_default_();
    _impl_.feature_.default__ = default_;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.LogAiDataRequest.default)
}
void LogAiDataRequest::clear_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (feature_case() == kDefault) {
    if (GetArena() == nullptr) {
      delete _impl_.feature_.default__;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      if (_impl_.feature_.default__ != nullptr) {
        _impl_.feature_.default__->Clear();
      }
    }
    clear_has_feature();
  }
}
LogAiDataRequest::LogAiDataRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LogAiDataRequest_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.LogAiDataRequest)
}
PROTOBUF_NDEBUG_INLINE LogAiDataRequest::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::LogAiDataRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        feature_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  LogAiDataRequest* 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_.logging_metadata_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.logging_metadata_)
                : nullptr;
  _impl_.model_execution_info_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_)
                : nullptr;
  switch (feature_case()) {
    case FEATURE_NOT_SET:
      break;
      case kCompose:
        _impl_.feature_.compose_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.compose_);
        break;
      case kWallpaperSearch:
        _impl_.feature_.wallpaper_search_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.wallpaper_search_);
        break;
      case kHistoryQuery:
        _impl_.feature_.history_query_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_query_);
        break;
      case kHistoryAnswer:
        _impl_.feature_.history_answer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_answer_);
        break;
      case kHistoryQueryIntent:
        _impl_.feature_.history_query_intent_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_query_intent_);
        break;
      case kProductSpecifications:
        _impl_.feature_.product_specifications_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.product_specifications_);
        break;
      case kModelPrototyping:
        _impl_.feature_.model_prototyping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.model_prototyping_);
        break;
      case kBlingPrototyping:
        _impl_.feature_.bling_prototyping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.bling_prototyping_);
        break;
      case kPasswordChangeSubmission:
        _impl_.feature_.password_change_submission_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.password_change_submission_);
        break;
      case kScamDetection:
        _impl_.feature_.scam_detection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.scam_detection_);
        break;
      case kFormsClassifications:
        _impl_.feature_.forms_classifications_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.forms_classifications_);
        break;
      case kNotificationContentDetection:
        _impl_.feature_.notification_content_detection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.notification_content_detection_);
        break;
      case kEnhancedCalendar:
        _impl_.feature_.enhanced_calendar_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.enhanced_calendar_);
        break;
      case kZeroStateSuggestions:
        _impl_.feature_.zero_state_suggestions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.zero_state_suggestions_);
        break;
      case kWritingAssistanceApi:
        _impl_.feature_.writing_assistance_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.writing_assistance_api_);
        break;
      case kProofreaderApi:
        _impl_.feature_.proofreader_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.proofreader_api_);
        break;
      case kPromptApi:
        _impl_.feature_.prompt_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.prompt_api_);
        break;
      case kSummarize:
        _impl_.feature_.summarize_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.summarize_);
        break;
      case kWalletablePassExtraction:
        _impl_.feature_.walletable_pass_extraction_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.walletable_pass_extraction_);
        break;
      case kAmountExtraction:
        _impl_.feature_.amount_extraction_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.amount_extraction_);
        break;
      case kIosSmartTabGrouping:
        _impl_.feature_.ios_smart_tab_grouping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.ios_smart_tab_grouping_);
        break;
      case kActorLogin:
        _impl_.feature_.actor_login_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.actor_login_);
        break;
      case kContextualTasksContext:
        _impl_.feature_.contextual_tasks_context_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.contextual_tasks_context_);
        break;
      case kSkills:
        _impl_.feature_.skills_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.skills_);
        break;
      case kGeminiAntiscamProtection:
        _impl_.feature_.gemini_antiscam_protection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.gemini_antiscam_protection_);
        break;
      case kClassifyApi:
        _impl_.feature_.classify_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.classify_api_);
        break;
      case kFinds:
        _impl_.feature_.finds_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.finds_);
        break;
      case kContentAnnotation:
        _impl_.feature_.content_annotation_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.content_annotation_);
        break;
      case kAnnotationReducerOnePResolver:
        _impl_.feature_.annotation_reducer_one_p_resolver_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_one_p_resolver_);
        break;
      case kAnnotationReducerQueryClassifier:
        _impl_.feature_.annotation_reducer_query_classifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_query_classifier_);
        break;
      case kContextualCueing:
        _impl_.feature_.contextual_cueing_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.contextual_cueing_);
        break;
      case kAnnotationReducerLiveTabResolver:
        _impl_.feature_.annotation_reducer_live_tab_resolver_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_live_tab_resolver_);
        break;
      case kUpdaterChat:
        _impl_.feature_.updater_chat_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.updater_chat_);
        break;
      case kAtmemQueryAnalyzer:
        _impl_.feature_.atmem_query_analyzer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.atmem_query_analyzer_);
        break;
      case kAtMemory:
        _impl_.feature_.at_memory_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.at_memory_);
        break;
      case kReadAloudGenerateText:
        _impl_.feature_.read_aloud_generate_text_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.read_aloud_generate_text_);
        break;
      case kReadAloudSynthesize:
        _impl_.feature_.read_aloud_synthesize_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.read_aloud_synthesize_);
        break;
      case kContextHub:
        _impl_.feature_.context_hub_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.context_hub_);
        break;
      case kDefault:
        _impl_.feature_.default__ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.default__);
        break;
  }

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

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

void LogAiDataRequest::clear_feature() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.LogAiDataRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (feature_case()) {
    case kCompose: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.compose_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.compose_ != nullptr) {
          _impl_.feature_.compose_->Clear();
        }
      }
      break;
    }
    case kWallpaperSearch: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.wallpaper_search_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.wallpaper_search_ != nullptr) {
          _impl_.feature_.wallpaper_search_->Clear();
        }
      }
      break;
    }
    case kHistoryQuery: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.history_query_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.history_query_ != nullptr) {
          _impl_.feature_.history_query_->Clear();
        }
      }
      break;
    }
    case kHistoryAnswer: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.history_answer_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.history_answer_ != nullptr) {
          _impl_.feature_.history_answer_->Clear();
        }
      }
      break;
    }
    case kHistoryQueryIntent: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.history_query_intent_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.history_query_intent_ != nullptr) {
          _impl_.feature_.history_query_intent_->Clear();
        }
      }
      break;
    }
    case kProductSpecifications: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.product_specifications_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.product_specifications_ != nullptr) {
          _impl_.feature_.product_specifications_->Clear();
        }
      }
      break;
    }
    case kModelPrototyping: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.model_prototyping_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.model_prototyping_ != nullptr) {
          _impl_.feature_.model_prototyping_->Clear();
        }
      }
      break;
    }
    case kBlingPrototyping: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.bling_prototyping_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.bling_prototyping_ != nullptr) {
          _impl_.feature_.bling_prototyping_->Clear();
        }
      }
      break;
    }
    case kPasswordChangeSubmission: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.password_change_submission_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.password_change_submission_ != nullptr) {
          _impl_.feature_.password_change_submission_->Clear();
        }
      }
      break;
    }
    case kScamDetection: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.scam_detection_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.scam_detection_ != nullptr) {
          _impl_.feature_.scam_detection_->Clear();
        }
      }
      break;
    }
    case kFormsClassifications: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.forms_classifications_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.forms_classifications_ != nullptr) {
          _impl_.feature_.forms_classifications_->Clear();
        }
      }
      break;
    }
    case kNotificationContentDetection: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.notification_content_detection_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.notification_content_detection_ != nullptr) {
          _impl_.feature_.notification_content_detection_->Clear();
        }
      }
      break;
    }
    case kEnhancedCalendar: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.enhanced_calendar_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.enhanced_calendar_ != nullptr) {
          _impl_.feature_.enhanced_calendar_->Clear();
        }
      }
      break;
    }
    case kZeroStateSuggestions: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.zero_state_suggestions_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.zero_state_suggestions_ != nullptr) {
          _impl_.feature_.zero_state_suggestions_->Clear();
        }
      }
      break;
    }
    case kWritingAssistanceApi: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.writing_assistance_api_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.writing_assistance_api_ != nullptr) {
          _impl_.feature_.writing_assistance_api_->Clear();
        }
      }
      break;
    }
    case kProofreaderApi: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.proofreader_api_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.proofreader_api_ != nullptr) {
          _impl_.feature_.proofreader_api_->Clear();
        }
      }
      break;
    }
    case kPromptApi: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.prompt_api_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.prompt_api_ != nullptr) {
          _impl_.feature_.prompt_api_->Clear();
        }
      }
      break;
    }
    case kSummarize: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.summarize_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.summarize_ != nullptr) {
          _impl_.feature_.summarize_->Clear();
        }
      }
      break;
    }
    case kWalletablePassExtraction: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.walletable_pass_extraction_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.walletable_pass_extraction_ != nullptr) {
          _impl_.feature_.walletable_pass_extraction_->Clear();
        }
      }
      break;
    }
    case kAmountExtraction: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.amount_extraction_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.amount_extraction_ != nullptr) {
          _impl_.feature_.amount_extraction_->Clear();
        }
      }
      break;
    }
    case kIosSmartTabGrouping: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.ios_smart_tab_grouping_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.ios_smart_tab_grouping_ != nullptr) {
          _impl_.feature_.ios_smart_tab_grouping_->Clear();
        }
      }
      break;
    }
    case kActorLogin: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.actor_login_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.actor_login_ != nullptr) {
          _impl_.feature_.actor_login_->Clear();
        }
      }
      break;
    }
    case kContextualTasksContext: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.contextual_tasks_context_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.contextual_tasks_context_ != nullptr) {
          _impl_.feature_.contextual_tasks_context_->Clear();
        }
      }
      break;
    }
    case kSkills: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.skills_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.skills_ != nullptr) {
          _impl_.feature_.skills_->Clear();
        }
      }
      break;
    }
    case kGeminiAntiscamProtection: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.gemini_antiscam_protection_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.gemini_antiscam_protection_ != nullptr) {
          _impl_.feature_.gemini_antiscam_protection_->Clear();
        }
      }
      break;
    }
    case kClassifyApi: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.classify_api_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.classify_api_ != nullptr) {
          _impl_.feature_.classify_api_->Clear();
        }
      }
      break;
    }
    case kFinds: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.finds_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.finds_ != nullptr) {
          _impl_.feature_.finds_->Clear();
        }
      }
      break;
    }
    case kContentAnnotation: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.content_annotation_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.content_annotation_ != nullptr) {
          _impl_.feature_.content_annotation_->Clear();
        }
      }
      break;
    }
    case kAnnotationReducerOnePResolver: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.annotation_reducer_one_p_resolver_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.annotation_reducer_one_p_resolver_ != nullptr) {
          _impl_.feature_.annotation_reducer_one_p_resolver_->Clear();
        }
      }
      break;
    }
    case kAnnotationReducerQueryClassifier: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.annotation_reducer_query_classifier_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.annotation_reducer_query_classifier_ != nullptr) {
          _impl_.feature_.annotation_reducer_query_classifier_->Clear();
        }
      }
      break;
    }
    case kContextualCueing: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.contextual_cueing_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.contextual_cueing_ != nullptr) {
          _impl_.feature_.contextual_cueing_->Clear();
        }
      }
      break;
    }
    case kAnnotationReducerLiveTabResolver: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.annotation_reducer_live_tab_resolver_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.annotation_reducer_live_tab_resolver_ != nullptr) {
          _impl_.feature_.annotation_reducer_live_tab_resolver_->Clear();
        }
      }
      break;
    }
    case kUpdaterChat: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.updater_chat_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.updater_chat_ != nullptr) {
          _impl_.feature_.updater_chat_->Clear();
        }
      }
      break;
    }
    case kAtmemQueryAnalyzer: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.atmem_query_analyzer_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.atmem_query_analyzer_ != nullptr) {
          _impl_.feature_.atmem_query_analyzer_->Clear();
        }
      }
      break;
    }
    case kAtMemory: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.at_memory_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.at_memory_ != nullptr) {
          _impl_.feature_.at_memory_->Clear();
        }
      }
      break;
    }
    case kReadAloudGenerateText: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.read_aloud_generate_text_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.read_aloud_generate_text_ != nullptr) {
          _impl_.feature_.read_aloud_generate_text_->Clear();
        }
      }
      break;
    }
    case kReadAloudSynthesize: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.read_aloud_synthesize_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.read_aloud_synthesize_ != nullptr) {
          _impl_.feature_.read_aloud_synthesize_->Clear();
        }
      }
      break;
    }
    case kContextHub: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.context_hub_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.context_hub_ != nullptr) {
          _impl_.feature_.context_hub_->Clear();
        }
      }
      break;
    }
    case kDefault: {
      if (GetArena() == nullptr) {
        delete _impl_.feature_.default__;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.feature_.default__ != nullptr) {
          _impl_.feature_.default__->Clear();
        }
      }
      break;
    }
    case FEATURE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = FEATURE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite LogAiDataRequest_class_data_ =
    LogAiDataRequest::InternalGenerateClassData_(LogAiDataRequest_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.logging_metadata_ != nullptr);
      _impl_.logging_metadata_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.model_execution_info_ != nullptr);
      _impl_.model_execution_info_->Clear();
    }
  }
  clear_feature();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.model_execution_info_, this_._impl_.model_execution_info_->GetCachedSize(), target,
        stream);
  }

  switch (this_.feature_case()) {
    case kCompose: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.feature_.compose_, this_._impl_.feature_.compose_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWallpaperSearch: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.feature_.wallpaper_search_, this_._impl_.feature_.wallpaper_search_->GetCachedSize(), target,
          stream);
      break;
    }
    case kHistoryQuery: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.feature_.history_query_, this_._impl_.feature_.history_query_->GetCachedSize(), target,
          stream);
      break;
    }
    case kHistoryAnswer: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.feature_.history_answer_, this_._impl_.feature_.history_answer_->GetCachedSize(), target,
          stream);
      break;
    }
    case kProductSpecifications: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.feature_.product_specifications_, this_._impl_.feature_.product_specifications_->GetCachedSize(), target,
          stream);
      break;
    }
    case kModelPrototyping: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          12, *this_._impl_.feature_.model_prototyping_, this_._impl_.feature_.model_prototyping_->GetCachedSize(), target,
          stream);
      break;
    }
    case kHistoryQueryIntent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          13, *this_._impl_.feature_.history_query_intent_, this_._impl_.feature_.history_query_intent_->GetCachedSize(), target,
          stream);
      break;
    }
    case kBlingPrototyping: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          14, *this_._impl_.feature_.bling_prototyping_, this_._impl_.feature_.bling_prototyping_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPasswordChangeSubmission: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          16, *this_._impl_.feature_.password_change_submission_, this_._impl_.feature_.password_change_submission_->GetCachedSize(), target,
          stream);
      break;
    }
    case kScamDetection: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          17, *this_._impl_.feature_.scam_detection_, this_._impl_.feature_.scam_detection_->GetCachedSize(), target,
          stream);
      break;
    }
    case kFormsClassifications: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          19, *this_._impl_.feature_.forms_classifications_, this_._impl_.feature_.forms_classifications_->GetCachedSize(), target,
          stream);
      break;
    }
    case kNotificationContentDetection: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          20, *this_._impl_.feature_.notification_content_detection_, this_._impl_.feature_.notification_content_detection_->GetCachedSize(), target,
          stream);
      break;
    }
    case kEnhancedCalendar: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          21, *this_._impl_.feature_.enhanced_calendar_, this_._impl_.feature_.enhanced_calendar_->GetCachedSize(), target,
          stream);
      break;
    }
    case kZeroStateSuggestions: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          22, *this_._impl_.feature_.zero_state_suggestions_, this_._impl_.feature_.zero_state_suggestions_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWritingAssistanceApi: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          23, *this_._impl_.feature_.writing_assistance_api_, this_._impl_.feature_.writing_assistance_api_->GetCachedSize(), target,
          stream);
      break;
    }
    case kProofreaderApi: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          25, *this_._impl_.feature_.proofreader_api_, this_._impl_.feature_.proofreader_api_->GetCachedSize(), target,
          stream);
      break;
    }
    case kPromptApi: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          26, *this_._impl_.feature_.prompt_api_, this_._impl_.feature_.prompt_api_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSummarize: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          27, *this_._impl_.feature_.summarize_, this_._impl_.feature_.summarize_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWalletablePassExtraction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          28, *this_._impl_.feature_.walletable_pass_extraction_, this_._impl_.feature_.walletable_pass_extraction_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAmountExtraction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          29, *this_._impl_.feature_.amount_extraction_, this_._impl_.feature_.amount_extraction_->GetCachedSize(), target,
          stream);
      break;
    }
    case kIosSmartTabGrouping: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          30, *this_._impl_.feature_.ios_smart_tab_grouping_, this_._impl_.feature_.ios_smart_tab_grouping_->GetCachedSize(), target,
          stream);
      break;
    }
    case kActorLogin: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          31, *this_._impl_.feature_.actor_login_, this_._impl_.feature_.actor_login_->GetCachedSize(), target,
          stream);
      break;
    }
    case kContextualTasksContext: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          32, *this_._impl_.feature_.contextual_tasks_context_, this_._impl_.feature_.contextual_tasks_context_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSkills: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          33, *this_._impl_.feature_.skills_, this_._impl_.feature_.skills_->GetCachedSize(), target,
          stream);
      break;
    }
    case kGeminiAntiscamProtection: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          34, *this_._impl_.feature_.gemini_antiscam_protection_, this_._impl_.feature_.gemini_antiscam_protection_->GetCachedSize(), target,
          stream);
      break;
    }
    case kClassifyApi: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          35, *this_._impl_.feature_.classify_api_, this_._impl_.feature_.classify_api_->GetCachedSize(), target,
          stream);
      break;
    }
    case kFinds: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          36, *this_._impl_.feature_.finds_, this_._impl_.feature_.finds_->GetCachedSize(), target,
          stream);
      break;
    }
    case kContentAnnotation: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          37, *this_._impl_.feature_.content_annotation_, this_._impl_.feature_.content_annotation_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAnnotationReducerOnePResolver: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          38, *this_._impl_.feature_.annotation_reducer_one_p_resolver_, this_._impl_.feature_.annotation_reducer_one_p_resolver_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAnnotationReducerQueryClassifier: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          39, *this_._impl_.feature_.annotation_reducer_query_classifier_, this_._impl_.feature_.annotation_reducer_query_classifier_->GetCachedSize(), target,
          stream);
      break;
    }
    case kContextualCueing: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          40, *this_._impl_.feature_.contextual_cueing_, this_._impl_.feature_.contextual_cueing_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAnnotationReducerLiveTabResolver: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          41, *this_._impl_.feature_.annotation_reducer_live_tab_resolver_, this_._impl_.feature_.annotation_reducer_live_tab_resolver_->GetCachedSize(), target,
          stream);
      break;
    }
    case kUpdaterChat: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          42, *this_._impl_.feature_.updater_chat_, this_._impl_.feature_.updater_chat_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAtmemQueryAnalyzer: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          43, *this_._impl_.feature_.atmem_query_analyzer_, this_._impl_.feature_.atmem_query_analyzer_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAtMemory: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          44, *this_._impl_.feature_.at_memory_, this_._impl_.feature_.at_memory_->GetCachedSize(), target,
          stream);
      break;
    }
    case kReadAloudGenerateText: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          45, *this_._impl_.feature_.read_aloud_generate_text_, this_._impl_.feature_.read_aloud_generate_text_->GetCachedSize(), target,
          stream);
      break;
    }
    case kReadAloudSynthesize: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          46, *this_._impl_.feature_.read_aloud_synthesize_, this_._impl_.feature_.read_aloud_synthesize_->GetCachedSize(), target,
          stream);
      break;
    }
    case kContextHub: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          47, *this_._impl_.feature_.context_hub_, this_._impl_.feature_.context_hub_->GetCachedSize(), target,
          stream);
      break;
    }
    case kDefault: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1000, *this_._impl_.feature_.default__, this_._impl_.feature_.default__->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.LogAiDataRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t LogAiDataRequest::ByteSizeLong(const MessageLite& base) {
  const LogAiDataRequest& this_ = static_cast<const LogAiDataRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t LogAiDataRequest::ByteSizeLong() const {
  const LogAiDataRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.LogAiDataRequest)
  ::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)) {
    // .optimization_guide.proto.LoggingMetadata logging_metadata = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.logging_metadata_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
  }
  switch (this_.feature_case()) {
    // .optimization_guide.proto.ComposeLoggingData compose = 3;
    case kCompose: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.compose_);
      break;
    }
    // .optimization_guide.proto.WallpaperSearchLoggingData wallpaper_search = 5;
    case kWallpaperSearch: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.wallpaper_search_);
      break;
    }
    // .optimization_guide.proto.HistoryQueryLoggingData history_query = 7;
    case kHistoryQuery: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.history_query_);
      break;
    }
    // .optimization_guide.proto.HistoryAnswerLoggingData history_answer = 8;
    case kHistoryAnswer: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.history_answer_);
      break;
    }
    // .optimization_guide.proto.HistoryQueryIntentLoggingData history_query_intent = 13;
    case kHistoryQueryIntent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.history_query_intent_);
      break;
    }
    // .optimization_guide.proto.ProductSpecificationsLoggingData product_specifications = 9;
    case kProductSpecifications: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.product_specifications_);
      break;
    }
    // .optimization_guide.proto.ModelPrototypingLoggingData model_prototyping = 12;
    case kModelPrototyping: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.model_prototyping_);
      break;
    }
    // .optimization_guide.proto.BlingPrototypingLoggingData bling_prototyping = 14;
    case kBlingPrototyping: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.bling_prototyping_);
      break;
    }
    // .optimization_guide.proto.PasswordChangeSubmissionLoggingData password_change_submission = 16;
    case kPasswordChangeSubmission: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.password_change_submission_);
      break;
    }
    // .optimization_guide.proto.ScamDetectionLoggingData scam_detection = 17;
    case kScamDetection: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.scam_detection_);
      break;
    }
    // .optimization_guide.proto.FormsClassificationsLoggingData forms_classifications = 19;
    case kFormsClassifications: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.forms_classifications_);
      break;
    }
    // .optimization_guide.proto.NotificationContentDetectionLoggingData notification_content_detection = 20;
    case kNotificationContentDetection: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.notification_content_detection_);
      break;
    }
    // .optimization_guide.proto.EnhancedCalendarLoggingData enhanced_calendar = 21;
    case kEnhancedCalendar: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.enhanced_calendar_);
      break;
    }
    // .optimization_guide.proto.ZeroStateSuggestionsLoggingData zero_state_suggestions = 22;
    case kZeroStateSuggestions: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.zero_state_suggestions_);
      break;
    }
    // .optimization_guide.proto.WritingAssistanceApiLoggingData writing_assistance_api = 23;
    case kWritingAssistanceApi: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.writing_assistance_api_);
      break;
    }
    // .optimization_guide.proto.ProofreaderApiLoggingData proofreader_api = 25;
    case kProofreaderApi: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.proofreader_api_);
      break;
    }
    // .optimization_guide.proto.PromptApiLoggingData prompt_api = 26;
    case kPromptApi: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.prompt_api_);
      break;
    }
    // .optimization_guide.proto.SummarizeLoggingData summarize = 27;
    case kSummarize: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.summarize_);
      break;
    }
    // .optimization_guide.proto.WalletablePassExtractionLoggingData walletable_pass_extraction = 28;
    case kWalletablePassExtraction: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.walletable_pass_extraction_);
      break;
    }
    // .optimization_guide.proto.AmountExtractionLoggingData amount_extraction = 29;
    case kAmountExtraction: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.amount_extraction_);
      break;
    }
    // .optimization_guide.proto.IosSmartTabGroupingLoggingData ios_smart_tab_grouping = 30;
    case kIosSmartTabGrouping: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.ios_smart_tab_grouping_);
      break;
    }
    // .optimization_guide.proto.ActorLoginLoggingData actor_login = 31;
    case kActorLogin: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.actor_login_);
      break;
    }
    // .optimization_guide.proto.ContextualTasksContextLoggingData contextual_tasks_context = 32;
    case kContextualTasksContext: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.contextual_tasks_context_);
      break;
    }
    // .optimization_guide.proto.SkillsLoggingData skills = 33;
    case kSkills: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.skills_);
      break;
    }
    // .optimization_guide.proto.GeminiAntiscamProtectionLoggingData gemini_antiscam_protection = 34;
    case kGeminiAntiscamProtection: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.gemini_antiscam_protection_);
      break;
    }
    // .optimization_guide.proto.ClassifyApiLoggingData classify_api = 35;
    case kClassifyApi: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.classify_api_);
      break;
    }
    // .optimization_guide.proto.FindsLoggingData finds = 36;
    case kFinds: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.finds_);
      break;
    }
    // .optimization_guide.proto.ContentAnnotationLoggingData content_annotation = 37;
    case kContentAnnotation: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.content_annotation_);
      break;
    }
    // .optimization_guide.proto.AnnotationReducerOnePResolverLoggingData annotation_reducer_one_p_resolver = 38;
    case kAnnotationReducerOnePResolver: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.annotation_reducer_one_p_resolver_);
      break;
    }
    // .optimization_guide.proto.AnnotationReducerQueryClassifierLoggingData annotation_reducer_query_classifier = 39;
    case kAnnotationReducerQueryClassifier: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.annotation_reducer_query_classifier_);
      break;
    }
    // .optimization_guide.proto.ContextualCueingLoggingData contextual_cueing = 40;
    case kContextualCueing: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.contextual_cueing_);
      break;
    }
    // .optimization_guide.proto.AnnotationReducerLiveTabResolverLoggingData annotation_reducer_live_tab_resolver = 41;
    case kAnnotationReducerLiveTabResolver: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.annotation_reducer_live_tab_resolver_);
      break;
    }
    // .optimization_guide.proto.UpdaterChatLoggingData updater_chat = 42;
    case kUpdaterChat: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.updater_chat_);
      break;
    }
    // .optimization_guide.proto.AtmemQueryAnalyzerLoggingData atmem_query_analyzer = 43;
    case kAtmemQueryAnalyzer: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.atmem_query_analyzer_);
      break;
    }
    // .optimization_guide.proto.AtMemoryLoggingData at_memory = 44;
    case kAtMemory: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.at_memory_);
      break;
    }
    // .optimization_guide.proto.ReadAloudGenerateTextLoggingData read_aloud_generate_text = 45;
    case kReadAloudGenerateText: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.read_aloud_generate_text_);
      break;
    }
    // .optimization_guide.proto.ReadAloudSynthesizeLoggingData read_aloud_synthesize = 46;
    case kReadAloudSynthesize: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.read_aloud_synthesize_);
      break;
    }
    // .optimization_guide.proto.ContextHubLoggingData context_hub = 47;
    case kContextHub: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.context_hub_);
      break;
    }
    // .optimization_guide.proto.DefaultLoggingData default = 1000;
    case kDefault: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_.default__);
      break;
    }
    case FEATURE_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void LogAiDataRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LogAiDataRequest*>(&to_msg);
  auto& from = static_cast<const LogAiDataRequest&>(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.LogAiDataRequest)
  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)) {
      ABSL_DCHECK(from._impl_.logging_metadata_ != nullptr);
      if (_this->_impl_.logging_metadata_ == nullptr) {
        _this->_impl_.logging_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.logging_metadata_);
      } else {
        _this->_impl_.logging_metadata_->MergeFrom(*from._impl_.logging_metadata_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      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;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_feature();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kCompose: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.compose_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.compose_);
        } else {
          _this->_impl_.feature_.compose_->CheckTypeAndMergeFrom(*from._impl_.feature_.compose_);
        }
        break;
      }
      case kWallpaperSearch: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.wallpaper_search_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.wallpaper_search_);
        } else {
          _this->_impl_.feature_.wallpaper_search_->CheckTypeAndMergeFrom(*from._impl_.feature_.wallpaper_search_);
        }
        break;
      }
      case kHistoryQuery: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.history_query_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_query_);
        } else {
          _this->_impl_.feature_.history_query_->CheckTypeAndMergeFrom(*from._impl_.feature_.history_query_);
        }
        break;
      }
      case kHistoryAnswer: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.history_answer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_answer_);
        } else {
          _this->_impl_.feature_.history_answer_->CheckTypeAndMergeFrom(*from._impl_.feature_.history_answer_);
        }
        break;
      }
      case kHistoryQueryIntent: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.history_query_intent_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.history_query_intent_);
        } else {
          _this->_impl_.feature_.history_query_intent_->CheckTypeAndMergeFrom(*from._impl_.feature_.history_query_intent_);
        }
        break;
      }
      case kProductSpecifications: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.product_specifications_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.product_specifications_);
        } else {
          _this->_impl_.feature_.product_specifications_->CheckTypeAndMergeFrom(*from._impl_.feature_.product_specifications_);
        }
        break;
      }
      case kModelPrototyping: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.model_prototyping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.model_prototyping_);
        } else {
          _this->_impl_.feature_.model_prototyping_->CheckTypeAndMergeFrom(*from._impl_.feature_.model_prototyping_);
        }
        break;
      }
      case kBlingPrototyping: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.bling_prototyping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.bling_prototyping_);
        } else {
          _this->_impl_.feature_.bling_prototyping_->CheckTypeAndMergeFrom(*from._impl_.feature_.bling_prototyping_);
        }
        break;
      }
      case kPasswordChangeSubmission: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.password_change_submission_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.password_change_submission_);
        } else {
          _this->_impl_.feature_.password_change_submission_->CheckTypeAndMergeFrom(*from._impl_.feature_.password_change_submission_);
        }
        break;
      }
      case kScamDetection: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.scam_detection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.scam_detection_);
        } else {
          _this->_impl_.feature_.scam_detection_->CheckTypeAndMergeFrom(*from._impl_.feature_.scam_detection_);
        }
        break;
      }
      case kFormsClassifications: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.forms_classifications_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.forms_classifications_);
        } else {
          _this->_impl_.feature_.forms_classifications_->CheckTypeAndMergeFrom(*from._impl_.feature_.forms_classifications_);
        }
        break;
      }
      case kNotificationContentDetection: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.notification_content_detection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.notification_content_detection_);
        } else {
          _this->_impl_.feature_.notification_content_detection_->CheckTypeAndMergeFrom(*from._impl_.feature_.notification_content_detection_);
        }
        break;
      }
      case kEnhancedCalendar: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.enhanced_calendar_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.enhanced_calendar_);
        } else {
          _this->_impl_.feature_.enhanced_calendar_->CheckTypeAndMergeFrom(*from._impl_.feature_.enhanced_calendar_);
        }
        break;
      }
      case kZeroStateSuggestions: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.zero_state_suggestions_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.zero_state_suggestions_);
        } else {
          _this->_impl_.feature_.zero_state_suggestions_->CheckTypeAndMergeFrom(*from._impl_.feature_.zero_state_suggestions_);
        }
        break;
      }
      case kWritingAssistanceApi: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.writing_assistance_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.writing_assistance_api_);
        } else {
          _this->_impl_.feature_.writing_assistance_api_->CheckTypeAndMergeFrom(*from._impl_.feature_.writing_assistance_api_);
        }
        break;
      }
      case kProofreaderApi: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.proofreader_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.proofreader_api_);
        } else {
          _this->_impl_.feature_.proofreader_api_->CheckTypeAndMergeFrom(*from._impl_.feature_.proofreader_api_);
        }
        break;
      }
      case kPromptApi: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.prompt_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.prompt_api_);
        } else {
          _this->_impl_.feature_.prompt_api_->CheckTypeAndMergeFrom(*from._impl_.feature_.prompt_api_);
        }
        break;
      }
      case kSummarize: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.summarize_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.summarize_);
        } else {
          _this->_impl_.feature_.summarize_->CheckTypeAndMergeFrom(*from._impl_.feature_.summarize_);
        }
        break;
      }
      case kWalletablePassExtraction: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.walletable_pass_extraction_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.walletable_pass_extraction_);
        } else {
          _this->_impl_.feature_.walletable_pass_extraction_->CheckTypeAndMergeFrom(*from._impl_.feature_.walletable_pass_extraction_);
        }
        break;
      }
      case kAmountExtraction: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.amount_extraction_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.amount_extraction_);
        } else {
          _this->_impl_.feature_.amount_extraction_->CheckTypeAndMergeFrom(*from._impl_.feature_.amount_extraction_);
        }
        break;
      }
      case kIosSmartTabGrouping: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.ios_smart_tab_grouping_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.ios_smart_tab_grouping_);
        } else {
          _this->_impl_.feature_.ios_smart_tab_grouping_->CheckTypeAndMergeFrom(*from._impl_.feature_.ios_smart_tab_grouping_);
        }
        break;
      }
      case kActorLogin: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.actor_login_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.actor_login_);
        } else {
          _this->_impl_.feature_.actor_login_->CheckTypeAndMergeFrom(*from._impl_.feature_.actor_login_);
        }
        break;
      }
      case kContextualTasksContext: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.contextual_tasks_context_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.contextual_tasks_context_);
        } else {
          _this->_impl_.feature_.contextual_tasks_context_->CheckTypeAndMergeFrom(*from._impl_.feature_.contextual_tasks_context_);
        }
        break;
      }
      case kSkills: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.skills_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.skills_);
        } else {
          _this->_impl_.feature_.skills_->CheckTypeAndMergeFrom(*from._impl_.feature_.skills_);
        }
        break;
      }
      case kGeminiAntiscamProtection: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.gemini_antiscam_protection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.gemini_antiscam_protection_);
        } else {
          _this->_impl_.feature_.gemini_antiscam_protection_->CheckTypeAndMergeFrom(*from._impl_.feature_.gemini_antiscam_protection_);
        }
        break;
      }
      case kClassifyApi: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.classify_api_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.classify_api_);
        } else {
          _this->_impl_.feature_.classify_api_->CheckTypeAndMergeFrom(*from._impl_.feature_.classify_api_);
        }
        break;
      }
      case kFinds: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.finds_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.finds_);
        } else {
          _this->_impl_.feature_.finds_->CheckTypeAndMergeFrom(*from._impl_.feature_.finds_);
        }
        break;
      }
      case kContentAnnotation: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.content_annotation_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.content_annotation_);
        } else {
          _this->_impl_.feature_.content_annotation_->CheckTypeAndMergeFrom(*from._impl_.feature_.content_annotation_);
        }
        break;
      }
      case kAnnotationReducerOnePResolver: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.annotation_reducer_one_p_resolver_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_one_p_resolver_);
        } else {
          _this->_impl_.feature_.annotation_reducer_one_p_resolver_->CheckTypeAndMergeFrom(*from._impl_.feature_.annotation_reducer_one_p_resolver_);
        }
        break;
      }
      case kAnnotationReducerQueryClassifier: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.annotation_reducer_query_classifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_query_classifier_);
        } else {
          _this->_impl_.feature_.annotation_reducer_query_classifier_->CheckTypeAndMergeFrom(*from._impl_.feature_.annotation_reducer_query_classifier_);
        }
        break;
      }
      case kContextualCueing: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.contextual_cueing_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.contextual_cueing_);
        } else {
          _this->_impl_.feature_.contextual_cueing_->CheckTypeAndMergeFrom(*from._impl_.feature_.contextual_cueing_);
        }
        break;
      }
      case kAnnotationReducerLiveTabResolver: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.annotation_reducer_live_tab_resolver_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.annotation_reducer_live_tab_resolver_);
        } else {
          _this->_impl_.feature_.annotation_reducer_live_tab_resolver_->CheckTypeAndMergeFrom(*from._impl_.feature_.annotation_reducer_live_tab_resolver_);
        }
        break;
      }
      case kUpdaterChat: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.updater_chat_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.updater_chat_);
        } else {
          _this->_impl_.feature_.updater_chat_->CheckTypeAndMergeFrom(*from._impl_.feature_.updater_chat_);
        }
        break;
      }
      case kAtmemQueryAnalyzer: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.atmem_query_analyzer_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.atmem_query_analyzer_);
        } else {
          _this->_impl_.feature_.atmem_query_analyzer_->CheckTypeAndMergeFrom(*from._impl_.feature_.atmem_query_analyzer_);
        }
        break;
      }
      case kAtMemory: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.at_memory_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.at_memory_);
        } else {
          _this->_impl_.feature_.at_memory_->CheckTypeAndMergeFrom(*from._impl_.feature_.at_memory_);
        }
        break;
      }
      case kReadAloudGenerateText: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.read_aloud_generate_text_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.read_aloud_generate_text_);
        } else {
          _this->_impl_.feature_.read_aloud_generate_text_->CheckTypeAndMergeFrom(*from._impl_.feature_.read_aloud_generate_text_);
        }
        break;
      }
      case kReadAloudSynthesize: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.read_aloud_synthesize_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.read_aloud_synthesize_);
        } else {
          _this->_impl_.feature_.read_aloud_synthesize_->CheckTypeAndMergeFrom(*from._impl_.feature_.read_aloud_synthesize_);
        }
        break;
      }
      case kContextHub: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.context_hub_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.context_hub_);
        } else {
          _this->_impl_.feature_.context_hub_->CheckTypeAndMergeFrom(*from._impl_.feature_.context_hub_);
        }
        break;
      }
      case kDefault: {
        if (oneof_needs_init) {
          _this->_impl_.feature_.default__ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.feature_.default__);
        } else {
          _this->_impl_.feature_.default__->CheckTypeAndMergeFrom(*from._impl_.feature_.default__);
        }
        break;
      }
      case FEATURE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LogAiDataRequest::InternalSwap(LogAiDataRequest* 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(LogAiDataRequest, _impl_.model_execution_info_)
      + sizeof(LogAiDataRequest::_impl_.model_execution_info_)
      - PROTOBUF_FIELD_OFFSET(LogAiDataRequest, _impl_.logging_metadata_)>(
          reinterpret_cast<char*>(&_impl_.logging_metadata_),
          reinterpret_cast<char*>(&other->_impl_.logging_metadata_));
  swap(_impl_.feature_, other->_impl_.feature_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

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

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

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

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

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

  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.LogAiDataResponse)
  return target;
}

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

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

  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 LogAiDataResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LogAiDataResponse*>(&to_msg);
  auto& from = static_cast<const LogAiDataResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.LogAiDataResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LogAiDataResponse::InternalSwap(LogAiDataResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

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