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

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

constexpr WritingAssistanceApiResponse::ParseTableT_ WritingAssistanceApiResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WritingAssistanceApiResponse, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string output = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiResponse, _impl_.output_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string output = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiResponse, _impl_.output_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\65\6\0\0\0\0\0\0"
      "optimization_guide.proto.WritingAssistanceApiResponse"
      "output"
    }},
  };
}


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

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

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

constexpr WritingAssistanceApiOptions::ParseTableT_ WritingAssistanceApiOptions::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiOptions>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string output_language = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_language_)}},
      // .optimization_guide.proto.WritingAssistanceApiOutputTone output_tone = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_tone_)}},
      // .optimization_guide.proto.WritingAssistanceApiOutputFormat output_format = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_format_)}},
      // .optimization_guide.proto.WritingAssistanceApiOutputLength output_length = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_length_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.WritingAssistanceApiOutputTone output_tone = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_tone_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.WritingAssistanceApiOutputFormat output_format = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_format_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.WritingAssistanceApiOutputLength output_length = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_length_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string output_language = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiOptions, _impl_.output_language_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\64\0\0\0\17\0\0\0"
      "optimization_guide.proto.WritingAssistanceApiOptions"
      "output_language"
    }},
  };
}


inline constexpr WritingAssistanceApiOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        output_language_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        output_tone_{static_cast< ::optimization_guide::proto::WritingAssistanceApiOutputTone >(0)},
        output_format_{static_cast< ::optimization_guide::proto::WritingAssistanceApiOutputFormat >(0)},
        output_length_{static_cast< ::optimization_guide::proto::WritingAssistanceApiOutputLength >(0)} {}

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

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

constexpr WritingAssistanceApiRequest::ParseTableT_ WritingAssistanceApiRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string context = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.context_)}},
      // .optimization_guide.proto.WritingAssistanceApiOptions options = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.options_)}},
      // string rewrite_text = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.rewrite_text_)}},
      // string shared_context = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.shared_context_)}},
      // string instructions = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.instructions_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string context = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.context_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.WritingAssistanceApiOptions options = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.options_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string rewrite_text = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.rewrite_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string shared_context = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.shared_context_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string instructions = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiRequest, _impl_.instructions_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiOptions>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WritingAssistanceApiOptions_globals_},
        #endif
    }},
    {{
      "\64\7\0\14\16\14\0\0"
      "optimization_guide.proto.WritingAssistanceApiRequest"
      "context"
      "rewrite_text"
      "shared_context"
      "instructions"
    }},
  };
}


inline constexpr WritingAssistanceApiRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        context_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rewrite_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        shared_context_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        instructions_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

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

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

