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

#include "suggest_template_info.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 omnibox {
class SuggestTemplateInfo_Image::_Internal {
 public:
  using HasBits = decltype(::std::declval<SuggestTemplateInfo_Image>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_._has_bits_);
};

constexpr SuggestTemplateInfo_Image::ParseTableT_ SuggestTemplateInfo_Image::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _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
      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<::omnibox::SuggestTemplateInfo_Image>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string url = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.url_)}},
      // optional string dominant_color = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.dominant_color_)}},
      // optional .omnibox.SuggestTemplateInfo.Image.ImageType type = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 2,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string url = 1;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string dominant_color = 2;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.dominant_color_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .omnibox.SuggestTemplateInfo.Image.ImageType type = 3;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_.type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr SuggestTemplateInfo_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dominant_color_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_{static_cast< ::omnibox::SuggestTemplateInfo_Image_ImageType >(0)} {}

template <typename>
constexpr SuggestTemplateInfo_Image::SuggestTemplateInfo_Image(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SuggestTemplateInfo_Image::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SuggestTemplateInfo_Image(arena);
}
constexpr auto SuggestTemplateInfo_Image::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SuggestTemplateInfo_Image), alignof(SuggestTemplateInfo_Image));
}
constexpr auto SuggestTemplateInfo_Image::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SuggestTemplateInfo_Image::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SuggestTemplateInfo_Image>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SuggestTemplateInfo_Image::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SuggestTemplateInfo_Image>(), &SuggestTemplateInfo_Image::ByteSizeLong,
              &SuggestTemplateInfo_Image::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_Image, _impl_._cached_size_),
          true,
      },
      "omnibox.SuggestTemplateInfo.Image",
  };
}
struct SuggestTemplateInfo_ImageGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SuggestTemplateInfo_ImageGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SuggestTemplateInfo_Image_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SuggestTemplateInfo_Image::InternalGenerateClassData_(
            _default, &SuggestTemplateInfo_Image_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SuggestTemplateInfo_Image>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SuggestTemplateInfo_ImageGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SuggestTemplateInfo_Image _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SuggestTemplateInfo_Image>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_ImageGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SuggestTemplateInfo_FuseboxAction::ParseTableT_ SuggestTemplateInfo_FuseboxAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      6,  // 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<::omnibox::SuggestTemplateInfo_FuseboxAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .omnibox.ToolMode preselected_tool = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 11,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_tool_)}},
      // optional .omnibox.SuggestInventory preferred_inventory = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 15,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preferred_inventory_)}},
      // optional .omnibox.ModelMode preselected_model = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 7,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_model_)}},
      // optional .omnibox.InputSource preselected_input_source = 4;
      {::_pbi::TcParser::FastEr0S1,
       {32, 3, 7,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_input_source_)}},
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction.QueryActionOverride query_action_override = 5;
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 2,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.query_action_override_)}},
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction.SearchboxOverride searchbox_override = 6;
      {::_pbi::TcParser::FastEr0S1,
       {48, 5, 2,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.searchbox_override_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .omnibox.ToolMode preselected_tool = 1;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_tool_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.SuggestInventory preferred_inventory = 2;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preferred_inventory_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.ModelMode preselected_model = 3;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_model_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.InputSource preselected_input_source = 4;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.preselected_input_source_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction.QueryActionOverride query_action_override = 5;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.query_action_override_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction.SearchboxOverride searchbox_override = 6;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_FuseboxAction, _impl_.searchbox_override_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 11},
        {0, 15},
        {0, 7},
        {0, 7},
        {0, 2},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr SuggestTemplateInfo_FuseboxAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        preselected_tool_{static_cast< ::omnibox::ToolMode >(0)},
        preferred_inventory_{static_cast< ::omnibox::SuggestInventory >(0)},
        preselected_model_{static_cast< ::omnibox::ModelMode >(0)},
        preselected_input_source_{static_cast< ::omnibox::InputSource >(0)},
        query_action_override_{static_cast< ::omnibox::SuggestTemplateInfo_FuseboxAction_QueryActionOverride >(0)},
        searchbox_override_{static_cast< ::omnibox::SuggestTemplateInfo_FuseboxAction_SearchboxOverride >(0)} {}

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

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

constexpr SuggestTemplateInfo_TemplateAction::ParseTableT_ SuggestTemplateInfo_TemplateAction::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // 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<::omnibox::SuggestTemplateInfo_TemplateAction>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string action_uri = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.action_uri_)}},
      // optional .omnibox.metrics.ActionInfo.ActionType logs_action_type = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 3, 12,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.logs_action_type_)}},
      // optional .omnibox.SuggestTemplateInfo.TemplateAction.ActionType action_type = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 4, 1,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.action_type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string display_text = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.display_text_)}},
      // optional string query = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.query_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string action_uri = 1;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.action_uri_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .omnibox.metrics.ActionInfo.ActionType logs_action_type = 2;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.logs_action_type_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.SuggestTemplateInfo.TemplateAction.ActionType action_type = 3;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.action_type_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // map<string, string> search_parameters = 4;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.search_parameters_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
      // optional string display_text = 5;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.display_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string query = 6;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.query_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {0, 12},
        {::_pbi::FieldAuxEnumData{}, ::omnibox::SuggestTemplateInfo_TemplateAction_ActionType_internal_data_},
        {::_pbi::TcParser::GetMapAuxInfo(
            0, 0, 9, 9, 1)},
    }},
    {{
    }},
  };
}


