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

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

constexpr SubmitFormResponseData::ParseTableT_ SubmitFormResponseData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SubmitFormResponseData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 dom_node_id_to_click = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.dom_node_id_to_click_)}},
      // bool is_user_intervention_needed = 2 [features = {
      {::_pbi::TcParser::FastV8S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.is_user_intervention_needed_)}},
      // string thought = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.thought_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 dom_node_id_to_click = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.dom_node_id_to_click_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool is_user_intervention_needed = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.is_user_intervention_needed_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // string thought = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.thought_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\57\0\0\7\0\0\0\0"
      "optimization_guide.proto.SubmitFormResponseData"
      "thought"
    }},
  };
}


inline constexpr SubmitFormResponseData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        thought_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dom_node_id_to_click_{0},
        is_user_intervention_needed_{false} {}

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

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

constexpr PasswordRequirementsSpec_CharacterClass::ParseTableT_ PasswordRequirementsSpec_CharacterClass::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string character_set = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.character_set_)}},
      // uint32 min = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.min_)}},
      // uint32 max = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.max_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string character_set = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.character_set_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // uint32 min = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.min_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 max = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.max_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
      "\100\15\0\0\0\0\0\0"
      "optimization_guide.proto.PasswordRequirementsSpec.CharacterClass"
      "character_set"
    }},
  };
}


inline constexpr PasswordRequirementsSpec_CharacterClass::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        character_set_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        min_{0u},
        max_{0u} {}

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

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

constexpr PasswordChangeSubmissionData::ParseTableT_ PasswordChangeSubmissionData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeSubmissionData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeOutcome submission_outcome = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.submission_outcome_)}},
      // repeated .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeErrorCase error_case = 2;
      {::_pbi::TcParser::FastV32P1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.error_case_)}},
      // string submission_outcome_message = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.submission_outcome_message_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeOutcome submission_outcome = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.submission_outcome_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeErrorCase error_case = 2;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.error_case_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // string submission_outcome_message = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionData, _impl_.submission_outcome_message_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\65\0\0\32\0\0\0\0"
      "optimization_guide.proto.PasswordChangeSubmissionData"
      "submission_outcome_message"
    }},
  };
}


inline constexpr PasswordChangeSubmissionData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        error_case_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeSubmissionData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeSubmissionData, _impl_.error_case_)>()
         }
        ,
        _error_case_cached_byte_size_{0},
        submission_outcome_message_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        submission_outcome_{static_cast< ::optimization_guide::proto::PasswordChangeSubmissionData_PasswordChangeOutcome >(0)} {}

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

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

constexpr PasswordChangeQuality_FormData_FieldData::ParseTableT_ PasswordChangeQuality_FormData_FieldData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      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::PasswordChangeQuality_FormData_FieldData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int64 signature = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.signature_)}},
      // string id = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.id_)}},
      // string name = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.name_)}},
      // string label = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.label_)}},
      // string html_type = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.html_type_)}},
      // string placeholder = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.placeholder_)}},
      // .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData.FieldType field_type = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.field_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 signature = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.signature_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string name = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string label = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.label_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string html_type = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.html_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string placeholder = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.placeholder_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData.FieldType field_type = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.field_type_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
      "\101\0\2\4\5\11\13\0"
      "optimization_guide.proto.PasswordChangeQuality.FormData.FieldData"
      "id"
      "name"
      "label"
      "html_type"
      "placeholder"
    }},
  };
}


inline constexpr PasswordChangeQuality_FormData_FieldData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        html_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        signature_{::int64_t{0}},
        field_type_{static_cast< ::optimization_guide::proto::PasswordChangeQuality_FormData_FieldData_FieldType >(0)} {}

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

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

constexpr OpenFormResponseData::ParseTableT_ OpenFormResponseData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::OpenFormResponseData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 dom_node_id_to_click = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.dom_node_id_to_click_)}},
      // .optimization_guide.proto.OpenFormResponseData.PageType page_type = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.page_type_)}},
      // string thought = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.thought_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 dom_node_id_to_click = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.dom_node_id_to_click_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.OpenFormResponseData.PageType page_type = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.page_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string thought = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.thought_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\55\0\0\7\0\0\0\0"
      "optimization_guide.proto.OpenFormResponseData"
      "thought"
    }},
  };
}


inline constexpr OpenFormResponseData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        thought_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dom_node_id_to_click_{0},
        page_type_{static_cast< ::optimization_guide::proto::OpenFormResponseData_PageType >(0)} {}

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

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

constexpr LoginAttemptOutcome::ParseTableT_ LoginAttemptOutcome::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::LoginAttemptOutcome>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bool success = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.success_)}},
      // .optimization_guide.proto.LoginAttemptOutcome.PasswordType password_type = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.password_type_)}},
      // string domain = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.domain_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool success = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.success_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.LoginAttemptOutcome.PasswordType password_type = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.password_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string domain = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\54\0\0\6\0\0\0\0"
      "optimization_guide.proto.LoginAttemptOutcome"
      "domain"
    }},
  };
}


inline constexpr LoginAttemptOutcome::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        success_{false},
        password_type_{static_cast< ::optimization_guide::proto::LoginAttemptOutcome_PasswordType >(0)} {}

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

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

constexpr IsLoggedInResponseData::ParseTableT_ IsLoggedInResponseData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::IsLoggedInResponseData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bool is_logged_in = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.is_logged_in_)}},
      // .optimization_guide.proto.IsLoggedInResponseData.ErrorCase error_case = 2 [default = NO_ERROR, features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.error_case_)}},
      // string thought = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.thought_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool is_logged_in = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.is_logged_in_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.IsLoggedInResponseData.ErrorCase error_case = 2 [default = NO_ERROR, features = {
      {PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.error_case_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string thought = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.thought_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\57\0\0\7\0\0\0\0"
      "optimization_guide.proto.IsLoggedInResponseData"
      "thought"
    }},
  };
}


inline constexpr IsLoggedInResponseData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        thought_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_logged_in_{false},
        error_case_{static_cast< ::optimization_guide::proto::IsLoggedInResponseData_ErrorCase >(0)} {}

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

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

constexpr PasswordRequirementsSpec::ParseTableT_ PasswordRequirementsSpec::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966276,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      5,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 priority = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.priority_)}},
      // uint32 spec_version = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 6, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.spec_version_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 min_length = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 7, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.min_length_)}},
      // uint32 max_length = 5 [features = {
      {::_pbi::TcParser::FastV32S1,
       {40, 8, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.max_length_)}},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass lower_case = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.lower_case_)}},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass upper_case = 7 [features = {
      {::_pbi::TcParser::FastMtS1,
       {58, 1, 1,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.upper_case_)}},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass alphabetic = 8 [features = {
      {::_pbi::TcParser::FastMtS1,
       {66, 2, 2,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.alphabetic_)}},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass numeric = 9 [features = {
      {::_pbi::TcParser::FastMtS1,
       {74, 3, 3,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.numeric_)}},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass symbols = 10 [features = {
      {::_pbi::TcParser::FastMtS1,
       {82, 4, 4,
        PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.symbols_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 priority = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.priority_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 spec_version = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.spec_version_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 min_length = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.min_length_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 max_length = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.max_length_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass lower_case = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.lower_case_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass upper_case = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.upper_case_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass alphabetic = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.alphabetic_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass numeric = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.numeric_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass symbols = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec, _impl_.symbols_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_CharacterClass_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PasswordRequirementsSpec::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        lower_case_{nullptr},
        upper_case_{nullptr},
        alphabetic_{nullptr},
        numeric_{nullptr},
        symbols_{nullptr},
        priority_{0u},
        spec_version_{0u},
        min_length_{0u},
        max_length_{0u} {}

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

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

constexpr PasswordChangeResponse::ParseTableT_ PasswordChangeResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _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
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.PasswordChangeSubmissionData outcome_data = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.outcome_data_)}},
      // string model_output = 2 [deprecated = true, features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.model_output_)}},
      // .optimization_guide.proto.OpenFormResponseData open_form_data = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 1,
        PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.open_form_data_)}},
      // .optimization_guide.proto.SubmitFormResponseData submit_form_data = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 2,
        PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.submit_form_data_)}},
      // .optimization_guide.proto.IsLoggedInResponseData is_logged_in_data = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 4, 3,
        PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.is_logged_in_data_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PasswordChangeSubmissionData outcome_data = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.outcome_data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string model_output = 2 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.model_output_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.OpenFormResponseData open_form_data = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.open_form_data_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SubmitFormResponseData submit_form_data = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.submit_form_data_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.IsLoggedInResponseData is_logged_in_data = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.is_logged_in_data_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeSubmissionData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeSubmissionData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::OpenFormResponseData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::OpenFormResponseData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SubmitFormResponseData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SubmitFormResponseData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::IsLoggedInResponseData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::IsLoggedInResponseData_globals_},
        #endif
    }},
    {{
      "\57\0\14\0\0\0\0\0"
      "optimization_guide.proto.PasswordChangeResponse"
      "model_output"
    }},
  };
}


inline constexpr PasswordChangeResponse::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        model_output_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        outcome_data_{nullptr},
        open_form_data_{nullptr},
        submit_form_data_{nullptr},
        is_logged_in_data_{nullptr} {}

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

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