constexpr WritingAssistanceApiLoggingData::ParseTableT_ WritingAssistanceApiLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.WritingAssistanceApiRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.WritingAssistanceApiResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.model_execution_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.WritingAssistanceApiRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.WritingAssistanceApiResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(WritingAssistanceApiLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WritingAssistanceApiRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::WritingAssistanceApiResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::WritingAssistanceApiResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST WritingAssistanceApiLoggingDataGlobalsTypeInternal WritingAssistanceApiLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* WritingAssistanceApiLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return WritingAssistanceApiLoggingData_globals_.GetClassData();
#else
  return WritingAssistanceApiLoggingData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t WritingAssistanceApiOutputTone_internal_data_[] = {
    262144u, 0u, };
static const char WritingAssistanceApiOutputTone_names[] = {
    "WRITING_ASSISTANCE_API_OUTPUT_TONE_CASUAL"
    "WRITING_ASSISTANCE_API_OUTPUT_TONE_FORMAL"
    "WRITING_ASSISTANCE_API_OUTPUT_TONE_NEUTRAL"
    "WRITING_ASSISTANCE_API_OUTPUT_TONE_NOT_SPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry WritingAssistanceApiOutputTone_entries[] = {
    {{&WritingAssistanceApiOutputTone_names[0], 41}, 3},
    {{&WritingAssistanceApiOutputTone_names[41], 41}, 1},
    {{&WritingAssistanceApiOutputTone_names[82], 42}, 2},
    {{&WritingAssistanceApiOutputTone_names[124], 48}, 0},
};

static const int WritingAssistanceApiOutputTone_entries_by_number[] = {
    3,  // 0 -> WRITING_ASSISTANCE_API_OUTPUT_TONE_NOT_SPECIFIED
    1,  // 1 -> WRITING_ASSISTANCE_API_OUTPUT_TONE_FORMAL
    2,  // 2 -> WRITING_ASSISTANCE_API_OUTPUT_TONE_NEUTRAL
    0,  // 3 -> WRITING_ASSISTANCE_API_OUTPUT_TONE_CASUAL
};

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

const ::std::string& WritingAssistanceApiOutputTone_Name(WritingAssistanceApiOutputTone value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WritingAssistanceApiOutputTone_entries, WritingAssistanceApiOutputTone_entries_by_number, 4,
      WritingAssistanceApiOutputTone_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WritingAssistanceApiOutputTone_entries,
                                  WritingAssistanceApiOutputTone_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WritingAssistanceApiOutputTone_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WritingAssistanceApiOutputFormat_internal_data_[] = {
    196608u, 0u, };
static const char WritingAssistanceApiOutputFormat_names[] = {
    "WRITING_ASSISTANCE_API_OUTPUT_FORMAT_MARKDOWN"
    "WRITING_ASSISTANCE_API_OUTPUT_FORMAT_NOT_SPECIFIED"
    "WRITING_ASSISTANCE_API_OUTPUT_FORMAT_PLAIN_TEXT"
};

static const ::google::protobuf::internal::EnumEntry WritingAssistanceApiOutputFormat_entries[] = {
    {{&WritingAssistanceApiOutputFormat_names[0], 45}, 2},
    {{&WritingAssistanceApiOutputFormat_names[45], 50}, 0},
    {{&WritingAssistanceApiOutputFormat_names[95], 47}, 1},
};

static const int WritingAssistanceApiOutputFormat_entries_by_number[] = {
    1,  // 0 -> WRITING_ASSISTANCE_API_OUTPUT_FORMAT_NOT_SPECIFIED
    2,  // 1 -> WRITING_ASSISTANCE_API_OUTPUT_FORMAT_PLAIN_TEXT
    0,  // 2 -> WRITING_ASSISTANCE_API_OUTPUT_FORMAT_MARKDOWN
};

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

const ::std::string& WritingAssistanceApiOutputFormat_Name(WritingAssistanceApiOutputFormat value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WritingAssistanceApiOutputFormat_entries, WritingAssistanceApiOutputFormat_entries_by_number, 3,
      WritingAssistanceApiOutputFormat_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(WritingAssistanceApiOutputFormat_entries,
                                  WritingAssistanceApiOutputFormat_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : WritingAssistanceApiOutputFormat_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t WritingAssistanceApiOutputLength_internal_data_[] = {
    262144u, 0u, };
static const char WritingAssistanceApiOutputLength_names[] = {
    "WRITING_ASSISTANCE_API_OUTPUT_LENGTH_LONG"
    "WRITING_ASSISTANCE_API_OUTPUT_LENGTH_MEDIUM"
    "WRITING_ASSISTANCE_API_OUTPUT_LENGTH_NOT_SPECIFIED"
    "WRITING_ASSISTANCE_API_OUTPUT_LENGTH_SHORT"
};

static const ::google::protobuf::internal::EnumEntry WritingAssistanceApiOutputLength_entries[] = {
    {{&WritingAssistanceApiOutputLength_names[0], 41}, 3},
    {{&WritingAssistanceApiOutputLength_names[41], 43}, 2},
    {{&WritingAssistanceApiOutputLength_names[84], 50}, 0},
    {{&WritingAssistanceApiOutputLength_names[134], 42}, 1},
};

static const int WritingAssistanceApiOutputLength_entries_by_number[] = {
    2,  // 0 -> WRITING_ASSISTANCE_API_OUTPUT_LENGTH_NOT_SPECIFIED
    3,  // 1 -> WRITING_ASSISTANCE_API_OUTPUT_LENGTH_SHORT
    1,  // 2 -> WRITING_ASSISTANCE_API_OUTPUT_LENGTH_MEDIUM
    0,  // 3 -> WRITING_ASSISTANCE_API_OUTPUT_LENGTH_LONG
};

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

const ::std::string& WritingAssistanceApiOutputLength_Name(WritingAssistanceApiOutputLength value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      WritingAssistanceApiOutputLength_entries, WritingAssistanceApiOutputLength_entries_by_number, 4,
      WritingAssistanceApiOutputLength_strings);
  (void)kDummy;

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

void WritingAssistanceApiLoggingData::clear_model_execution_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.model_execution_info_ != nullptr) _impl_.model_execution_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
WritingAssistanceApiLoggingData::WritingAssistanceApiLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, WritingAssistanceApiLoggingData_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.WritingAssistanceApiLoggingData)
}
PROTOBUF_NDEBUG_INLINE WritingAssistanceApiLoggingData::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::WritingAssistanceApiLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WritingAssistanceApiLoggingData_class_data_ =
    WritingAssistanceApiLoggingData::InternalGenerateClassData_(WritingAssistanceApiLoggingData_globals_._default);

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // .optimization_guide.proto.WritingAssistanceApiRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.WritingAssistanceApiResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void WritingAssistanceApiLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WritingAssistanceApiLoggingData*>(&to_msg);
  auto& from = static_cast<const WritingAssistanceApiLoggingData&>(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.WritingAssistanceApiLoggingData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.request_ != nullptr);
      if (_this->_impl_.request_ == nullptr) {
        _this->_impl_.request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_);
      } else {
        _this->_impl_.request_->MergeFrom(*from._impl_.request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.response_ != nullptr);
      if (_this->_impl_.response_ == nullptr) {
        _this->_impl_.response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_);
      } else {
        _this->_impl_.response_->MergeFrom(*from._impl_.response_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.model_execution_info_ != nullptr);
      if (_this->_impl_.model_execution_info_ == nullptr) {
        _this->_impl_.model_execution_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_);
      } else {
        _this->_impl_.model_execution_info_->MergeFrom(*from._impl_.model_execution_info_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WritingAssistanceApiRequest_class_data_ =
    WritingAssistanceApiRequest::InternalGenerateClassData_(WritingAssistanceApiRequest_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.context_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.rewrite_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.shared_context_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.instructions_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.options_ != nullptr);
      _impl_.options_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // string context = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_context());
    }
    // string rewrite_text = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_rewrite_text());
    }
    // string shared_context = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_shared_context());
    }
    // string instructions = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_instructions());
    }
    // .optimization_guide.proto.WritingAssistanceApiOptions options = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
  }
  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 WritingAssistanceApiRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WritingAssistanceApiRequest*>(&to_msg);
  auto& from = static_cast<const WritingAssistanceApiRequest&>(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.WritingAssistanceApiRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_context(from._internal_context());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_rewrite_text(from._internal_rewrite_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_shared_context(from._internal_shared_context());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_instructions(from._internal_instructions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WritingAssistanceApiOptions_class_data_ =
    WritingAssistanceApiOptions::InternalGenerateClassData_(WritingAssistanceApiOptions_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.WritingAssistanceApiOutputTone output_tone = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_output_tone(), target);
  }

  // .optimization_guide.proto.WritingAssistanceApiOutputFormat output_format = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_output_format(), target);
  }

  // .optimization_guide.proto.WritingAssistanceApiOutputLength output_length = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_output_length(), target);
  }

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // string output_language = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_output_language());
    }
    // .optimization_guide.proto.WritingAssistanceApiOutputTone output_tone = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_output_tone());
    }
    // .optimization_guide.proto.WritingAssistanceApiOutputFormat output_format = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_output_format());
    }
    // .optimization_guide.proto.WritingAssistanceApiOutputLength output_length = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_output_length());
    }
  }
  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 WritingAssistanceApiOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WritingAssistanceApiOptions*>(&to_msg);
  auto& from = static_cast<const WritingAssistanceApiOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.WritingAssistanceApiOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_output_language(from._internal_output_language());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.output_tone_ = from._impl_.output_tone_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.output_format_ = from._impl_.output_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.output_length_ = from._impl_.output_length_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite WritingAssistanceApiResponse_class_data_ =
    WritingAssistanceApiResponse::InternalGenerateClassData_(WritingAssistanceApiResponse_globals_._default);

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

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

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

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

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

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

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

   {
    // string output = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_output());
    }
  }
  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 WritingAssistanceApiResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<WritingAssistanceApiResponse*>(&to_msg);
  auto& from = static_cast<const WritingAssistanceApiResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.WritingAssistanceApiResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

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

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


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

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