inline constexpr SuggestTemplateInfo_TemplateAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        action_uri_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        display_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        query_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        logs_action_type_{static_cast< ::omnibox::metrics::ActionInfo_ActionType >(0)},
        action_type_{static_cast< ::omnibox::SuggestTemplateInfo_TemplateAction_ActionType >(2)},
        search_parameters_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::omnibox::SuggestTemplateInfo_TemplateAction,
            PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo_TemplateAction, _impl_.search_parameters_)>()
         }
     {}

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

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

constexpr SuggestTemplateInfo::ParseTableT_ SuggestTemplateInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      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<::omnibox::SuggestTemplateInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction fusebox_action = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 4, 4,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.fusebox_action_)}},
      // optional .omnibox.SuggestTemplateInfo.StandardSuggestStyle style = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 5, 3,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.style_)}},
      // optional .omnibox.SuggestTemplateInfo.IconType type_icon = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 6, 17,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.type_icon_)}},
      // optional .omnibox.FormattedString primary_text = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.primary_text_)}},
      // optional .omnibox.FormattedString secondary_text = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 1,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.secondary_text_)}},
      // optional .omnibox.SuggestTemplateInfo.Image image = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 3, 2,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.image_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .omnibox.SuggestTemplateInfo.TemplateAction action_suggestions = 7;
      {::_pbi::TcParser::FastMtR1,
       {58, 0, 3,
        PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.action_suggestions_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .omnibox.SuggestTemplateInfo.StandardSuggestStyle style = 1;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.style_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.SuggestTemplateInfo.IconType type_icon = 2;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.type_icon_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .omnibox.FormattedString primary_text = 3;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.primary_text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .omnibox.FormattedString secondary_text = 4;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.secondary_text_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .omnibox.SuggestTemplateInfo.Image image = 5;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.image_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // map<string, string> default_search_parameters = 6;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.default_search_parameters_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMap)},
      // repeated .omnibox.SuggestTemplateInfo.TemplateAction action_suggestions = 7;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.action_suggestions_), _Internal::kHasBitsOffset + 0, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .omnibox.SuggestTemplateInfo.FuseboxAction fusebox_action = 8;
      {PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.fusebox_action_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::omnibox::FormattedString>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::omnibox::FormattedString_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::omnibox::FormattedString>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::omnibox::FormattedString_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::omnibox::SuggestTemplateInfo_Image>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::omnibox::SuggestTemplateInfo_Image_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::omnibox::SuggestTemplateInfo_TemplateAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::omnibox::SuggestTemplateInfo_TemplateAction_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::omnibox::SuggestTemplateInfo_FuseboxAction>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::omnibox::SuggestTemplateInfo_FuseboxAction_globals_},
        #endif
        {0, 3},
        {0, 17},
        {::_pbi::TcParser::GetMapAuxInfo(
            0, 0, 9, 9, 1)},
    }},
    {{
    }},
  };
}