constexpr PasswordChangeQuality_FormData::ParseTableT_ PasswordChangeQuality_FormData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_FormData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData field_data = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.field_data_)}},
      // uint64 form_signature = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 5, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_signature_)}},
      // string form_id = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_id_)}},
      // string form_name = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_name_)}},
      // string url = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 4, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.url_)}},
      // repeated string button_text = 6;
      {::_pbi::TcParser::FastUR1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.button_text_)}},
      // .optimization_guide.proto.PasswordChangeQuality.FormData.DiscardReason discard_reason = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.discard_reason_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData field_data = 1;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.field_data_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 form_signature = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_signature_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // string form_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string form_name = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string url = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.url_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated string button_text = 6;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.button_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
      // .optimization_guide.proto.PasswordChangeQuality.FormData.DiscardReason discard_reason = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.discard_reason_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_FormData_FieldData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_FormData_FieldData_globals_},
        #endif
    }},
    {{
      "\67\0\0\7\11\3\13\0"
      "optimization_guide.proto.PasswordChangeQuality.FormData"
      "form_id"
      "form_name"
      "url"
      "button_text"
    }},
  };
}


inline constexpr PasswordChangeQuality_FormData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        field_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeQuality_FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.field_data_)>()
         }
        ,
        button_text_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeQuality_FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.button_text_)>()
         }
        ,
        form_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        form_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        form_signature_{::uint64_t{0u}},
        discard_reason_{static_cast< ::optimization_guide::proto::PasswordChangeQuality_FormData_DiscardReason >(0)} {}

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

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

constexpr PasswordChangeRequest::ParseTableT_ PasswordChangeRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeRequest, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.PasswordChangeRequest.FlowStep step = 2 [default = VERIFY_SUBMISSION_STEP, features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeRequest, _impl_.step_)}},
      // .optimization_guide.proto.PageContext page_context = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeRequest, _impl_.page_context_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PageContext page_context = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeRequest, _impl_.page_context_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeRequest.FlowStep step = 2 [default = VERIFY_SUBMISSION_STEP, features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeRequest, _impl_.step_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PageContext>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PageContext_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PasswordChangeRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_context_{nullptr},
        step_{static_cast< ::optimization_guide::proto::PasswordChangeRequest_FlowStep >(21)} {}

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

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

constexpr PasswordChangeQuality_StepQuality::ParseTableT_ PasswordChangeQuality_StepQuality::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      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::PasswordChangeQuality_StepQuality>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality.SubmissionStatus status = 1 [default = UNKNOWN_STATUS, features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.status_)}},
      // int64 request_latency_ms = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.request_latency_ms_)}},
      // int64 retry_count = 3 [features = {
      {::_pbi::TcParser::FastV64S1,
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.retry_count_)}},
      // bool classification_overridden_by_user = 4 [default = false, features = {
      {::_pbi::TcParser::FastV8S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.classification_overridden_by_user_)}},
      // .optimization_guide.proto.PasswordChangeRequest request = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.request_)}},
      // .optimization_guide.proto.PasswordChangeResponse response = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 1, 1,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.response_)}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 7 [features = {
      {::_pbi::TcParser::FastMtS1,
       {58, 2, 2,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.model_execution_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality.SubmissionStatus status = 1 [default = UNKNOWN_STATUS, features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.status_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int64 request_latency_ms = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.request_latency_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 retry_count = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.retry_count_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // bool classification_overridden_by_user = 4 [default = false, features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.classification_overridden_by_user_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.PasswordChangeRequest request = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeResponse response = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_StepQuality, _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::PasswordChangeRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PasswordChangeQuality_StepQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_{nullptr},
        response_{nullptr},
        model_execution_info_{nullptr},
        request_latency_ms_{::int64_t{0}},
        status_{static_cast< ::optimization_guide::proto::PasswordChangeQuality_StepQuality_SubmissionStatus >(0)},
        classification_overridden_by_user_{false},
        retry_count_{::int64_t{0}} {}

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

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

constexpr PasswordChangeQuality::ParseTableT_ PasswordChangeQuality::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_._has_bits_),
      0, // no _extensions_
      16, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294901760,  // skipmap
      offsetof(ParseTableT_, field_entries),
      16,  // num_field_entries
      8,  // 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::PasswordChangeQuality>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.PasswordRequirementsSpec password_requirements_spec = 16 [features = {
      {::_pbi::TcParser::FastMtS2,
       {386, 10, 7,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.password_requirements_spec_)}},
      // .optimization_guide.proto.FinalModelStatus final_model_status = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 12, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.final_model_status_)}},
      // int64 request_latency_ms = 2 [deprecated = true, features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 11, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.request_latency_ms_)}},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality open_form = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 4, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.open_form_)}},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality submit_form = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 5, 1,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.submit_form_)}},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality verify_submission = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 6, 2,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.verify_submission_)}},
      // string domain = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.domain_)}},
      // string location = 7 [features = {
      {::_pbi::TcParser::FastUS1,
       {58, 2, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.location_)}},
      // string language = 8 [features = {
      {::_pbi::TcParser::FastUS1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.language_)}},
      // bool is_retry = 9 [features = {
      {::_pbi::TcParser::FastV8S1,
       {72, 13, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.is_retry_)}},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality logged_in_check = 10 [features = {
      {::_pbi::TcParser::FastMtS1,
       {82, 7, 3,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.logged_in_check_)}},
      // int64 total_flow_time_ms = 11 [features = {
      {::_pbi::TcParser::FastV64S1,
       {88, 15, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.total_flow_time_ms_)}},
      // .optimization_guide.proto.PasswordChangeQuality.FormData login_form_data = 12 [features = {
      {::_pbi::TcParser::FastMtS1,
       {98, 8, 4,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.login_form_data_)}},
      // bool was_password_stored = 13 [features = {
      {::_pbi::TcParser::FastV8S1,
       {104, 14, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.was_password_stored_)}},
      // .optimization_guide.proto.PasswordChangeQuality.FormData change_password_form_data = 14 [features = {
      {::_pbi::TcParser::FastMtS1,
       {114, 9, 5,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.change_password_form_data_)}},
      // repeated .optimization_guide.proto.PasswordChangeQuality.FormData discarded_forms_data = 15;
      {::_pbi::TcParser::FastMtR1,
       {122, 0, 6,
        PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.discarded_forms_data_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.FinalModelStatus final_model_status = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.final_model_status_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int64 request_latency_ms = 2 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.request_latency_ms_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality open_form = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.open_form_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality submit_form = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.submit_form_), _Internal::kHasBitsOffset + 5, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality verify_submission = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.verify_submission_), _Internal::kHasBitsOffset + 6, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string domain = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.domain_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string location = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.location_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string language = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.language_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool is_retry = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.is_retry_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.PasswordChangeQuality.StepQuality logged_in_check = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.logged_in_check_), _Internal::kHasBitsOffset + 7, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int64 total_flow_time_ms = 11 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.total_flow_time_ms_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .optimization_guide.proto.PasswordChangeQuality.FormData login_form_data = 12 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.login_form_data_), _Internal::kHasBitsOffset + 8, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool was_password_stored = 13 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.was_password_stored_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.PasswordChangeQuality.FormData change_password_form_data = 14 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.change_password_form_data_), _Internal::kHasBitsOffset + 9, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.PasswordChangeQuality.FormData discarded_forms_data = 15;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.discarded_forms_data_), _Internal::kHasBitsOffset + 0, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordRequirementsSpec password_requirements_spec = 16 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.password_requirements_spec_), _Internal::kHasBitsOffset + 10, 7, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_StepQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_StepQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_StepQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_StepQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_StepQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_StepQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_StepQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_StepQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_FormData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_FormData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_FormData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_FormData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeQuality_FormData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_FormData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordRequirementsSpec>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordRequirementsSpec_globals_},
        #endif
    }},
    {{
      "\56\0\0\0\0\0\6\10\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.PasswordChangeQuality"
      "domain"
      "location"
      "language"
    }},
  };
}


inline constexpr PasswordChangeQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        discarded_forms_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeQuality,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality, _impl_.discarded_forms_data_)>()
         }
        ,
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        location_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        language_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        open_form_{nullptr},
        submit_form_{nullptr},
        verify_submission_{nullptr},
        logged_in_check_{nullptr},
        login_form_data_{nullptr},
        change_password_form_data_{nullptr},
        password_requirements_spec_{nullptr},
        request_latency_ms_{::int64_t{0}},
        final_model_status_{static_cast< ::optimization_guide::proto::FinalModelStatus >(0)},
        is_retry_{false},
        was_password_stored_{false},
        total_flow_time_ms_{::int64_t{0}} {}

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

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

constexpr PasswordChangeSubmissionLoggingData::ParseTableT_ PasswordChangeSubmissionLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_._has_bits_),
      0, // no _extensions_
      5, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      5,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeSubmissionLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.PasswordChangeRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.PasswordChangeResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.model_execution_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.PasswordChangeRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _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(PasswordChangeSubmissionLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PasswordChangeQuality quality = 4;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.quality_data_.quality_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.LoginAttemptOutcome login_attempt_outcome = 5;
      {PROTOBUF_FIELD_OFFSET(PasswordChangeSubmissionLoggingData, _impl_.quality_data_.login_attempt_outcome_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PasswordChangeResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeResponse_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::PasswordChangeQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PasswordChangeQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::LoginAttemptOutcome>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::LoginAttemptOutcome_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PasswordChangeSubmissionLoggingDataGlobalsTypeInternal PasswordChangeSubmissionLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PasswordChangeSubmissionLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PasswordChangeSubmissionLoggingData_globals_.GetClassData();
#else
  return PasswordChangeSubmissionLoggingData_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 PasswordChangeRequest_FlowStep_internal_data_[] = {
    196608u, 32u, 262400u, };
static const char PasswordChangeRequest_FlowStep_names[] = {
    "IS_LOGGED_IN_STEP"
    "OPEN_FORM_STEP"
    "SUBMIT_FORM_STEP"
    "UNSPECIFIED_STEP"
    "VERIFY_SUBMISSION_STEP"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeRequest_FlowStep_entries[] = {
    {{&PasswordChangeRequest_FlowStep_names[0], 17}, 2},
    {{&PasswordChangeRequest_FlowStep_names[17], 14}, 1},
    {{&PasswordChangeRequest_FlowStep_names[31], 16}, 11},
    {{&PasswordChangeRequest_FlowStep_names[47], 16}, 0},
    {{&PasswordChangeRequest_FlowStep_names[63], 22}, 21},
};

static const int PasswordChangeRequest_FlowStep_entries_by_number[] = {
    3,  // 0 -> UNSPECIFIED_STEP
    1,  // 1 -> OPEN_FORM_STEP
    0,  // 2 -> IS_LOGGED_IN_STEP
    2,  // 11 -> SUBMIT_FORM_STEP
    4,  // 21 -> VERIFY_SUBMISSION_STEP
};

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

const ::std::string& PasswordChangeRequest_FlowStep_Name(PasswordChangeRequest_FlowStep value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeRequest_FlowStep_entries, PasswordChangeRequest_FlowStep_entries_by_number, 5,
      PasswordChangeRequest_FlowStep_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeRequest_FlowStep_entries,
                                  PasswordChangeRequest_FlowStep_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeRequest_FlowStep_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PasswordChangeSubmissionData_PasswordChangeOutcome_internal_data_[] = {
    262144u, 0u, };
static const char PasswordChangeSubmissionData_PasswordChangeOutcome_names[] = {
    "SUCCESSFUL_OUTCOME"
    "UNKNOWN_OUTCOME"
    "UNSUCCESSFUL_OUTCOME"
    "USER_INTERVENTION_NEEDED"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeSubmissionData_PasswordChangeOutcome_entries[] = {
    {{&PasswordChangeSubmissionData_PasswordChangeOutcome_names[0], 18}, 1},
    {{&PasswordChangeSubmissionData_PasswordChangeOutcome_names[18], 15}, 0},
    {{&PasswordChangeSubmissionData_PasswordChangeOutcome_names[33], 20}, 2},
    {{&PasswordChangeSubmissionData_PasswordChangeOutcome_names[53], 24}, 3},
};

static const int PasswordChangeSubmissionData_PasswordChangeOutcome_entries_by_number[] = {
    1,  // 0 -> UNKNOWN_OUTCOME
    0,  // 1 -> SUCCESSFUL_OUTCOME
    2,  // 2 -> UNSUCCESSFUL_OUTCOME
    3,  // 3 -> USER_INTERVENTION_NEEDED
};

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

const ::std::string& PasswordChangeSubmissionData_PasswordChangeOutcome_Name(PasswordChangeSubmissionData_PasswordChangeOutcome value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeSubmissionData_PasswordChangeOutcome_entries, PasswordChangeSubmissionData_PasswordChangeOutcome_entries_by_number, 4,
      PasswordChangeSubmissionData_PasswordChangeOutcome_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeSubmissionData_PasswordChangeOutcome_entries,
                                  PasswordChangeSubmissionData_PasswordChangeOutcome_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeSubmissionData_PasswordChangeOutcome_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PasswordChangeSubmissionData_PasswordChangeErrorCase_internal_data_[] = {
    327680u, 0u, };
static const char PasswordChangeSubmissionData_PasswordChangeErrorCase_names[] = {
    "NEW_PASSWORD_INCORRECT"
    "OLD_PASSWORD_INCORRECT"
    "PAGE_ERROR"
    "PASSWORDS_DO_NOT_MATCH"
    "UNKNOWN_CASE"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeSubmissionData_PasswordChangeErrorCase_entries[] = {
    {{&PasswordChangeSubmissionData_PasswordChangeErrorCase_names[0], 22}, 3},
    {{&PasswordChangeSubmissionData_PasswordChangeErrorCase_names[22], 22}, 1},
    {{&PasswordChangeSubmissionData_PasswordChangeErrorCase_names[44], 10}, 4},
    {{&PasswordChangeSubmissionData_PasswordChangeErrorCase_names[54], 22}, 2},
    {{&PasswordChangeSubmissionData_PasswordChangeErrorCase_names[76], 12}, 0},
};

static const int PasswordChangeSubmissionData_PasswordChangeErrorCase_entries_by_number[] = {
    4,  // 0 -> UNKNOWN_CASE
    1,  // 1 -> OLD_PASSWORD_INCORRECT
    3,  // 2 -> PASSWORDS_DO_NOT_MATCH
    0,  // 3 -> NEW_PASSWORD_INCORRECT
    2,  // 4 -> PAGE_ERROR
};

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

const ::std::string& PasswordChangeSubmissionData_PasswordChangeErrorCase_Name(PasswordChangeSubmissionData_PasswordChangeErrorCase value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeSubmissionData_PasswordChangeErrorCase_entries, PasswordChangeSubmissionData_PasswordChangeErrorCase_entries_by_number, 5,
      PasswordChangeSubmissionData_PasswordChangeErrorCase_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeSubmissionData_PasswordChangeErrorCase_entries,
                                  PasswordChangeSubmissionData_PasswordChangeErrorCase_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeSubmissionData_PasswordChangeErrorCase_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t IsLoggedInResponseData_ErrorCase_internal_data_[] = {
    196608u, 0u, };
static const char IsLoggedInResponseData_ErrorCase_names[] = {
    "FORGOT_PASSWORD_PAGE"
    "LOGIN_FAILED"
    "NO_ERROR"
};

static const ::google::protobuf::internal::EnumEntry IsLoggedInResponseData_ErrorCase_entries[] = {
    {{&IsLoggedInResponseData_ErrorCase_names[0], 20}, 2},
    {{&IsLoggedInResponseData_ErrorCase_names[20], 12}, 1},
    {{&IsLoggedInResponseData_ErrorCase_names[32], 8}, 0},
};

static const int IsLoggedInResponseData_ErrorCase_entries_by_number[] = {
    2,  // 0 -> NO_ERROR
    1,  // 1 -> LOGIN_FAILED
    0,  // 2 -> FORGOT_PASSWORD_PAGE
};

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

const ::std::string& IsLoggedInResponseData_ErrorCase_Name(IsLoggedInResponseData_ErrorCase value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IsLoggedInResponseData_ErrorCase_entries, IsLoggedInResponseData_ErrorCase_entries_by_number, 3,
      IsLoggedInResponseData_ErrorCase_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IsLoggedInResponseData_ErrorCase_entries,
                                  IsLoggedInResponseData_ErrorCase_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IsLoggedInResponseData_ErrorCase_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t OpenFormResponseData_PageType_internal_data_[] = {
    327680u, 0u, };
static const char OpenFormResponseData_PageType_names[] = {
    "CHANGE_PASSWORD_FORM_PAGE"
    "LOG_IN_PAGE"
    "SETTINGS_PAGE"
    "UNSPECIFIED_PAGE"
    "USER_INTERVENTION_NEEDED_PAGE"
};

static const ::google::protobuf::internal::EnumEntry OpenFormResponseData_PageType_entries[] = {
    {{&OpenFormResponseData_PageType_names[0], 25}, 2},
    {{&OpenFormResponseData_PageType_names[25], 11}, 3},
    {{&OpenFormResponseData_PageType_names[36], 13}, 1},
    {{&OpenFormResponseData_PageType_names[49], 16}, 0},
    {{&OpenFormResponseData_PageType_names[65], 29}, 4},
};

static const int OpenFormResponseData_PageType_entries_by_number[] = {
    3,  // 0 -> UNSPECIFIED_PAGE
    2,  // 1 -> SETTINGS_PAGE
    0,  // 2 -> CHANGE_PASSWORD_FORM_PAGE
    1,  // 3 -> LOG_IN_PAGE
    4,  // 4 -> USER_INTERVENTION_NEEDED_PAGE
};

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

const ::std::string& OpenFormResponseData_PageType_Name(OpenFormResponseData_PageType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      OpenFormResponseData_PageType_entries, OpenFormResponseData_PageType_entries_by_number, 5,
      OpenFormResponseData_PageType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(OpenFormResponseData_PageType_entries,
                                  OpenFormResponseData_PageType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : OpenFormResponseData_PageType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PasswordChangeQuality_StepQuality_SubmissionStatus_internal_data_[] = {
    1048576u, 0u, };
static const char PasswordChangeQuality_StepQuality_SubmissionStatus_names[] = {
    "ACTION_SUCCESS"
    "CROSE_ORIGIN_NAVIGATION"
    "ELEMENT_DISABLED"
    "ELEMENT_NOT_FOUND"
    "ELEMENT_OBSCURED"
    "ELEMENT_OFFSCREEN"
    "FAILURE_STATUS"
    "FLOW_INTERRUPTED"
    "FORM_FILLING_FAILED"
    "FORM_NOT_FOUND"
    "OTP_DETECTED"
    "STEP_SKIPPED"
    "TIME_OUT"
    "UNEXPECTED_STATE"
    "UNKNOWN_STATUS"
    "USER_INTERVENTION_NEEDED"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeQuality_StepQuality_SubmissionStatus_entries[] = {
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[0], 14}, 2},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[14], 23}, 12},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[37], 16}, 9},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[53], 17}, 1},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[70], 16}, 11},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[86], 17}, 10},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[103], 14}, 6},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[117], 16}, 5},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[133], 19}, 13},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[152], 14}, 3},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[166], 12}, 7},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[178], 12}, 8},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[190], 8}, 15},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[198], 16}, 4},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[214], 14}, 0},
    {{&PasswordChangeQuality_StepQuality_SubmissionStatus_names[228], 24}, 14},
};