inline constexpr SuggestTemplateInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        action_suggestions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::omnibox::SuggestTemplateInfo,
            PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo, _impl_.action_suggestions_)>()
         }
        ,
        primary_text_{nullptr},
        secondary_text_{nullptr},
        image_{nullptr},
        fusebox_action_{nullptr},
        style_{static_cast< ::omnibox::SuggestTemplateInfo_StandardSuggestStyle >(0)},
        type_icon_{static_cast< ::omnibox::SuggestTemplateInfo_IconType >(0)},
        default_search_parameters_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::omnibox::SuggestTemplateInfo,
            PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo, _impl_.default_search_parameters_)>()
         }
     {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST SuggestTemplateInfoGlobalsTypeInternal SuggestTemplateInfo_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* SuggestTemplateInfo_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return SuggestTemplateInfo_globals_.GetClassData();
#else
  return SuggestTemplateInfo_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace omnibox
namespace omnibox {
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_Image_ImageType_internal_data_[] = {
    196608u, 0u, };
static const char SuggestTemplateInfo_Image_ImageType_names[] = {
    "TYPE_LARGE"
    "TYPE_SMALL"
    "TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_Image_ImageType_entries[] = {
    {{&SuggestTemplateInfo_Image_ImageType_names[0], 10}, 1},
    {{&SuggestTemplateInfo_Image_ImageType_names[10], 10}, 2},
    {{&SuggestTemplateInfo_Image_ImageType_names[20], 12}, 0},
};

static const int SuggestTemplateInfo_Image_ImageType_entries_by_number[] = {
    2,  // 0 -> TYPE_UNKNOWN
    0,  // 1 -> TYPE_LARGE
    1,  // 2 -> TYPE_SMALL
};

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

const ::std::string& SuggestTemplateInfo_Image_ImageType_Name(SuggestTemplateInfo_Image_ImageType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_Image_ImageType_entries, SuggestTemplateInfo_Image_ImageType_entries_by_number, 3,
      SuggestTemplateInfo_Image_ImageType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_Image_ImageType_entries,
                                  SuggestTemplateInfo_Image_ImageType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_Image_ImageType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_TemplateAction_ActionType_internal_data_[] = {
    131074u, 196640u, 65536u, 1001u, 1000u, 1002u, };
static const char SuggestTemplateInfo_TemplateAction_ActionType_names[] = {
    "CALL"
    "CHROME_AIM"
    "CHROME_LENS"
    "CHROME_TAB_SWITCH"
    "DIRECTIONS"
    "REVIEWS"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_TemplateAction_ActionType_entries[] = {
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[0], 4}, 3},
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[4], 10}, 1000},
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[14], 11}, 1001},
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[25], 17}, 1002},
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[42], 10}, 2},
    {{&SuggestTemplateInfo_TemplateAction_ActionType_names[52], 7}, 20},
};

static const int SuggestTemplateInfo_TemplateAction_ActionType_entries_by_number[] = {
    4,  // 2 -> DIRECTIONS
    0,  // 3 -> CALL
    5,  // 20 -> REVIEWS
    1,  // 1000 -> CHROME_AIM
    2,  // 1001 -> CHROME_LENS
    3,  // 1002 -> CHROME_TAB_SWITCH
};