static const int PasswordChangeQuality_StepQuality_SubmissionStatus_entries_by_number[] = {
    14,  // 0 -> UNKNOWN_STATUS
    3,  // 1 -> ELEMENT_NOT_FOUND
    0,  // 2 -> ACTION_SUCCESS
    9,  // 3 -> FORM_NOT_FOUND
    13,  // 4 -> UNEXPECTED_STATE
    7,  // 5 -> FLOW_INTERRUPTED
    6,  // 6 -> FAILURE_STATUS
    10,  // 7 -> OTP_DETECTED
    11,  // 8 -> STEP_SKIPPED
    2,  // 9 -> ELEMENT_DISABLED
    5,  // 10 -> ELEMENT_OFFSCREEN
    4,  // 11 -> ELEMENT_OBSCURED
    1,  // 12 -> CROSE_ORIGIN_NAVIGATION
    8,  // 13 -> FORM_FILLING_FAILED
    15,  // 14 -> USER_INTERVENTION_NEEDED
    12,  // 15 -> TIME_OUT
};

bool PasswordChangeQuality_StepQuality_SubmissionStatus_Parse(::absl::string_view name,
                                  PasswordChangeQuality_StepQuality_SubmissionStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      PasswordChangeQuality_StepQuality_SubmissionStatus_entries, 16, name, &int_value);
  if (success) {
    *value = static_cast<PasswordChangeQuality_StepQuality_SubmissionStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    PasswordChangeQuality_StepQuality_SubmissionStatus_strings[16] = {};

const ::std::string& PasswordChangeQuality_StepQuality_SubmissionStatus_Name(PasswordChangeQuality_StepQuality_SubmissionStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeQuality_StepQuality_SubmissionStatus_entries, PasswordChangeQuality_StepQuality_SubmissionStatus_entries_by_number, 16,
      PasswordChangeQuality_StepQuality_SubmissionStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeQuality_StepQuality_SubmissionStatus_entries,
                                  PasswordChangeQuality_StepQuality_SubmissionStatus_entries_by_number,
                                  16, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeQuality_StepQuality_SubmissionStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PasswordChangeQuality_FormData_FieldData_FieldType_internal_data_[] = {
    327680u, 0u, };
static const char PasswordChangeQuality_FormData_FieldData_FieldType_names[] = {
    "CONFIRMATION_PASSWORD"
    "NEW_PASSWORD"
    "PASSWORD"
    "UNKNOWN"
    "USERNAME"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeQuality_FormData_FieldData_FieldType_entries[] = {
    {{&PasswordChangeQuality_FormData_FieldData_FieldType_names[0], 21}, 4},
    {{&PasswordChangeQuality_FormData_FieldData_FieldType_names[21], 12}, 3},
    {{&PasswordChangeQuality_FormData_FieldData_FieldType_names[33], 8}, 2},
    {{&PasswordChangeQuality_FormData_FieldData_FieldType_names[41], 7}, 0},
    {{&PasswordChangeQuality_FormData_FieldData_FieldType_names[48], 8}, 1},
};

static const int PasswordChangeQuality_FormData_FieldData_FieldType_entries_by_number[] = {
    3,  // 0 -> UNKNOWN
    4,  // 1 -> USERNAME
    2,  // 2 -> PASSWORD
    1,  // 3 -> NEW_PASSWORD
    0,  // 4 -> CONFIRMATION_PASSWORD
};

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

const ::std::string& PasswordChangeQuality_FormData_FieldData_FieldType_Name(PasswordChangeQuality_FormData_FieldData_FieldType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeQuality_FormData_FieldData_FieldType_entries, PasswordChangeQuality_FormData_FieldData_FieldType_entries_by_number, 5,
      PasswordChangeQuality_FormData_FieldData_FieldType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeQuality_FormData_FieldData_FieldType_entries,
                                  PasswordChangeQuality_FormData_FieldData_FieldType_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeQuality_FormData_FieldData_FieldType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t PasswordChangeQuality_FormData_DiscardReason_internal_data_[] = {
    458752u, 0u, };
static const char PasswordChangeQuality_FormData_DiscardReason_names[] = {
    "FIELD_TO_IGNORE"
    "FORM_NOT_VISIBLE"
    "NEW_PASSWORD_FIELD_DISABLED"
    "NO_DRIVER"
    "NO_NEW_PASSWORD_FIELD"
    "UNKNOWN_REASON"
    "USERNAME_FIELD_EMPTY_AND_FOCUSABLE"
};

static const ::google::protobuf::internal::EnumEntry PasswordChangeQuality_FormData_DiscardReason_entries[] = {
    {{&PasswordChangeQuality_FormData_DiscardReason_names[0], 15}, 4},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[15], 16}, 6},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[31], 27}, 2},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[58], 9}, 5},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[67], 21}, 1},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[88], 14}, 0},
    {{&PasswordChangeQuality_FormData_DiscardReason_names[102], 34}, 3},
};

static const int PasswordChangeQuality_FormData_DiscardReason_entries_by_number[] = {
    5,  // 0 -> UNKNOWN_REASON
    4,  // 1 -> NO_NEW_PASSWORD_FIELD
    2,  // 2 -> NEW_PASSWORD_FIELD_DISABLED
    6,  // 3 -> USERNAME_FIELD_EMPTY_AND_FOCUSABLE
    0,  // 4 -> FIELD_TO_IGNORE
    3,  // 5 -> NO_DRIVER
    1,  // 6 -> FORM_NOT_VISIBLE
};

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

const ::std::string& PasswordChangeQuality_FormData_DiscardReason_Name(PasswordChangeQuality_FormData_DiscardReason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      PasswordChangeQuality_FormData_DiscardReason_entries, PasswordChangeQuality_FormData_DiscardReason_entries_by_number, 7,
      PasswordChangeQuality_FormData_DiscardReason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(PasswordChangeQuality_FormData_DiscardReason_entries,
                                  PasswordChangeQuality_FormData_DiscardReason_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : PasswordChangeQuality_FormData_DiscardReason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t LoginAttemptOutcome_PasswordType_internal_data_[] = {
    196608u, 0u, };
static const char LoginAttemptOutcome_PasswordType_names[] = {
    "BACKUP"
    "PRIMARY"
    "UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry LoginAttemptOutcome_PasswordType_entries[] = {
    {{&LoginAttemptOutcome_PasswordType_names[0], 6}, 1},
    {{&LoginAttemptOutcome_PasswordType_names[6], 7}, 2},
    {{&LoginAttemptOutcome_PasswordType_names[13], 7}, 0},
};

static const int LoginAttemptOutcome_PasswordType_entries_by_number[] = {
    2,  // 0 -> UNKNOWN
    0,  // 1 -> BACKUP
    1,  // 2 -> PRIMARY
};

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

const ::std::string& LoginAttemptOutcome_PasswordType_Name(LoginAttemptOutcome_PasswordType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      LoginAttemptOutcome_PasswordType_entries, LoginAttemptOutcome_PasswordType_entries_by_number, 3,
      LoginAttemptOutcome_PasswordType_strings);
  (void)kDummy;

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

void PasswordChangeSubmissionLoggingData::set_allocated_quality(::optimization_guide::proto::PasswordChangeQuality* PROTOBUF_NULLABLE quality) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_quality_data();
  if (quality) {
    ::google::protobuf::Arena* submessage_arena = quality->GetArena();
    if (message_arena != submessage_arena) {
      quality = ::google::protobuf::internal::GetOwnedMessage(message_arena, quality, submessage_arena);
    }
    set_has_quality();
    _impl_.quality_data_.quality_ = quality;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.PasswordChangeSubmissionLoggingData.quality)
}
void PasswordChangeSubmissionLoggingData::set_allocated_login_attempt_outcome(::optimization_guide::proto::LoginAttemptOutcome* PROTOBUF_NULLABLE login_attempt_outcome) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_quality_data();
  if (login_attempt_outcome) {
    ::google::protobuf::Arena* submessage_arena = login_attempt_outcome->GetArena();
    if (message_arena != submessage_arena) {
      login_attempt_outcome = ::google::protobuf::internal::GetOwnedMessage(message_arena, login_attempt_outcome, submessage_arena);
    }
    set_has_login_attempt_outcome();
    _impl_.quality_data_.login_attempt_outcome_ = login_attempt_outcome;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.PasswordChangeSubmissionLoggingData.login_attempt_outcome)
}
void PasswordChangeSubmissionLoggingData::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);
}
PasswordChangeSubmissionLoggingData::PasswordChangeSubmissionLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PasswordChangeSubmissionLoggingData_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.PasswordChangeSubmissionLoggingData)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeSubmissionLoggingData::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::PasswordChangeSubmissionLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        quality_data_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PasswordChangeSubmissionLoggingData* 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;
  switch (quality_data_case()) {
    case QUALITY_DATA_NOT_SET:
      break;
      case kQuality:
        _impl_.quality_data_.quality_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_data_.quality_);
        break;
      case kLoginAttemptOutcome:
        _impl_.quality_data_.login_attempt_outcome_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_data_.login_attempt_outcome_);
        break;
  }

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

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