bool SuggestTemplateInfo_TemplateAction_ActionType_Parse(::absl::string_view name,
                                  SuggestTemplateInfo_TemplateAction_ActionType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SuggestTemplateInfo_TemplateAction_ActionType_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<SuggestTemplateInfo_TemplateAction_ActionType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SuggestTemplateInfo_TemplateAction_ActionType_strings[6] = {};

const ::std::string& SuggestTemplateInfo_TemplateAction_ActionType_Name(SuggestTemplateInfo_TemplateAction_ActionType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_TemplateAction_ActionType_entries, SuggestTemplateInfo_TemplateAction_ActionType_entries_by_number, 6,
      SuggestTemplateInfo_TemplateAction_ActionType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_TemplateAction_ActionType_entries,
                                  SuggestTemplateInfo_TemplateAction_ActionType_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_TemplateAction_ActionType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_FuseboxAction_QueryActionOverride_internal_data_[] = {
    196608u, 0u, };
static const char SuggestTemplateInfo_FuseboxAction_QueryActionOverride_names[] = {
    "QUERY_ACTION_DEFAULT"
    "QUERY_ACTION_HINT"
    "QUERY_ACTION_PASTE"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries[] = {
    {{&SuggestTemplateInfo_FuseboxAction_QueryActionOverride_names[0], 20}, 0},
    {{&SuggestTemplateInfo_FuseboxAction_QueryActionOverride_names[20], 17}, 2},
    {{&SuggestTemplateInfo_FuseboxAction_QueryActionOverride_names[37], 18}, 1},
};

static const int SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries_by_number[] = {
    0,  // 0 -> QUERY_ACTION_DEFAULT
    2,  // 1 -> QUERY_ACTION_PASTE
    1,  // 2 -> QUERY_ACTION_HINT
};

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

const ::std::string& SuggestTemplateInfo_FuseboxAction_QueryActionOverride_Name(SuggestTemplateInfo_FuseboxAction_QueryActionOverride value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries, SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries_by_number, 3,
      SuggestTemplateInfo_FuseboxAction_QueryActionOverride_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries,
                                  SuggestTemplateInfo_FuseboxAction_QueryActionOverride_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_FuseboxAction_QueryActionOverride_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_FuseboxAction_SearchboxOverride_internal_data_[] = {
    196608u, 0u, };
static const char SuggestTemplateInfo_FuseboxAction_SearchboxOverride_names[] = {
    "SEARCHBOX_OVERRIDE_COMPOSEBOX"
    "SEARCHBOX_OVERRIDE_REALBOX"
    "SEARCHBOX_OVERRIDE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries[] = {
    {{&SuggestTemplateInfo_FuseboxAction_SearchboxOverride_names[0], 29}, 2},
    {{&SuggestTemplateInfo_FuseboxAction_SearchboxOverride_names[29], 26}, 1},
    {{&SuggestTemplateInfo_FuseboxAction_SearchboxOverride_names[55], 30}, 0},
};

static const int SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries_by_number[] = {
    2,  // 0 -> SEARCHBOX_OVERRIDE_UNSPECIFIED
    1,  // 1 -> SEARCHBOX_OVERRIDE_REALBOX
    0,  // 2 -> SEARCHBOX_OVERRIDE_COMPOSEBOX
};

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

const ::std::string& SuggestTemplateInfo_FuseboxAction_SearchboxOverride_Name(SuggestTemplateInfo_FuseboxAction_SearchboxOverride value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries, SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries_by_number, 3,
      SuggestTemplateInfo_FuseboxAction_SearchboxOverride_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries,
                                  SuggestTemplateInfo_FuseboxAction_SearchboxOverride_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_FuseboxAction_SearchboxOverride_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_StandardSuggestStyle_internal_data_[] = {
    262144u, 0u, };
static const char SuggestTemplateInfo_StandardSuggestStyle_names[] = {
    "ANNOTATED"
    "DEFAULT"
    "ENRICHED"
    "SUGGEST_STYLE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_StandardSuggestStyle_entries[] = {
    {{&SuggestTemplateInfo_StandardSuggestStyle_names[0], 9}, 3},
    {{&SuggestTemplateInfo_StandardSuggestStyle_names[9], 7}, 1},
    {{&SuggestTemplateInfo_StandardSuggestStyle_names[16], 8}, 2},
    {{&SuggestTemplateInfo_StandardSuggestStyle_names[24], 25}, 0},
};

static const int SuggestTemplateInfo_StandardSuggestStyle_entries_by_number[] = {
    3,  // 0 -> SUGGEST_STYLE_UNSPECIFIED
    1,  // 1 -> DEFAULT
    2,  // 2 -> ENRICHED
    0,  // 3 -> ANNOTATED
};

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

const ::std::string& SuggestTemplateInfo_StandardSuggestStyle_Name(SuggestTemplateInfo_StandardSuggestStyle value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_StandardSuggestStyle_entries, SuggestTemplateInfo_StandardSuggestStyle_entries_by_number, 4,
      SuggestTemplateInfo_StandardSuggestStyle_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_StandardSuggestStyle_entries,
                                  SuggestTemplateInfo_StandardSuggestStyle_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_StandardSuggestStyle_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t SuggestTemplateInfo_IconType_internal_data_[] = {
    1179648u, 0u, };
static const char SuggestTemplateInfo_IconType_names[] = {
    "ATTACH_FILE"
    "BANANA"
    "BOLT"
    "DRAFT_SPARK"
    "FAVICON"
    "GLOBE_WITH_SEARCH_LOOP"
    "HISTORY"
    "ICON_TYPE_UNSPECIFIED"
    "INK_PEN"
    "LIGHTBULB"
    "NOTES_SPARK"
    "PHOTO_SPARK"
    "SCHOOL"
    "SEARCH_LOOP"
    "SEARCH_LOOP_WITH_SPARKLE"
    "SUB_ARROW_RIGHT"
    "TAB"
    "TRENDING"
};

static const ::google::protobuf::internal::EnumEntry SuggestTemplateInfo_IconType_entries[] = {
    {{&SuggestTemplateInfo_IconType_names[0], 11}, 12},
    {{&SuggestTemplateInfo_IconType_names[11], 6}, 7},
    {{&SuggestTemplateInfo_IconType_names[17], 4}, 17},
    {{&SuggestTemplateInfo_IconType_names[21], 11}, 10},
    {{&SuggestTemplateInfo_IconType_names[32], 7}, 8},
    {{&SuggestTemplateInfo_IconType_names[39], 22}, 6},
    {{&SuggestTemplateInfo_IconType_names[61], 7}, 1},
    {{&SuggestTemplateInfo_IconType_names[68], 21}, 0},
    {{&SuggestTemplateInfo_IconType_names[89], 7}, 14},
    {{&SuggestTemplateInfo_IconType_names[96], 9}, 11},
    {{&SuggestTemplateInfo_IconType_names[105], 11}, 9},
    {{&SuggestTemplateInfo_IconType_names[116], 11}, 16},
    {{&SuggestTemplateInfo_IconType_names[127], 6}, 13},
    {{&SuggestTemplateInfo_IconType_names[133], 11}, 2},
    {{&SuggestTemplateInfo_IconType_names[144], 24}, 3},
    {{&SuggestTemplateInfo_IconType_names[168], 15}, 5},
    {{&SuggestTemplateInfo_IconType_names[183], 3}, 15},
    {{&SuggestTemplateInfo_IconType_names[186], 8}, 4},
};

static const int SuggestTemplateInfo_IconType_entries_by_number[] = {
    7,  // 0 -> ICON_TYPE_UNSPECIFIED
    6,  // 1 -> HISTORY
    13,  // 2 -> SEARCH_LOOP
    14,  // 3 -> SEARCH_LOOP_WITH_SPARKLE
    17,  // 4 -> TRENDING
    15,  // 5 -> SUB_ARROW_RIGHT
    5,  // 6 -> GLOBE_WITH_SEARCH_LOOP
    1,  // 7 -> BANANA
    4,  // 8 -> FAVICON
    10,  // 9 -> NOTES_SPARK
    3,  // 10 -> DRAFT_SPARK
    9,  // 11 -> LIGHTBULB
    0,  // 12 -> ATTACH_FILE
    12,  // 13 -> SCHOOL
    8,  // 14 -> INK_PEN
    16,  // 15 -> TAB
    11,  // 16 -> PHOTO_SPARK
    2,  // 17 -> BOLT
};

bool SuggestTemplateInfo_IconType_Parse(::absl::string_view name,
                                  SuggestTemplateInfo_IconType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      SuggestTemplateInfo_IconType_entries, 18, name, &int_value);
  if (success) {
    *value = static_cast<SuggestTemplateInfo_IconType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    SuggestTemplateInfo_IconType_strings[18] = {};

const ::std::string& SuggestTemplateInfo_IconType_Name(SuggestTemplateInfo_IconType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      SuggestTemplateInfo_IconType_entries, SuggestTemplateInfo_IconType_entries_by_number, 18,
      SuggestTemplateInfo_IconType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(SuggestTemplateInfo_IconType_entries,
                                  SuggestTemplateInfo_IconType_entries_by_number,
                                  18, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : SuggestTemplateInfo_IconType_strings[idx].get();
}
// ===================================================================

SuggestTemplateInfo_Image::SuggestTemplateInfo_Image(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SuggestTemplateInfo_Image_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:omnibox.SuggestTemplateInfo.Image)
}
PROTOBUF_NDEBUG_INLINE SuggestTemplateInfo_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::omnibox::SuggestTemplateInfo_Image& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_),
        dominant_color_(arena, from.dominant_color_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:omnibox.SuggestTemplateInfo.Image)
}
PROTOBUF_NDEBUG_INLINE SuggestTemplateInfo_Image::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena),
        dominant_color_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SuggestTemplateInfo_Image_class_data_ =
    SuggestTemplateInfo_Image::InternalGenerateClassData_(SuggestTemplateInfo_Image_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string url = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string dominant_color = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_dominant_color();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional .omnibox.SuggestTemplateInfo.Image.ImageType type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_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:omnibox.SuggestTemplateInfo.Image)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string url = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // optional string dominant_color = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dominant_color());
    }
    // optional .omnibox.SuggestTemplateInfo.Image.ImageType type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_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 SuggestTemplateInfo_Image::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SuggestTemplateInfo_Image*>(&to_msg);
  auto& from = static_cast<const SuggestTemplateInfo_Image&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:omnibox.SuggestTemplateInfo.Image)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_dominant_color(from._internal_dominant_color());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

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

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

SuggestTemplateInfo_TemplateAction::SuggestTemplateInfo_TemplateAction(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SuggestTemplateInfo_TemplateAction_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:omnibox.SuggestTemplateInfo.TemplateAction)
}
PROTOBUF_NDEBUG_INLINE SuggestTemplateInfo_TemplateAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::omnibox::SuggestTemplateInfo_TemplateAction& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        action_uri_(arena, from.action_uri_),
        display_text_(arena, from.display_text_),
        query_(arena, from.query_),
        search_parameters_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::omnibox::SuggestTemplateInfo_TemplateAction,
              PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo_TemplateAction, _impl_.search_parameters_)>()
          , from.search_parameters_
        }
     {}

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

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

  // @@protoc_insertion_point(copy_constructor:omnibox.SuggestTemplateInfo.TemplateAction)
}
PROTOBUF_NDEBUG_INLINE SuggestTemplateInfo_TemplateAction::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        action_uri_(arena),
        display_text_(arena),
        query_(arena),
        action_type_{static_cast< ::omnibox::SuggestTemplateInfo_TemplateAction_ActionType >(2)},
        search_parameters_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::omnibox::SuggestTemplateInfo_TemplateAction,
            PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo_TemplateAction, _impl_.search_parameters_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SuggestTemplateInfo_TemplateAction_class_data_ =
    SuggestTemplateInfo_TemplateAction::InternalGenerateClassData_(SuggestTemplateInfo_TemplateAction_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.action_uri_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.display_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.query_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000038U)) {
    _impl_.logs_action_type_ = 0;
    _impl_.action_type_ = 2;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.search_parameters_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string action_uri = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_action_uri();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional .omnibox.metrics.ActionInfo.ActionType logs_action_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_logs_action_type(), target);
  }

  // optional .omnibox.SuggestTemplateInfo.TemplateAction.ActionType action_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_action_type(), target);
  }

  // map<string, string> search_parameters = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    if (!this_._internal_search_parameters().empty()) {
      using MapType = ::google::protobuf::Map<::std::string, ::std::string>;
      using WireHelper = _pbi::MapEntryFuncs<::std::string, ::std::string,
                                     _pbi::WireFormatLite::TYPE_STRING,
                                     _pbi::WireFormatLite::TYPE_STRING>;
      const auto& field = this_._internal_search_parameters();

      if (stream->IsSerializationDeterministic() && field.size() > 1) {
        for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
          target = WireHelper::InternalSerialize(
              4, entry.first, entry.second, target, stream);
        }
      } else {
        for (const auto& entry : field) {
          target = WireHelper::InternalSerialize(
              4, entry.first, entry.second, target, stream);
        }
      }
    }
  }

  // optional string display_text = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_display_text();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // optional string query = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_query();
    target = stream->WriteStringMaybeAliased(6, _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:omnibox.SuggestTemplateInfo.TemplateAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SuggestTemplateInfo_TemplateAction::ByteSizeLong(const MessageLite& base) {
  const SuggestTemplateInfo_TemplateAction& this_ = static_cast<const SuggestTemplateInfo_TemplateAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SuggestTemplateInfo_TemplateAction::ByteSizeLong() const {
  const SuggestTemplateInfo_TemplateAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:omnibox.SuggestTemplateInfo.TemplateAction)
  ::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, 0x0000003fU)) {
    // optional string action_uri = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_action_uri());
    }
    // optional string display_text = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_display_text());
    }
    // optional string query = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_query());
    }
    // optional .omnibox.metrics.ActionInfo.ActionType logs_action_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_logs_action_type());
    }
    // optional .omnibox.SuggestTemplateInfo.TemplateAction.ActionType action_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_action_type());
    }
    // map<string, string> search_parameters = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_search_parameters_size());
      for (const auto& entry : this_._internal_search_parameters()) {
        total_size += _pbi::MapEntryFuncs<::std::string, ::std::string,
                                       _pbi::WireFormatLite::TYPE_STRING,
                                       _pbi::WireFormatLite::TYPE_STRING>::ByteSizeLong(entry.first, entry.second);
      }
    }
  }
  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 SuggestTemplateInfo_TemplateAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SuggestTemplateInfo_TemplateAction*>(&to_msg);
  auto& from = static_cast<const SuggestTemplateInfo_TemplateAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:omnibox.SuggestTemplateInfo.TemplateAction)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_action_uri(from._internal_action_uri());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_display_text(from._internal_display_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_query(from._internal_query());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.logs_action_type_ = from._impl_.logs_action_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.action_type_ = from._impl_.action_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.search_parameters_.MergeFrom(from._impl_.search_parameters_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SuggestTemplateInfo_TemplateAction::CopyFrom(const SuggestTemplateInfo_TemplateAction& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:omnibox.SuggestTemplateInfo.TemplateAction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SuggestTemplateInfo_TemplateAction::InternalSwap(SuggestTemplateInfo_TemplateAction* 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_.action_uri_, &other->_impl_.action_uri_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.display_text_, &other->_impl_.display_text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.query_, &other->_impl_.query_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.action_type_)
      + sizeof(SuggestTemplateInfo_TemplateAction::_impl_.action_type_)
      - PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo_TemplateAction, _impl_.logs_action_type_)>(
          reinterpret_cast<char*>(&_impl_.logs_action_type_),
          reinterpret_cast<char*>(&other->_impl_.logs_action_type_));
  _impl_.search_parameters_.InternalSwap(&other->_impl_.search_parameters_);
}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SuggestTemplateInfo_FuseboxAction_class_data_ =
    SuggestTemplateInfo_FuseboxAction::InternalGenerateClassData_(SuggestTemplateInfo_FuseboxAction_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .omnibox.ToolMode preselected_tool = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_preselected_tool(), target);
  }

  // optional .omnibox.SuggestInventory preferred_inventory = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_preferred_inventory(), target);
  }

  // optional .omnibox.ModelMode preselected_model = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_preselected_model(), target);
  }

  // optional .omnibox.InputSource preselected_input_source = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_preselected_input_source(), target);
  }

  // optional .omnibox.SuggestTemplateInfo.FuseboxAction.QueryActionOverride query_action_override = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_query_action_override(), target);
  }

  // optional .omnibox.SuggestTemplateInfo.FuseboxAction.SearchboxOverride searchbox_override = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_searchbox_override(), 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:omnibox.SuggestTemplateInfo.FuseboxAction)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SuggestTemplateInfo_FuseboxAction::ByteSizeLong(const MessageLite& base) {
  const SuggestTemplateInfo_FuseboxAction& this_ = static_cast<const SuggestTemplateInfo_FuseboxAction&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SuggestTemplateInfo_FuseboxAction::ByteSizeLong() const {
  const SuggestTemplateInfo_FuseboxAction& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:omnibox.SuggestTemplateInfo.FuseboxAction)
  ::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, 0x0000003fU)) {
    // optional .omnibox.ToolMode preselected_tool = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_preselected_tool());
    }
    // optional .omnibox.SuggestInventory preferred_inventory = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_preferred_inventory());
    }
    // optional .omnibox.ModelMode preselected_model = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_preselected_model());
    }
    // optional .omnibox.InputSource preselected_input_source = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_preselected_input_source());
    }
    // optional .omnibox.SuggestTemplateInfo.FuseboxAction.QueryActionOverride query_action_override = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_query_action_override());
    }
    // optional .omnibox.SuggestTemplateInfo.FuseboxAction.SearchboxOverride searchbox_override = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_searchbox_override());
    }
  }
  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 SuggestTemplateInfo_FuseboxAction::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SuggestTemplateInfo_FuseboxAction*>(&to_msg);
  auto& from = static_cast<const SuggestTemplateInfo_FuseboxAction&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:omnibox.SuggestTemplateInfo.FuseboxAction)
  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, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.preselected_tool_ = from._impl_.preselected_tool_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.preferred_inventory_ = from._impl_.preferred_inventory_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.preselected_model_ = from._impl_.preselected_model_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.preselected_input_source_ = from._impl_.preselected_input_source_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.query_action_override_ = from._impl_.query_action_override_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.searchbox_override_ = from._impl_.searchbox_override_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void SuggestTemplateInfo_FuseboxAction::CopyFrom(const SuggestTemplateInfo_FuseboxAction& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:omnibox.SuggestTemplateInfo.FuseboxAction)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