void PasswordChangeSubmissionLoggingData::clear_quality_data() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.PasswordChangeSubmissionLoggingData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (quality_data_case()) {
    case kQuality: {
      if (GetArena() == nullptr) {
        delete _impl_.quality_data_.quality_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.quality_data_.quality_ != nullptr) {
          _impl_.quality_data_.quality_->Clear();
        }
      }
      break;
    }
    case kLoginAttemptOutcome: {
      if (GetArena() == nullptr) {
        delete _impl_.quality_data_.login_attempt_outcome_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.quality_data_.login_attempt_outcome_ != nullptr) {
          _impl_.quality_data_.login_attempt_outcome_->Clear();
        }
      }
      break;
    }
    case QUALITY_DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = QUALITY_DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeSubmissionLoggingData_class_data_ =
    PasswordChangeSubmissionLoggingData::InternalGenerateClassData_(PasswordChangeSubmissionLoggingData_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.PasswordChangeRequest 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.PasswordChangeResponse 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);
  }

  switch (this_.quality_data_case()) {
    case kQuality: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.quality_data_.quality_, this_._impl_.quality_data_.quality_->GetCachedSize(), target,
          stream);
      break;
    }
    case kLoginAttemptOutcome: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.quality_data_.login_attempt_outcome_, this_._impl_.quality_data_.login_attempt_outcome_->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.PasswordChangeSubmissionLoggingData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PasswordChangeSubmissionLoggingData::ByteSizeLong(const MessageLite& base) {
  const PasswordChangeSubmissionLoggingData& this_ = static_cast<const PasswordChangeSubmissionLoggingData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PasswordChangeSubmissionLoggingData::ByteSizeLong() const {
  const PasswordChangeSubmissionLoggingData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PasswordChangeSubmissionLoggingData)
  ::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.PasswordChangeRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.PasswordChangeResponse 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_);
    }
  }
  switch (this_.quality_data_case()) {
    // .optimization_guide.proto.PasswordChangeQuality quality = 4;
    case kQuality: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.quality_data_.quality_);
      break;
    }
    // .optimization_guide.proto.LoginAttemptOutcome login_attempt_outcome = 5;
    case kLoginAttemptOutcome: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.quality_data_.login_attempt_outcome_);
      break;
    }
    case QUALITY_DATA_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PasswordChangeSubmissionLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeSubmissionLoggingData*>(&to_msg);
  auto& from = static_cast<const PasswordChangeSubmissionLoggingData&>(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.PasswordChangeSubmissionLoggingData)
  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;
  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_quality_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kQuality: {
        if (oneof_needs_init) {
          _this->_impl_.quality_data_.quality_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_data_.quality_);
        } else {
          _this->_impl_.quality_data_.quality_->MergeFrom(*from._impl_.quality_data_.quality_);
        }
        break;
      }
      case kLoginAttemptOutcome: {
        if (oneof_needs_init) {
          _this->_impl_.quality_data_.login_attempt_outcome_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_data_.login_attempt_outcome_);
        } else {
          _this->_impl_.quality_data_.login_attempt_outcome_->MergeFrom(*from._impl_.quality_data_.login_attempt_outcome_);
        }
        break;
      }
      case QUALITY_DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PasswordChangeRequest)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        step_{static_cast< ::optimization_guide::proto::PasswordChangeRequest_FlowStep >(21)} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeRequest_class_data_ =
    PasswordChangeRequest::InternalGenerateClassData_(PasswordChangeRequest_globals_._default);

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

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

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

  // .optimization_guide.proto.PasswordChangeRequest.FlowStep step = 2 [default = VERIFY_SUBMISSION_STEP, features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_step(), 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.PasswordChangeRequest)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PasswordChangeRequest::ByteSizeLong(const MessageLite& base) {
  const PasswordChangeRequest& this_ = static_cast<const PasswordChangeRequest&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PasswordChangeRequest::ByteSizeLong() const {
  const PasswordChangeRequest& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PasswordChangeRequest)
  ::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.PageContext page_context = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.page_context_);
    }
    // .optimization_guide.proto.PasswordChangeRequest.FlowStep step = 2 [default = VERIFY_SUBMISSION_STEP, features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_step());
    }
  }
  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 PasswordChangeRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeRequest*>(&to_msg);
  auto& from = static_cast<const PasswordChangeRequest&>(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.PasswordChangeRequest)
  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_.page_context_ != nullptr);
      if (_this->_impl_.page_context_ == nullptr) {
        _this->_impl_.page_context_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_context_);
      } else {
        _this->_impl_.page_context_->MergeFrom(*from._impl_.page_context_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.step_ = from._impl_.step_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PasswordChangeResponse* 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_.outcome_data_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.outcome_data_)
                : nullptr;
  _impl_.open_form_data_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.open_form_data_)
                : nullptr;
  _impl_.submit_form_data_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.submit_form_data_)
                : nullptr;
  _impl_.is_logged_in_data_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.is_logged_in_data_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeResponse_class_data_ =
    PasswordChangeResponse::InternalGenerateClassData_(PasswordChangeResponse_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeResponse::GetClassData() const {
  return PasswordChangeResponse_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeResponse::GetClassData() const {
  return PasswordChangeResponse_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PasswordChangeResponse::ParseTableT_
    PasswordChangeResponse::_table_ =
        PasswordChangeResponse::InternalGenerateParseTable_(PasswordChangeResponse_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PasswordChangeResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PasswordChangeResponse)
  ::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_.model_output_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.outcome_data_ != nullptr);
      _impl_.outcome_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.open_form_data_ != nullptr);
      _impl_.open_form_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.submit_form_data_ != nullptr);
      _impl_.submit_form_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.is_logged_in_data_ != nullptr);
      _impl_.is_logged_in_data_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

  // .optimization_guide.proto.IsLoggedInResponseData is_logged_in_data = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.is_logged_in_data_, this_._impl_.is_logged_in_data_->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.PasswordChangeResponse)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PasswordChangeResponse::ByteSizeLong(const MessageLite& base) {
  const PasswordChangeResponse& this_ = static_cast<const PasswordChangeResponse&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PasswordChangeResponse::ByteSizeLong() const {
  const PasswordChangeResponse& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PasswordChangeResponse)
  ::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 model_output = 2 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_model_output());
    }
    // .optimization_guide.proto.PasswordChangeSubmissionData outcome_data = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.outcome_data_);
    }
    // .optimization_guide.proto.OpenFormResponseData open_form_data = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.open_form_data_);
    }
    // .optimization_guide.proto.SubmitFormResponseData submit_form_data = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.submit_form_data_);
    }
    // .optimization_guide.proto.IsLoggedInResponseData is_logged_in_data = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.is_logged_in_data_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PasswordChangeResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeResponse*>(&to_msg);
  auto& from = static_cast<const PasswordChangeResponse&>(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.PasswordChangeResponse)
  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_model_output(from._internal_model_output());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.outcome_data_ != nullptr);
      if (_this->_impl_.outcome_data_ == nullptr) {
        _this->_impl_.outcome_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.outcome_data_);
      } else {
        _this->_impl_.outcome_data_->MergeFrom(*from._impl_.outcome_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.open_form_data_ != nullptr);
      if (_this->_impl_.open_form_data_ == nullptr) {
        _this->_impl_.open_form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.open_form_data_);
      } else {
        _this->_impl_.open_form_data_->MergeFrom(*from._impl_.open_form_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.submit_form_data_ != nullptr);
      if (_this->_impl_.submit_form_data_ == nullptr) {
        _this->_impl_.submit_form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.submit_form_data_);
      } else {
        _this->_impl_.submit_form_data_->MergeFrom(*from._impl_.submit_form_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.is_logged_in_data_ != nullptr);
      if (_this->_impl_.is_logged_in_data_ == nullptr) {
        _this->_impl_.is_logged_in_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.is_logged_in_data_);
      } else {
        _this->_impl_.is_logged_in_data_->MergeFrom(*from._impl_.is_logged_in_data_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PasswordChangeResponse::InternalSwap(PasswordChangeResponse* 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_.model_output_, &other->_impl_.model_output_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.is_logged_in_data_)
      + sizeof(PasswordChangeResponse::_impl_.is_logged_in_data_)
      - PROTOBUF_FIELD_OFFSET(PasswordChangeResponse, _impl_.outcome_data_)>(
          reinterpret_cast<char*>(&_impl_.outcome_data_),
          reinterpret_cast<char*>(&other->_impl_.outcome_data_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeSubmissionData_class_data_ =
    PasswordChangeSubmissionData::InternalGenerateClassData_(PasswordChangeSubmissionData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.error_case_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.submission_outcome_message_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.submission_outcome_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeOutcome submission_outcome = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_submission_outcome(), target);
  }

  // repeated .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeErrorCase error_case = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._error_case_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_error_case(), byte_size, target);
      }
    }
  }

  // string submission_outcome_message = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_submission_outcome_message();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PasswordChangeSubmissionData.submission_outcome_message");
    target = stream->WriteStringMaybeAliased(3, _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.PasswordChangeSubmissionData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PasswordChangeSubmissionData::ByteSizeLong(const MessageLite& base) {
  const PasswordChangeSubmissionData& this_ = static_cast<const PasswordChangeSubmissionData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PasswordChangeSubmissionData::ByteSizeLong() const {
  const PasswordChangeSubmissionData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PasswordChangeSubmissionData)
  ::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)) {
    // repeated .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeErrorCase error_case = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_error_case(), 1, this_._impl_._error_case_cached_byte_size_);
    }
    // string submission_outcome_message = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_submission_outcome_message());
    }
    // .optimization_guide.proto.PasswordChangeSubmissionData.PasswordChangeOutcome submission_outcome = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_submission_outcome());
    }
  }
  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 PasswordChangeSubmissionData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeSubmissionData*>(&to_msg);
  auto& from = static_cast<const PasswordChangeSubmissionData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PasswordChangeSubmissionData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_error_case()->MergeFrom(from._internal_error_case());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_submission_outcome_message(from._internal_submission_outcome_message());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.submission_outcome_ = from._impl_.submission_outcome_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IsLoggedInResponseData_class_data_ =
    IsLoggedInResponseData::InternalGenerateClassData_(IsLoggedInResponseData_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool is_logged_in = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_is_logged_in(), target);
  }

  // .optimization_guide.proto.IsLoggedInResponseData.ErrorCase error_case = 2 [default = NO_ERROR, features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_error_case(), target);
  }

  // string thought = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_thought();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.IsLoggedInResponseData.thought");
    target = stream->WriteStringMaybeAliased(3, _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.IsLoggedInResponseData)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000005U)) {
    // string thought = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_thought());
    }
    // .optimization_guide.proto.IsLoggedInResponseData.ErrorCase error_case = 2 [default = NO_ERROR, features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_error_case());
    }
  }
  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 IsLoggedInResponseData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IsLoggedInResponseData*>(&to_msg);
  auto& from = static_cast<const IsLoggedInResponseData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.IsLoggedInResponseData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_thought(from._internal_thought());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.is_logged_in_ = from._impl_.is_logged_in_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.error_case_ = from._impl_.error_case_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IsLoggedInResponseData::InternalSwap(IsLoggedInResponseData* 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_.thought_, &other->_impl_.thought_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.error_case_)
      + sizeof(IsLoggedInResponseData::_impl_.error_case_)
      - PROTOBUF_FIELD_OFFSET(IsLoggedInResponseData, _impl_.is_logged_in_)>(
          reinterpret_cast<char*>(&_impl_.is_logged_in_),
          reinterpret_cast<char*>(&other->_impl_.is_logged_in_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite OpenFormResponseData_class_data_ =
    OpenFormResponseData::InternalGenerateClassData_(OpenFormResponseData_globals_._default);

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

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

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

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

  // string thought = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_thought();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.OpenFormResponseData.thought");
    target = stream->WriteStringMaybeAliased(3, _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.OpenFormResponseData)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // string thought = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_thought());
    }
    // int32 dom_node_id_to_click = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_dom_node_id_to_click());
    }
    // .optimization_guide.proto.OpenFormResponseData.PageType page_type = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_page_type());
    }
  }
  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 OpenFormResponseData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<OpenFormResponseData*>(&to_msg);
  auto& from = static_cast<const OpenFormResponseData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.OpenFormResponseData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_thought(from._internal_thought());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.dom_node_id_to_click_ = from._impl_.dom_node_id_to_click_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.page_type_ = from._impl_.page_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void OpenFormResponseData::InternalSwap(OpenFormResponseData* 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_.thought_, &other->_impl_.thought_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.page_type_)
      + sizeof(OpenFormResponseData::_impl_.page_type_)
      - PROTOBUF_FIELD_OFFSET(OpenFormResponseData, _impl_.dom_node_id_to_click_)>(
          reinterpret_cast<char*>(&_impl_.dom_node_id_to_click_),
          reinterpret_cast<char*>(&other->_impl_.dom_node_id_to_click_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SubmitFormResponseData_class_data_ =
    SubmitFormResponseData::InternalGenerateClassData_(SubmitFormResponseData_globals_._default);

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

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

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

  // bool is_user_intervention_needed = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_is_user_intervention_needed(), target);
  }

  // string thought = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_thought();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SubmitFormResponseData.thought");
    target = stream->WriteStringMaybeAliased(3, _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.SubmitFormResponseData)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string thought = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_thought());
    }
    // int32 dom_node_id_to_click = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_dom_node_id_to_click());
    }
  }
  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 SubmitFormResponseData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SubmitFormResponseData*>(&to_msg);
  auto& from = static_cast<const SubmitFormResponseData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SubmitFormResponseData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_thought(from._internal_thought());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.dom_node_id_to_click_ = from._impl_.dom_node_id_to_click_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.is_user_intervention_needed_ = from._impl_.is_user_intervention_needed_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SubmitFormResponseData::InternalSwap(SubmitFormResponseData* 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_.thought_, &other->_impl_.thought_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.is_user_intervention_needed_)
      + sizeof(SubmitFormResponseData::_impl_.is_user_intervention_needed_)
      - PROTOBUF_FIELD_OFFSET(SubmitFormResponseData, _impl_.dom_node_id_to_click_)>(
          reinterpret_cast<char*>(&_impl_.dom_node_id_to_click_),
          reinterpret_cast<char*>(&other->_impl_.dom_node_id_to_click_));
}

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

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

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

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

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

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.PasswordChangeQuality.StepQuality.SubmissionStatus status = 1 [default = UNKNOWN_STATUS, features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_status(), target);
  }

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

  // int64 retry_count = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_retry_count(), target);
  }

  // bool classification_overridden_by_user = 4 [default = false, features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_classification_overridden_by_user(), target);
  }

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000005fU)) {
    // .optimization_guide.proto.PasswordChangeRequest request = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.PasswordChangeResponse response = 6 [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 = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
    // int64 request_latency_ms = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_request_latency_ms());
    }
    // .optimization_guide.proto.PasswordChangeQuality.StepQuality.SubmissionStatus status = 1 [default = UNKNOWN_STATUS, features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
    }
    // int64 retry_count = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_retry_count());
    }
  }
  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 PasswordChangeQuality_StepQuality::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeQuality_StepQuality*>(&to_msg);
  auto& from = static_cast<const PasswordChangeQuality_StepQuality&>(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.PasswordChangeQuality.StepQuality)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      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_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.request_latency_ms_ = from._impl_.request_latency_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.status_ = from._impl_.status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.classification_overridden_by_user_ = from._impl_.classification_overridden_by_user_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.retry_count_ = from._impl_.retry_count_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

PasswordChangeQuality_FormData_FieldData::PasswordChangeQuality_FormData_FieldData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PasswordChangeQuality_FormData_FieldData_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.PasswordChangeQuality.FormData.FieldData)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeQuality_FormData_FieldData::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::PasswordChangeQuality_FormData_FieldData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        id_(arena, from.id_),
        name_(arena, from.name_),
        label_(arena, from.label_),
        html_type_(arena, from.html_type_),
        placeholder_(arena, from.placeholder_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PasswordChangeQuality.FormData.FieldData)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeQuality_FormData_FieldData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        id_(arena),
        name_(arena),
        label_(arena),
        html_type_(arena),
        placeholder_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeQuality_FormData_FieldData_class_data_ =
    PasswordChangeQuality_FormData_FieldData::InternalGenerateClassData_(PasswordChangeQuality_FormData_FieldData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeQuality_FormData_FieldData::GetClassData() const {
  return PasswordChangeQuality_FormData_FieldData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeQuality_FormData_FieldData::GetClassData() const {
  return PasswordChangeQuality_FormData_FieldData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PasswordChangeQuality_FormData_FieldData::ParseTableT_
    PasswordChangeQuality_FormData_FieldData::_table_ =
        PasswordChangeQuality_FormData_FieldData::InternalGenerateParseTable_(PasswordChangeQuality_FormData_FieldData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PasswordChangeQuality_FormData_FieldData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PasswordChangeQuality.FormData.FieldData)
  ::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_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.html_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.placeholder_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
    ::memset(&_impl_.signature_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.field_type_) -
        reinterpret_cast<char*>(&_impl_.signature_)) + sizeof(_impl_.field_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

  // .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData.FieldType field_type = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_field_type(), 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.PasswordChangeQuality.FormData.FieldData)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // string id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // string name = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // string label = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_label());
    }
    // string html_type = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_html_type());
    }
    // string placeholder = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder());
    }
    // int64 signature = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_signature());
    }
    // .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData.FieldType field_type = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_field_type());
    }
  }
  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 PasswordChangeQuality_FormData_FieldData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordChangeQuality_FormData_FieldData*>(&to_msg);
  auto& from = static_cast<const PasswordChangeQuality_FormData_FieldData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PasswordChangeQuality.FormData.FieldData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_label(from._internal_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_html_type(from._internal_html_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_placeholder(from._internal_placeholder());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.signature_ = from._impl_.signature_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.field_type_ = from._impl_.field_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PasswordChangeQuality_FormData_FieldData::InternalSwap(PasswordChangeQuality_FormData_FieldData* 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_.id_, &other->_impl_.id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.label_, &other->_impl_.label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.html_type_, &other->_impl_.html_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_, &other->_impl_.placeholder_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.field_type_)
      + sizeof(PasswordChangeQuality_FormData_FieldData::_impl_.field_type_)
      - PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData_FieldData, _impl_.signature_)>(
          reinterpret_cast<char*>(&_impl_.signature_),
          reinterpret_cast<char*>(&other->_impl_.signature_));
}

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