void SuggestTemplateInfo::clear_primary_text() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.primary_text_ != nullptr) _impl_.primary_text_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
void SuggestTemplateInfo::clear_secondary_text() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.secondary_text_ != nullptr) _impl_.secondary_text_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
SuggestTemplateInfo::SuggestTemplateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SuggestTemplateInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:omnibox.SuggestTemplateInfo)
}
PROTOBUF_NDEBUG_INLINE SuggestTemplateInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::omnibox::SuggestTemplateInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        action_suggestions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::omnibox::SuggestTemplateInfo,
              PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo, _impl_.action_suggestions_)>()
          , from.action_suggestions_
        }
        ,
        default_search_parameters_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::omnibox::SuggestTemplateInfo,
              PROTOBUF_FIELD_OFFSET(::omnibox::SuggestTemplateInfo, _impl_.default_search_parameters_)>()
          , from.default_search_parameters_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SuggestTemplateInfo* 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_.primary_text_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.primary_text_)
                : nullptr;
  _impl_.secondary_text_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.secondary_text_)
                : nullptr;
  _impl_.image_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.image_)
                : nullptr;
  _impl_.fusebox_action_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.fusebox_action_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, style_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, style_),
           offsetof(Impl_, type_icon_) -
               offsetof(Impl_, style_) +
               sizeof(Impl_::type_icon_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SuggestTemplateInfo_class_data_ =
    SuggestTemplateInfo::InternalGenerateClassData_(SuggestTemplateInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SuggestTemplateInfo::GetClassData() const {
  return SuggestTemplateInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SuggestTemplateInfo::GetClassData() const {
  return SuggestTemplateInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SuggestTemplateInfo::ParseTableT_
    SuggestTemplateInfo::_table_ =
        SuggestTemplateInfo::InternalGenerateParseTable_(SuggestTemplateInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SuggestTemplateInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:omnibox.SuggestTemplateInfo)
  ::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_.action_suggestions_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.primary_text_ != nullptr);
      _impl_.primary_text_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.secondary_text_ != nullptr);
      _impl_.secondary_text_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.image_ != nullptr);
      _impl_.image_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.fusebox_action_ != nullptr);
      _impl_.fusebox_action_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.style_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.type_icon_) -
        reinterpret_cast<char*>(&_impl_.style_)) + sizeof(_impl_.type_icon_));
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.default_search_parameters_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .omnibox.SuggestTemplateInfo.StandardSuggestStyle style = 1;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_style(), target);
  }

  // optional .omnibox.SuggestTemplateInfo.IconType type_icon = 2;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_type_icon(), target);
  }

  // optional .omnibox.FormattedString primary_text = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.primary_text_, this_._impl_.primary_text_->GetCachedSize(), target,
        stream);
  }

  // optional .omnibox.FormattedString secondary_text = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.secondary_text_, this_._impl_.secondary_text_->GetCachedSize(), target,
        stream);
  }

  // optional .omnibox.SuggestTemplateInfo.Image image = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.image_, this_._impl_.image_->GetCachedSize(), target,
        stream);
  }

  // map<string, string> default_search_parameters = 6;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    if (!this_._internal_default_search_parameters().empty()) {
      using MapType = ::google::protobuf::Map<::std::string, ::std::string>;
      using WireHelper = _pbi::MapEntryFuncs<::std::string, ::std::string,
                                     _pbi::WireFormatLite::TYPE_STRING,
                                     _pbi::WireFormatLite::TYPE_STRING>;
      const auto& field = this_._internal_default_search_parameters();

      if (stream->IsSerializationDeterministic() && field.size() > 1) {
        for (const auto& entry : ::google::protobuf::internal::MapSorterPtr<MapType>(field)) {
          target = WireHelper::InternalSerialize(
              6, entry.first, entry.second, target, stream);
        }
      } else {
        for (const auto& entry : field) {
          target = WireHelper::InternalSerialize(
              6, entry.first, entry.second, target, stream);
        }
      }
    }
  }

  // repeated .omnibox.SuggestTemplateInfo.TemplateAction action_suggestions = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_action_suggestions_size());
         i < n; i++) {
      const auto& repfield = this_._internal_action_suggestions().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              7, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional .omnibox.SuggestTemplateInfo.FuseboxAction fusebox_action = 8;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.fusebox_action_, this_._impl_.fusebox_action_->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:omnibox.SuggestTemplateInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SuggestTemplateInfo::ByteSizeLong(const MessageLite& base) {
  const SuggestTemplateInfo& this_ = static_cast<const SuggestTemplateInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SuggestTemplateInfo::ByteSizeLong() const {
  const SuggestTemplateInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:omnibox.SuggestTemplateInfo)
  ::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)) {
    // repeated .omnibox.SuggestTemplateInfo.TemplateAction action_suggestions = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_action_suggestions_size();
      for (const auto& msg : this_._internal_action_suggestions()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .omnibox.FormattedString primary_text = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.primary_text_);
    }
    // optional .omnibox.FormattedString secondary_text = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.secondary_text_);
    }
    // optional .omnibox.SuggestTemplateInfo.Image image = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.image_);
    }
    // optional .omnibox.SuggestTemplateInfo.FuseboxAction fusebox_action = 8;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.fusebox_action_);
    }
    // optional .omnibox.SuggestTemplateInfo.StandardSuggestStyle style = 1;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_style());
    }
    // optional .omnibox.SuggestTemplateInfo.IconType type_icon = 2;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type_icon());
    }
    // map<string, string> default_search_parameters = 6;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_default_search_parameters_size());
      for (const auto& entry : this_._internal_default_search_parameters()) {
        total_size += _pbi::MapEntryFuncs<::std::string, ::std::string,
                                       _pbi::WireFormatLite::TYPE_STRING,
                                       _pbi::WireFormatLite::TYPE_STRING>::ByteSizeLong(entry.first, entry.second);
      }
    }
  }
  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 SuggestTemplateInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SuggestTemplateInfo*>(&to_msg);
  auto& from = static_cast<const SuggestTemplateInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:omnibox.SuggestTemplateInfo)
  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_action_suggestions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_action_suggestions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.primary_text_ != nullptr);
      if (_this->_impl_.primary_text_ == nullptr) {
        _this->_impl_.primary_text_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.primary_text_);
      } else {
        _this->_impl_.primary_text_->MergeFrom(*from._impl_.primary_text_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.secondary_text_ != nullptr);
      if (_this->_impl_.secondary_text_ == nullptr) {
        _this->_impl_.secondary_text_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.secondary_text_);
      } else {
        _this->_impl_.secondary_text_->MergeFrom(*from._impl_.secondary_text_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.image_ != nullptr);
      if (_this->_impl_.image_ == nullptr) {
        _this->_impl_.image_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.image_);
      } else {
        _this->_impl_.image_->MergeFrom(*from._impl_.image_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.fusebox_action_ != nullptr);
      if (_this->_impl_.fusebox_action_ == nullptr) {
        _this->_impl_.fusebox_action_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.fusebox_action_);
      } else {
        _this->_impl_.fusebox_action_->MergeFrom(*from._impl_.fusebox_action_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.style_ = from._impl_.style_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.type_icon_ = from._impl_.type_icon_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.default_search_parameters_.MergeFrom(from._impl_.default_search_parameters_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SuggestTemplateInfo::InternalSwap(SuggestTemplateInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.action_suggestions_.InternalSwap(&other->_impl_.action_suggestions_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.type_icon_)
      + sizeof(SuggestTemplateInfo::_impl_.type_icon_)
      - PROTOBUF_FIELD_OFFSET(SuggestTemplateInfo, _impl_.primary_text_)>(
          reinterpret_cast<char*>(&_impl_.primary_text_),
          reinterpret_cast<char*>(&other->_impl_.primary_text_));
  _impl_.default_search_parameters_.InternalSwap(&other->_impl_.default_search_parameters_);
}

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