PasswordChangeQuality_FormData::PasswordChangeQuality_FormData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PasswordChangeQuality_FormData_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.PasswordChangeQuality.FormData)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeQuality_FormData::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::PasswordChangeQuality_FormData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        field_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::PasswordChangeQuality_FormData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.field_data_)>()
          , from.field_data_
        }
        ,
        button_text_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::PasswordChangeQuality_FormData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.button_text_)>()
          , from.button_text_
        }
        ,
        form_id_(arena, from.form_id_),
        form_name_(arena, from.form_name_),
        url_(arena, from.url_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PasswordChangeQuality.FormData)
}
PROTOBUF_NDEBUG_INLINE PasswordChangeQuality_FormData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        field_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeQuality_FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.field_data_)>()
         }
        ,
        button_text_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PasswordChangeQuality_FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PasswordChangeQuality_FormData, _impl_.button_text_)>()
         }
        ,
        form_id_(arena),
        form_name_(arena),
        url_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeQuality_FormData_class_data_ =
    PasswordChangeQuality_FormData::InternalGenerateClassData_(PasswordChangeQuality_FormData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeQuality_FormData::GetClassData() const {
  return PasswordChangeQuality_FormData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordChangeQuality_FormData::GetClassData() const {
  return PasswordChangeQuality_FormData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PasswordChangeQuality_FormData::ParseTableT_
    PasswordChangeQuality_FormData::_table_ =
        PasswordChangeQuality_FormData::InternalGenerateParseTable_(PasswordChangeQuality_FormData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PasswordChangeQuality_FormData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PasswordChangeQuality.FormData)
  ::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_.field_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.button_text_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.form_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.form_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000060U)) {
    ::memset(&_impl_.form_signature_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.discard_reason_) -
        reinterpret_cast<char*>(&_impl_.form_signature_)) + sizeof(_impl_.discard_reason_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // uint64 form_signature = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_form_signature(), target);
  }

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

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

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

  // repeated string button_text = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_button_text_size(); i < n; ++i) {
      const auto& s = this_._internal_button_text().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PasswordChangeQuality.FormData.button_text");
      target = stream->WriteString(6, s, target);
    }
  }

  // .optimization_guide.proto.PasswordChangeQuality.FormData.DiscardReason discard_reason = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_discard_reason(), target);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // repeated .optimization_guide.proto.PasswordChangeQuality.FormData.FieldData field_data = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_field_data_size();
      for (const auto& msg : this_._internal_field_data()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string button_text = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_button_text().size());
      for (int i = 0, n = this_._internal_button_text().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_button_text().Get(i));
      }
    }
    // string form_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_form_id());
    }
    // string form_name = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_form_name());
    }
    // string url = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // uint64 form_signature = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_form_signature());
    }
    // .optimization_guide.proto.PasswordChangeQuality.FormData.DiscardReason discard_reason = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_discard_reason());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_field_data()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_field_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_button_text()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_button_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_form_id(from._internal_form_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_form_name(from._internal_form_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.form_signature_ = from._impl_.form_signature_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.discard_reason_ = from._impl_.discard_reason_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PasswordChangeQuality_FormData::InternalSwap(PasswordChangeQuality_FormData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.field_data_.InternalSwap(&other->_impl_.field_data_);
  _impl_.button_text_.InternalSwap(&other->_impl_.button_text_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.form_id_, &other->_impl_.form_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.form_name_, &other->_impl_.form_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.discard_reason_)
      + sizeof(PasswordChangeQuality_FormData::_impl_.discard_reason_)
      - PROTOBUF_FIELD_OFFSET(PasswordChangeQuality_FormData, _impl_.form_signature_)>(
          reinterpret_cast<char*>(&_impl_.form_signature_),
          reinterpret_cast<char*>(&other->_impl_.form_signature_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PasswordChangeQuality* 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_.open_form_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.open_form_)
                : nullptr;
  _impl_.submit_form_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.submit_form_)
                : nullptr;
  _impl_.verify_submission_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.verify_submission_)
                : nullptr;
  _impl_.logged_in_check_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.logged_in_check_)
                : nullptr;
  _impl_.login_form_data_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.login_form_data_)
                : nullptr;
  _impl_.change_password_form_data_ = (CheckHasBit(cached_has_bits, 0x00000200U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.change_password_form_data_)
                : nullptr;
  _impl_.password_requirements_spec_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.password_requirements_spec_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, request_latency_ms_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, request_latency_ms_),
           offsetof(Impl_, total_flow_time_ms_) -
               offsetof(Impl_, request_latency_ms_) +
               sizeof(Impl_::total_flow_time_ms_));

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

inline void PasswordChangeQuality::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, open_form_),
           0,
           offsetof(Impl_, total_flow_time_ms_) -
               offsetof(Impl_, open_form_) +
               sizeof(Impl_::total_flow_time_ms_));
}
PasswordChangeQuality::~PasswordChangeQuality() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PasswordChangeQuality)
  SharedDtor(*this);
}
inline void PasswordChangeQuality::SharedDtor(MessageLite& self) {
  PasswordChangeQuality& this_ = static_cast<PasswordChangeQuality&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.domain_.Destroy();
  this_._impl_.location_.Destroy();
  this_._impl_.language_.Destroy();
  delete this_._impl_.open_form_;
  delete this_._impl_.submit_form_;
  delete this_._impl_.verify_submission_;
  delete this_._impl_.logged_in_check_;
  delete this_._impl_.login_form_data_;
  delete this_._impl_.change_password_form_data_;
  delete this_._impl_.password_requirements_spec_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordChangeQuality_class_data_ =
    PasswordChangeQuality::InternalGenerateClassData_(PasswordChangeQuality_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.discarded_forms_data_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.domain_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.location_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.language_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.open_form_ != nullptr);
      _impl_.open_form_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.submit_form_ != nullptr);
      _impl_.submit_form_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.verify_submission_ != nullptr);
      _impl_.verify_submission_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.logged_in_check_ != nullptr);
      _impl_.logged_in_check_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(_impl_.login_form_data_ != nullptr);
      _impl_.login_form_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(_impl_.change_password_form_data_ != nullptr);
      _impl_.change_password_form_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(_impl_.password_requirements_spec_ != nullptr);
      _impl_.password_requirements_spec_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000f800U)) {
    ::memset(&_impl_.request_latency_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.total_flow_time_ms_) -
        reinterpret_cast<char*>(&_impl_.request_latency_ms_)) + sizeof(_impl_.total_flow_time_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.FinalModelStatus final_model_status = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_final_model_status(), target);
  }

  // int64 request_latency_ms = 2 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_request_latency_ms(), target);
  }

  // .optimization_guide.proto.PasswordChangeQuality.StepQuality open_form = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.open_form_, this_._impl_.open_form_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordChangeQuality.StepQuality submit_form = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.submit_form_, this_._impl_.submit_form_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordChangeQuality.StepQuality verify_submission = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.verify_submission_, this_._impl_.verify_submission_->GetCachedSize(), target,
        stream);
  }

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

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

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

  // bool is_retry = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        9, this_._internal_is_retry(), target);
  }

  // .optimization_guide.proto.PasswordChangeQuality.StepQuality logged_in_check = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, *this_._impl_.logged_in_check_, this_._impl_.logged_in_check_->GetCachedSize(), target,
        stream);
  }

  // int64 total_flow_time_ms = 11 [features = {
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<11>(
            stream, this_._internal_total_flow_time_ms(), target);
  }

  // .optimization_guide.proto.PasswordChangeQuality.FormData login_form_data = 12 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        12, *this_._impl_.login_form_data_, this_._impl_.login_form_data_->GetCachedSize(), target,
        stream);
  }

  // bool was_password_stored = 13 [features = {
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this_._internal_was_password_stored(), target);
  }

  // .optimization_guide.proto.PasswordChangeQuality.FormData change_password_form_data = 14 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        14, *this_._impl_.change_password_form_data_, this_._impl_.change_password_form_data_->GetCachedSize(), target,
        stream);
  }

  // repeated .optimization_guide.proto.PasswordChangeQuality.FormData discarded_forms_data = 15;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_discarded_forms_data_size());
         i < n; i++) {
      const auto& repfield = this_._internal_discarded_forms_data().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              15, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.PasswordRequirementsSpec password_requirements_spec = 16 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        16, *this_._impl_.password_requirements_spec_, this_._impl_.password_requirements_spec_->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.PasswordChangeQuality)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00006000U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .optimization_guide.proto.PasswordChangeQuality.FormData discarded_forms_data = 15;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_discarded_forms_data_size();
      for (const auto& msg : this_._internal_discarded_forms_data()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string domain = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // string location = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_location());
    }
    // string language = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_language());
    }
    // .optimization_guide.proto.PasswordChangeQuality.StepQuality open_form = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.open_form_);
    }
    // .optimization_guide.proto.PasswordChangeQuality.StepQuality submit_form = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.submit_form_);
    }
    // .optimization_guide.proto.PasswordChangeQuality.StepQuality verify_submission = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.verify_submission_);
    }
    // .optimization_guide.proto.PasswordChangeQuality.StepQuality logged_in_check = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.logged_in_check_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00009f00U)) {
    // .optimization_guide.proto.PasswordChangeQuality.FormData login_form_data = 12 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.login_form_data_);
    }
    // .optimization_guide.proto.PasswordChangeQuality.FormData change_password_form_data = 14 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.change_password_form_data_);
    }
    // .optimization_guide.proto.PasswordRequirementsSpec password_requirements_spec = 16 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.password_requirements_spec_);
    }
    // int64 request_latency_ms = 2 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_request_latency_ms());
    }
    // .optimization_guide.proto.FinalModelStatus final_model_status = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_final_model_status());
    }
    // int64 total_flow_time_ms = 11 [features = {
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_total_flow_time_ms());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_discarded_forms_data()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_discarded_forms_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_location(from._internal_location());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_language(from._internal_language());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.open_form_ != nullptr);
      if (_this->_impl_.open_form_ == nullptr) {
        _this->_impl_.open_form_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.open_form_);
      } else {
        _this->_impl_.open_form_->MergeFrom(*from._impl_.open_form_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.submit_form_ != nullptr);
      if (_this->_impl_.submit_form_ == nullptr) {
        _this->_impl_.submit_form_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.submit_form_);
      } else {
        _this->_impl_.submit_form_->MergeFrom(*from._impl_.submit_form_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.verify_submission_ != nullptr);
      if (_this->_impl_.verify_submission_ == nullptr) {
        _this->_impl_.verify_submission_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.verify_submission_);
      } else {
        _this->_impl_.verify_submission_->MergeFrom(*from._impl_.verify_submission_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.logged_in_check_ != nullptr);
      if (_this->_impl_.logged_in_check_ == nullptr) {
        _this->_impl_.logged_in_check_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.logged_in_check_);
      } else {
        _this->_impl_.logged_in_check_->MergeFrom(*from._impl_.logged_in_check_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.login_form_data_ != nullptr);
      if (_this->_impl_.login_form_data_ == nullptr) {
        _this->_impl_.login_form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.login_form_data_);
      } else {
        _this->_impl_.login_form_data_->MergeFrom(*from._impl_.login_form_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(from._impl_.change_password_form_data_ != nullptr);
      if (_this->_impl_.change_password_form_data_ == nullptr) {
        _this->_impl_.change_password_form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.change_password_form_data_);
      } else {
        _this->_impl_.change_password_form_data_->MergeFrom(*from._impl_.change_password_form_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.password_requirements_spec_ != nullptr);
      if (_this->_impl_.password_requirements_spec_ == nullptr) {
        _this->_impl_.password_requirements_spec_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.password_requirements_spec_);
      } else {
        _this->_impl_.password_requirements_spec_->MergeFrom(*from._impl_.password_requirements_spec_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.request_latency_ms_ = from._impl_.request_latency_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.final_model_status_ = from._impl_.final_model_status_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.is_retry_ = from._impl_.is_retry_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.was_password_stored_ = from._impl_.was_password_stored_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.total_flow_time_ms_ = from._impl_.total_flow_time_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PasswordChangeQuality::InternalSwap(PasswordChangeQuality* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.discarded_forms_data_.InternalSwap(&other->_impl_.discarded_forms_data_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.domain_, &other->_impl_.domain_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.location_, &other->_impl_.location_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.language_, &other->_impl_.language_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.total_flow_time_ms_)
      + sizeof(PasswordChangeQuality::_impl_.total_flow_time_ms_)
      - PROTOBUF_FIELD_OFFSET(PasswordChangeQuality, _impl_.open_form_)>(
          reinterpret_cast<char*>(&_impl_.open_form_),
          reinterpret_cast<char*>(&other->_impl_.open_form_));
}

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordRequirementsSpec_CharacterClass_class_data_ =
    PasswordRequirementsSpec_CharacterClass::InternalGenerateClassData_(PasswordRequirementsSpec_CharacterClass_globals_._default);

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

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

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

  // uint32 min = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_min(), target);
  }

  // uint32 max = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_max(), 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.PasswordRequirementsSpec.CharacterClass)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // string character_set = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_character_set());
    }
    // uint32 min = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_min());
    }
    // uint32 max = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_max());
    }
  }
  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 PasswordRequirementsSpec_CharacterClass::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordRequirementsSpec_CharacterClass*>(&to_msg);
  auto& from = static_cast<const PasswordRequirementsSpec_CharacterClass&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PasswordRequirementsSpec.CharacterClass)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_character_set(from._internal_character_set());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.min_ = from._impl_.min_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.max_ = from._impl_.max_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PasswordRequirementsSpec_CharacterClass::InternalSwap(PasswordRequirementsSpec_CharacterClass* 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_.character_set_, &other->_impl_.character_set_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.max_)
      + sizeof(PasswordRequirementsSpec_CharacterClass::_impl_.max_)
      - PROTOBUF_FIELD_OFFSET(PasswordRequirementsSpec_CharacterClass, _impl_.min_)>(
          reinterpret_cast<char*>(&_impl_.min_),
          reinterpret_cast<char*>(&other->_impl_.min_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PasswordRequirementsSpec* 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_.lower_case_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.lower_case_)
                : nullptr;
  _impl_.upper_case_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.upper_case_)
                : nullptr;
  _impl_.alphabetic_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.alphabetic_)
                : nullptr;
  _impl_.numeric_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.numeric_)
                : nullptr;
  _impl_.symbols_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.symbols_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, priority_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, priority_),
           offsetof(Impl_, max_length_) -
               offsetof(Impl_, priority_) +
               sizeof(Impl_::max_length_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PasswordRequirementsSpec_class_data_ =
    PasswordRequirementsSpec::InternalGenerateClassData_(PasswordRequirementsSpec_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordRequirementsSpec::GetClassData() const {
  return PasswordRequirementsSpec_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PasswordRequirementsSpec::GetClassData() const {
  return PasswordRequirementsSpec_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PasswordRequirementsSpec::ParseTableT_
    PasswordRequirementsSpec::_table_ =
        PasswordRequirementsSpec::InternalGenerateParseTable_(PasswordRequirementsSpec_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PasswordRequirementsSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PasswordRequirementsSpec)
  ::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)) {
      ABSL_DCHECK(_impl_.lower_case_ != nullptr);
      _impl_.lower_case_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.upper_case_ != nullptr);
      _impl_.upper_case_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.alphabetic_ != nullptr);
      _impl_.alphabetic_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.numeric_ != nullptr);
      _impl_.numeric_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.symbols_ != nullptr);
      _impl_.symbols_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.priority_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.min_length_) -
        reinterpret_cast<char*>(&_impl_.priority_)) + sizeof(_impl_.min_length_));
  }
  _impl_.max_length_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 priority = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_priority(), target);
  }

  // uint32 spec_version = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_spec_version(), target);
  }

  // uint32 min_length = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_min_length(), target);
  }

  // uint32 max_length = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_max_length(), target);
  }

  // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass lower_case = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.lower_case_, this_._impl_.lower_case_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass upper_case = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.upper_case_, this_._impl_.upper_case_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass alphabetic = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.alphabetic_, this_._impl_.alphabetic_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass numeric = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.numeric_, this_._impl_.numeric_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass symbols = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, *this_._impl_.symbols_, this_._impl_.symbols_->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.PasswordRequirementsSpec)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PasswordRequirementsSpec::ByteSizeLong(const MessageLite& base) {
  const PasswordRequirementsSpec& this_ = static_cast<const PasswordRequirementsSpec&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PasswordRequirementsSpec::ByteSizeLong() const {
  const PasswordRequirementsSpec& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PasswordRequirementsSpec)
  ::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, 0x000000ffU)) {
    // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass lower_case = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.lower_case_);
    }
    // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass upper_case = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.upper_case_);
    }
    // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass alphabetic = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.alphabetic_);
    }
    // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass numeric = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.numeric_);
    }
    // .optimization_guide.proto.PasswordRequirementsSpec.CharacterClass symbols = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.symbols_);
    }
    // uint32 priority = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_priority());
    }
    // uint32 spec_version = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_spec_version());
    }
    // uint32 min_length = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_min_length());
    }
  }
   {
    // uint32 max_length = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_max_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 PasswordRequirementsSpec::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PasswordRequirementsSpec*>(&to_msg);
  auto& from = static_cast<const PasswordRequirementsSpec&>(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.PasswordRequirementsSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.lower_case_ != nullptr);
      if (_this->_impl_.lower_case_ == nullptr) {
        _this->_impl_.lower_case_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.lower_case_);
      } else {
        _this->_impl_.lower_case_->MergeFrom(*from._impl_.lower_case_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.upper_case_ != nullptr);
      if (_this->_impl_.upper_case_ == nullptr) {
        _this->_impl_.upper_case_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.upper_case_);
      } else {
        _this->_impl_.upper_case_->MergeFrom(*from._impl_.upper_case_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.alphabetic_ != nullptr);
      if (_this->_impl_.alphabetic_ == nullptr) {
        _this->_impl_.alphabetic_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.alphabetic_);
      } else {
        _this->_impl_.alphabetic_->MergeFrom(*from._impl_.alphabetic_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.numeric_ != nullptr);
      if (_this->_impl_.numeric_ == nullptr) {
        _this->_impl_.numeric_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.numeric_);
      } else {
        _this->_impl_.numeric_->MergeFrom(*from._impl_.numeric_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.symbols_ != nullptr);
      if (_this->_impl_.symbols_ == nullptr) {
        _this->_impl_.symbols_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.symbols_);
      } else {
        _this->_impl_.symbols_->MergeFrom(*from._impl_.symbols_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.priority_ = from._impl_.priority_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.spec_version_ = from._impl_.spec_version_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.min_length_ = from._impl_.min_length_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.max_length_ = from._impl_.max_length_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite LoginAttemptOutcome_class_data_ =
    LoginAttemptOutcome::InternalGenerateClassData_(LoginAttemptOutcome_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool success = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_success(), target);
  }

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

  // string domain = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_domain();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.LoginAttemptOutcome.domain");
    target = stream->WriteStringMaybeAliased(3, _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.LoginAttemptOutcome)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000005U)) {
    // string domain = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // .optimization_guide.proto.LoginAttemptOutcome.PasswordType password_type = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_password_type());
    }
  }
  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 LoginAttemptOutcome::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LoginAttemptOutcome*>(&to_msg);
  auto& from = static_cast<const LoginAttemptOutcome&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.LoginAttemptOutcome)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.success_ = from._impl_.success_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.password_type_ = from._impl_.password_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LoginAttemptOutcome::InternalSwap(LoginAttemptOutcome* 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_.domain_, &other->_impl_.domain_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.password_type_)
      + sizeof(LoginAttemptOutcome::_impl_.password_type_)
      - PROTOBUF_FIELD_OFFSET(LoginAttemptOutcome, _impl_.success_)>(
          reinterpret_cast<char*>(&_impl_.success_),
          reinterpret_cast<char*>(&other->_impl_.success_));
}

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