agones.dev/agones@v1.54.0/sdks/cpp/src/google/http.pb.cc (about)

     1  // Copyright 2024 Google LLC All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // This code was autogenerated. Do not edit directly.
    16  // Generated by the protocol buffer compiler.  DO NOT EDIT!
    17  // NO CHECKED-IN PROTOBUF GENCODE
    18  // source: google/api/http.proto
    19  // Protobuf C++ Version: 6.31.1
    20  
    21  #include "google/api/http.pb.h"
    22  
    23  #include <algorithm>
    24  #include <type_traits>
    25  #include "google/protobuf/io/coded_stream.h"
    26  #include "google/protobuf/generated_message_tctable_impl.h"
    27  #include "google/protobuf/extension_set.h"
    28  #include "google/protobuf/generated_message_util.h"
    29  #include "google/protobuf/wire_format_lite.h"
    30  #include "google/protobuf/descriptor.h"
    31  #include "google/protobuf/generated_message_reflection.h"
    32  #include "google/protobuf/reflection_ops.h"
    33  #include "google/protobuf/wire_format.h"
    34  // @@protoc_insertion_point(includes)
    35  
    36  // Must be included last.
    37  #include "google/protobuf/port_def.inc"
    38  PROTOBUF_PRAGMA_INIT_SEG
    39  namespace _pb = ::google::protobuf;
    40  namespace _pbi = ::google::protobuf::internal;
    41  namespace _fl = ::google::protobuf::internal::field_layout;
    42  namespace google {
    43  namespace api {
    44  
    45  inline constexpr CustomHttpPattern::Impl_::Impl_(
    46      ::_pbi::ConstantInitialized) noexcept
    47        : _cached_size_{0},
    48          kind_(
    49              &::google::protobuf::internal::fixed_address_empty_string,
    50              ::_pbi::ConstantInitialized()),
    51          path_(
    52              &::google::protobuf::internal::fixed_address_empty_string,
    53              ::_pbi::ConstantInitialized()) {}
    54  
    55  template <typename>
    56  PROTOBUF_CONSTEXPR CustomHttpPattern::CustomHttpPattern(::_pbi::ConstantInitialized)
    57  #if defined(PROTOBUF_CUSTOM_VTABLE)
    58      : ::google::protobuf::Message(CustomHttpPattern_class_data_.base()),
    59  #else   // PROTOBUF_CUSTOM_VTABLE
    60      : ::google::protobuf::Message(),
    61  #endif  // PROTOBUF_CUSTOM_VTABLE
    62        _impl_(::_pbi::ConstantInitialized()) {
    63  }
    64  struct CustomHttpPatternDefaultTypeInternal {
    65    PROTOBUF_CONSTEXPR CustomHttpPatternDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
    66    ~CustomHttpPatternDefaultTypeInternal() {}
    67    union {
    68      CustomHttpPattern _instance;
    69    };
    70  };
    71  
    72  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
    73      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CustomHttpPatternDefaultTypeInternal _CustomHttpPattern_default_instance_;
    74  
    75  inline constexpr HttpRule::Impl_::Impl_(
    76      ::_pbi::ConstantInitialized) noexcept
    77        : _cached_size_{0},
    78          additional_bindings_{},
    79          selector_(
    80              &::google::protobuf::internal::fixed_address_empty_string,
    81              ::_pbi::ConstantInitialized()),
    82          body_(
    83              &::google::protobuf::internal::fixed_address_empty_string,
    84              ::_pbi::ConstantInitialized()),
    85          response_body_(
    86              &::google::protobuf::internal::fixed_address_empty_string,
    87              ::_pbi::ConstantInitialized()),
    88          pattern_{},
    89          _oneof_case_{} {}
    90  
    91  template <typename>
    92  PROTOBUF_CONSTEXPR HttpRule::HttpRule(::_pbi::ConstantInitialized)
    93  #if defined(PROTOBUF_CUSTOM_VTABLE)
    94      : ::google::protobuf::Message(HttpRule_class_data_.base()),
    95  #else   // PROTOBUF_CUSTOM_VTABLE
    96      : ::google::protobuf::Message(),
    97  #endif  // PROTOBUF_CUSTOM_VTABLE
    98        _impl_(::_pbi::ConstantInitialized()) {
    99  }
   100  struct HttpRuleDefaultTypeInternal {
   101    PROTOBUF_CONSTEXPR HttpRuleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
   102    ~HttpRuleDefaultTypeInternal() {}
   103    union {
   104      HttpRule _instance;
   105    };
   106  };
   107  
   108  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
   109      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HttpRuleDefaultTypeInternal _HttpRule_default_instance_;
   110  
   111  inline constexpr Http::Impl_::Impl_(
   112      ::_pbi::ConstantInitialized) noexcept
   113        : _cached_size_{0},
   114          rules_{},
   115          fully_decode_reserved_expansion_{false} {}
   116  
   117  template <typename>
   118  PROTOBUF_CONSTEXPR Http::Http(::_pbi::ConstantInitialized)
   119  #if defined(PROTOBUF_CUSTOM_VTABLE)
   120      : ::google::protobuf::Message(Http_class_data_.base()),
   121  #else   // PROTOBUF_CUSTOM_VTABLE
   122      : ::google::protobuf::Message(),
   123  #endif  // PROTOBUF_CUSTOM_VTABLE
   124        _impl_(::_pbi::ConstantInitialized()) {
   125  }
   126  struct HttpDefaultTypeInternal {
   127    PROTOBUF_CONSTEXPR HttpDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
   128    ~HttpDefaultTypeInternal() {}
   129    union {
   130      Http _instance;
   131    };
   132  };
   133  
   134  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AGONES_EXPORT
   135      PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HttpDefaultTypeInternal _Http_default_instance_;
   136  }  // namespace api
   137  }  // namespace google
   138  static constexpr const ::_pb::EnumDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
   139      file_level_enum_descriptors_google_2fapi_2fhttp_2eproto = nullptr;
   140  static constexpr const ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE
   141      file_level_service_descriptors_google_2fapi_2fhttp_2eproto = nullptr;
   142  const ::uint32_t
   143      TableStruct_google_2fapi_2fhttp_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
   144          protodesc_cold) = {
   145          0x081, // bitmap
   146          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_._has_bits_),
   147          5, // hasbit index offset
   148          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_.rules_),
   149          PROTOBUF_FIELD_OFFSET(::google::api::Http, _impl_.fully_decode_reserved_expansion_),
   150          ~0u,
   151          0,
   152          0x085, // bitmap
   153          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._has_bits_),
   154          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._oneof_case_[0]),
   155          15, // hasbit index offset
   156          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.selector_),
   157          ::_pbi::kInvalidFieldOffsetTag,
   158          ::_pbi::kInvalidFieldOffsetTag,
   159          ::_pbi::kInvalidFieldOffsetTag,
   160          ::_pbi::kInvalidFieldOffsetTag,
   161          ::_pbi::kInvalidFieldOffsetTag,
   162          ::_pbi::kInvalidFieldOffsetTag,
   163          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.body_),
   164          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.response_body_),
   165          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.additional_bindings_),
   166          PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_.pattern_),
   167          0,
   168          ~0u,
   169          ~0u,
   170          ~0u,
   171          ~0u,
   172          ~0u,
   173          ~0u,
   174          1,
   175          2,
   176          ~0u,
   177          0x081, // bitmap
   178          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_._has_bits_),
   179          5, // hasbit index offset
   180          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_.kind_),
   181          PROTOBUF_FIELD_OFFSET(::google::api::CustomHttpPattern, _impl_.path_),
   182          0,
   183          1,
   184  };
   185  
   186  static const ::_pbi::MigrationSchema
   187      schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   188          {0, sizeof(::google::api::Http)},
   189          {7, sizeof(::google::api::HttpRule)},
   190          {32, sizeof(::google::api::CustomHttpPattern)},
   191  };
   192  static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
   193      &::google::api::_Http_default_instance_._instance,
   194      &::google::api::_HttpRule_default_instance_._instance,
   195      &::google::api::_CustomHttpPattern_default_instance_._instance,
   196  };
   197  const char descriptor_table_protodef_google_2fapi_2fhttp_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
   198      protodesc_cold) = {
   199      "\n\025google/api/http.proto\022\ngoogle.api\"T\n\004H"
   200      "ttp\022#\n\005rules\030\001 \003(\0132\024.google.api.HttpRule"
   201      "\022\'\n\037fully_decode_reserved_expansion\030\002 \001("
   202      "\010\"\201\002\n\010HttpRule\022\020\n\010selector\030\001 \001(\t\022\r\n\003get\030"
   203      "\002 \001(\tH\000\022\r\n\003put\030\003 \001(\tH\000\022\016\n\004post\030\004 \001(\tH\000\022\020"
   204      "\n\006delete\030\005 \001(\tH\000\022\017\n\005patch\030\006 \001(\tH\000\022/\n\006cus"
   205      "tom\030\010 \001(\0132\035.google.api.CustomHttpPattern"
   206      "H\000\022\014\n\004body\030\007 \001(\t\022\025\n\rresponse_body\030\014 \001(\t\022"
   207      "1\n\023additional_bindings\030\013 \003(\0132\024.google.ap"
   208      "i.HttpRuleB\t\n\007pattern\"/\n\021CustomHttpPatte"
   209      "rn\022\014\n\004kind\030\001 \001(\t\022\014\n\004path\030\002 \001(\tBj\n\016com.go"
   210      "ogle.apiB\tHttpProtoP\001ZAgoogle.golang.org"
   211      "/genproto/googleapis/api/annotations;ann"
   212      "otations\370\001\001\242\002\004GAPIb\006proto3"
   213  };
   214  static ::absl::once_flag descriptor_table_google_2fapi_2fhttp_2eproto_once;
   215  PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_google_2fapi_2fhttp_2eproto = {
   216      false,
   217      false,
   218      546,
   219      descriptor_table_protodef_google_2fapi_2fhttp_2eproto,
   220      "google/api/http.proto",
   221      &descriptor_table_google_2fapi_2fhttp_2eproto_once,
   222      nullptr,
   223      0,
   224      3,
   225      schemas,
   226      file_default_instances,
   227      TableStruct_google_2fapi_2fhttp_2eproto::offsets,
   228      file_level_enum_descriptors_google_2fapi_2fhttp_2eproto,
   229      file_level_service_descriptors_google_2fapi_2fhttp_2eproto,
   230  };
   231  namespace google {
   232  namespace api {
   233  // ===================================================================
   234  
   235  class Http::_Internal {
   236   public:
   237    using HasBits =
   238        decltype(::std::declval<Http>()._impl_._has_bits_);
   239    static constexpr ::int32_t kHasBitsOffset =
   240        8 * PROTOBUF_FIELD_OFFSET(Http, _impl_._has_bits_);
   241  };
   242  
   243  Http::Http(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   244  #if defined(PROTOBUF_CUSTOM_VTABLE)
   245      : ::google::protobuf::Message(arena, Http_class_data_.base()) {
   246  #else   // PROTOBUF_CUSTOM_VTABLE
   247      : ::google::protobuf::Message(arena) {
   248  #endif  // PROTOBUF_CUSTOM_VTABLE
   249    SharedCtor(arena);
   250    // @@protoc_insertion_point(arena_constructor:google.api.Http)
   251  }
   252  PROTOBUF_NDEBUG_INLINE Http::Impl_::Impl_(
   253      ::google::protobuf::internal::InternalVisibility visibility,
   254      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   255      const ::google::api::Http& from_msg)
   256        : _has_bits_{from._has_bits_},
   257          _cached_size_{0},
   258          rules_{visibility, arena, from.rules_} {}
   259  
   260  Http::Http(
   261      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
   262      const Http& from)
   263  #if defined(PROTOBUF_CUSTOM_VTABLE)
   264      : ::google::protobuf::Message(arena, Http_class_data_.base()) {
   265  #else   // PROTOBUF_CUSTOM_VTABLE
   266      : ::google::protobuf::Message(arena) {
   267  #endif  // PROTOBUF_CUSTOM_VTABLE
   268    Http* const _this = this;
   269    (void)_this;
   270    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
   271        from._internal_metadata_);
   272    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
   273    _impl_.fully_decode_reserved_expansion_ = from._impl_.fully_decode_reserved_expansion_;
   274  
   275    // @@protoc_insertion_point(copy_constructor:google.api.Http)
   276  }
   277  PROTOBUF_NDEBUG_INLINE Http::Impl_::Impl_(
   278      ::google::protobuf::internal::InternalVisibility visibility,
   279      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   280        : _cached_size_{0},
   281          rules_{visibility, arena} {}
   282  
   283  inline void Http::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
   284    new (&_impl_) Impl_(internal_visibility(), arena);
   285    _impl_.fully_decode_reserved_expansion_ = {};
   286  }
   287  Http::~Http() {
   288    // @@protoc_insertion_point(destructor:google.api.Http)
   289    SharedDtor(*this);
   290  }
   291  inline void Http::SharedDtor(MessageLite& self) {
   292    Http& this_ = static_cast<Http&>(self);
   293    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
   294    ABSL_DCHECK(this_.GetArena() == nullptr);
   295    this_._impl_.~Impl_();
   296  }
   297  
   298  inline void* PROTOBUF_NONNULL Http::PlacementNew_(
   299      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   300      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
   301    return ::new (mem) Http(arena);
   302  }
   303  constexpr auto Http::InternalNewImpl_() {
   304    constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
   305        PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_) +
   306            decltype(Http::_impl_.rules_)::
   307                InternalGetArenaOffset(
   308                    ::google::protobuf::Message::internal_visibility()),
   309    });
   310    if (arena_bits.has_value()) {
   311      return ::google::protobuf::internal::MessageCreator::ZeroInit(
   312          sizeof(Http), alignof(Http), *arena_bits);
   313    } else {
   314      return ::google::protobuf::internal::MessageCreator(&Http::PlacementNew_,
   315                                   sizeof(Http),
   316                                   alignof(Http));
   317    }
   318  }
   319  constexpr auto Http::InternalGenerateClassData_() {
   320    return ::google::protobuf::internal::ClassDataFull{
   321        ::google::protobuf::internal::ClassData{
   322            &_Http_default_instance_._instance,
   323            &_table_.header,
   324            nullptr,  // OnDemandRegisterArenaDtor
   325            nullptr,  // IsInitialized
   326            &Http::MergeImpl,
   327            ::google::protobuf::Message::GetNewImpl<Http>(),
   328  #if defined(PROTOBUF_CUSTOM_VTABLE)
   329            &Http::SharedDtor,
   330            ::google::protobuf::Message::GetClearImpl<Http>(), &Http::ByteSizeLong,
   331                &Http::_InternalSerialize,
   332  #endif  // PROTOBUF_CUSTOM_VTABLE
   333            PROTOBUF_FIELD_OFFSET(Http, _impl_._cached_size_),
   334            false,
   335        },
   336        &Http::kDescriptorMethods,
   337        &descriptor_table_google_2fapi_2fhttp_2eproto,
   338        nullptr,  // tracker
   339    };
   340  }
   341  
   342  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
   343      ::google::protobuf::internal::ClassDataFull Http_class_data_ =
   344          Http::InternalGenerateClassData_();
   345  
   346  PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
   347  Http::GetClassData() const {
   348    ::google::protobuf::internal::PrefetchToLocalCache(&Http_class_data_);
   349    ::google::protobuf::internal::PrefetchToLocalCache(Http_class_data_.tc_table);
   350    return Http_class_data_.base();
   351  }
   352  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
   353  const ::_pbi::TcParseTable<1, 2, 1, 0, 2>
   354  Http::_table_ = {
   355    {
   356      PROTOBUF_FIELD_OFFSET(Http, _impl_._has_bits_),
   357      0, // no _extensions_
   358      2, 8,  // max_field_number, fast_idx_mask
   359      offsetof(decltype(_table_), field_lookup_table),
   360      4294967292,  // skipmap
   361      offsetof(decltype(_table_), field_entries),
   362      2,  // num_field_entries
   363      1,  // num_aux_entries
   364      offsetof(decltype(_table_), aux_entries),
   365      Http_class_data_.base(),
   366      nullptr,  // post_loop_handler
   367      ::_pbi::TcParser::GenericFallback,  // fallback
   368      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
   369      ::_pbi::TcParser::GetTable<::google::api::Http>(),  // to_prefetch
   370      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
   371    }, {{
   372      // bool fully_decode_reserved_expansion = 2;
   373      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Http, _impl_.fully_decode_reserved_expansion_), 0>(),
   374       {16, 0, 0, PROTOBUF_FIELD_OFFSET(Http, _impl_.fully_decode_reserved_expansion_)}},
   375      // repeated .google.api.HttpRule rules = 1;
   376      {::_pbi::TcParser::FastMtR1,
   377       {10, 63, 0, PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_)}},
   378    }}, {{
   379      65535, 65535
   380    }}, {{
   381      // repeated .google.api.HttpRule rules = 1;
   382      {PROTOBUF_FIELD_OFFSET(Http, _impl_.rules_), -1, 0,
   383      (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
   384      // bool fully_decode_reserved_expansion = 2;
   385      {PROTOBUF_FIELD_OFFSET(Http, _impl_.fully_decode_reserved_expansion_), _Internal::kHasBitsOffset + 0, 0,
   386      (0 | ::_fl::kFcOptional | ::_fl::kBool)},
   387    }},
   388    {{
   389        {::_pbi::TcParser::GetTable<::google::api::HttpRule>()},
   390    }},
   391    {{
   392    }},
   393  };
   394  PROTOBUF_NOINLINE void Http::Clear() {
   395  // @@protoc_insertion_point(message_clear_start:google.api.Http)
   396    ::google::protobuf::internal::TSanWrite(&_impl_);
   397    ::uint32_t cached_has_bits = 0;
   398    // Prevent compiler warnings about cached_has_bits being unused
   399    (void) cached_has_bits;
   400  
   401    _impl_.rules_.Clear();
   402    _impl_.fully_decode_reserved_expansion_ = false;
   403    _impl_._has_bits_.Clear();
   404    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
   405  }
   406  
   407  #if defined(PROTOBUF_CUSTOM_VTABLE)
   408  ::uint8_t* PROTOBUF_NONNULL Http::_InternalSerialize(
   409      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
   410      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
   411    const Http& this_ = static_cast<const Http&>(base);
   412  #else   // PROTOBUF_CUSTOM_VTABLE
   413  ::uint8_t* PROTOBUF_NONNULL Http::_InternalSerialize(
   414      ::uint8_t* PROTOBUF_NONNULL target,
   415      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   416    const Http& this_ = *this;
   417  #endif  // PROTOBUF_CUSTOM_VTABLE
   418    // @@protoc_insertion_point(serialize_to_array_start:google.api.Http)
   419    ::uint32_t cached_has_bits = 0;
   420    (void)cached_has_bits;
   421  
   422    // repeated .google.api.HttpRule rules = 1;
   423    for (unsigned i = 0, n = static_cast<unsigned>(
   424                             this_._internal_rules_size());
   425         i < n; i++) {
   426      const auto& repfield = this_._internal_rules().Get(i);
   427      target =
   428          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   429              1, repfield, repfield.GetCachedSize(),
   430              target, stream);
   431    }
   432  
   433    // bool fully_decode_reserved_expansion = 2;
   434    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
   435      if (this_._internal_fully_decode_reserved_expansion() != 0) {
   436        target = stream->EnsureSpace(target);
   437        target = ::_pbi::WireFormatLite::WriteBoolToArray(
   438            2, this_._internal_fully_decode_reserved_expansion(), target);
   439      }
   440    }
   441  
   442    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
   443      target =
   444          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
   445              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
   446    }
   447    // @@protoc_insertion_point(serialize_to_array_end:google.api.Http)
   448    return target;
   449  }
   450  
   451  #if defined(PROTOBUF_CUSTOM_VTABLE)
   452  ::size_t Http::ByteSizeLong(const MessageLite& base) {
   453    const Http& this_ = static_cast<const Http&>(base);
   454  #else   // PROTOBUF_CUSTOM_VTABLE
   455  ::size_t Http::ByteSizeLong() const {
   456    const Http& this_ = *this;
   457  #endif  // PROTOBUF_CUSTOM_VTABLE
   458    // @@protoc_insertion_point(message_byte_size_start:google.api.Http)
   459    ::size_t total_size = 0;
   460  
   461    ::uint32_t cached_has_bits = 0;
   462    // Prevent compiler warnings about cached_has_bits being unused
   463    (void)cached_has_bits;
   464  
   465    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   466     {
   467      // repeated .google.api.HttpRule rules = 1;
   468      {
   469        total_size += 1UL * this_._internal_rules_size();
   470        for (const auto& msg : this_._internal_rules()) {
   471          total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
   472        }
   473      }
   474    }
   475     {
   476      // bool fully_decode_reserved_expansion = 2;
   477      cached_has_bits = this_._impl_._has_bits_[0];
   478      if ((cached_has_bits & 0x00000001u) != 0) {
   479        if (this_._internal_fully_decode_reserved_expansion() != 0) {
   480          total_size += 2;
   481        }
   482      }
   483    }
   484    return this_.MaybeComputeUnknownFieldsSize(total_size,
   485                                               &this_._impl_._cached_size_);
   486  }
   487  
   488  void Http::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
   489    auto* const _this = static_cast<Http*>(&to_msg);
   490    auto& from = static_cast<const Http&>(from_msg);
   491    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.Http)
   492    ABSL_DCHECK_NE(&from, _this);
   493    ::uint32_t cached_has_bits = 0;
   494    (void) cached_has_bits;
   495  
   496    _this->_internal_mutable_rules()->MergeFrom(
   497        from._internal_rules());
   498    cached_has_bits = from._impl_._has_bits_[0];
   499    if ((cached_has_bits & 0x00000001u) != 0) {
   500      if (from._internal_fully_decode_reserved_expansion() != 0) {
   501        _this->_impl_.fully_decode_reserved_expansion_ = from._impl_.fully_decode_reserved_expansion_;
   502      }
   503    }
   504    _this->_impl_._has_bits_[0] |= cached_has_bits;
   505    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
   506  }
   507  
   508  void Http::CopyFrom(const Http& from) {
   509  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.Http)
   510    if (&from == this) return;
   511    Clear();
   512    MergeFrom(from);
   513  }
   514  
   515  
   516  void Http::InternalSwap(Http* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
   517    using ::std::swap;
   518    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
   519    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
   520    _impl_.rules_.InternalSwap(&other->_impl_.rules_);
   521    swap(_impl_.fully_decode_reserved_expansion_, other->_impl_.fully_decode_reserved_expansion_);
   522  }
   523  
   524  ::google::protobuf::Metadata Http::GetMetadata() const {
   525    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
   526  }
   527  // ===================================================================
   528  
   529  class HttpRule::_Internal {
   530   public:
   531    using HasBits =
   532        decltype(::std::declval<HttpRule>()._impl_._has_bits_);
   533    static constexpr ::int32_t kHasBitsOffset =
   534        8 * PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._has_bits_);
   535    static constexpr ::int32_t kOneofCaseOffset =
   536        PROTOBUF_FIELD_OFFSET(::google::api::HttpRule, _impl_._oneof_case_);
   537  };
   538  
   539  void HttpRule::set_allocated_custom(::google::api::CustomHttpPattern* PROTOBUF_NULLABLE custom) {
   540    ::google::protobuf::Arena* message_arena = GetArena();
   541    clear_pattern();
   542    if (custom) {
   543      ::google::protobuf::Arena* submessage_arena = custom->GetArena();
   544      if (message_arena != submessage_arena) {
   545        custom = ::google::protobuf::internal::GetOwnedMessage(message_arena, custom, submessage_arena);
   546      }
   547      set_has_custom();
   548      _impl_.pattern_.custom_ = custom;
   549    }
   550    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.custom)
   551  }
   552  HttpRule::HttpRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   553  #if defined(PROTOBUF_CUSTOM_VTABLE)
   554      : ::google::protobuf::Message(arena, HttpRule_class_data_.base()) {
   555  #else   // PROTOBUF_CUSTOM_VTABLE
   556      : ::google::protobuf::Message(arena) {
   557  #endif  // PROTOBUF_CUSTOM_VTABLE
   558    SharedCtor(arena);
   559    // @@protoc_insertion_point(arena_constructor:google.api.HttpRule)
   560  }
   561  PROTOBUF_NDEBUG_INLINE HttpRule::Impl_::Impl_(
   562      ::google::protobuf::internal::InternalVisibility visibility,
   563      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   564      const ::google::api::HttpRule& from_msg)
   565        : _has_bits_{from._has_bits_},
   566          _cached_size_{0},
   567          additional_bindings_{visibility, arena, from.additional_bindings_},
   568          selector_(arena, from.selector_),
   569          body_(arena, from.body_),
   570          response_body_(arena, from.response_body_),
   571          pattern_{},
   572          _oneof_case_{from._oneof_case_[0]} {}
   573  
   574  HttpRule::HttpRule(
   575      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
   576      const HttpRule& from)
   577  #if defined(PROTOBUF_CUSTOM_VTABLE)
   578      : ::google::protobuf::Message(arena, HttpRule_class_data_.base()) {
   579  #else   // PROTOBUF_CUSTOM_VTABLE
   580      : ::google::protobuf::Message(arena) {
   581  #endif  // PROTOBUF_CUSTOM_VTABLE
   582    HttpRule* const _this = this;
   583    (void)_this;
   584    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
   585        from._internal_metadata_);
   586    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
   587    switch (pattern_case()) {
   588      case PATTERN_NOT_SET:
   589        break;
   590        case kGet:
   591          new (&_impl_.pattern_.get_) decltype(_impl_.pattern_.get_){arena, from._impl_.pattern_.get_};
   592          break;
   593        case kPut:
   594          new (&_impl_.pattern_.put_) decltype(_impl_.pattern_.put_){arena, from._impl_.pattern_.put_};
   595          break;
   596        case kPost:
   597          new (&_impl_.pattern_.post_) decltype(_impl_.pattern_.post_){arena, from._impl_.pattern_.post_};
   598          break;
   599        case kDelete:
   600          new (&_impl_.pattern_.delete__) decltype(_impl_.pattern_.delete__){arena, from._impl_.pattern_.delete__};
   601          break;
   602        case kPatch:
   603          new (&_impl_.pattern_.patch_) decltype(_impl_.pattern_.patch_){arena, from._impl_.pattern_.patch_};
   604          break;
   605        case kCustom:
   606          _impl_.pattern_.custom_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pattern_.custom_);
   607          break;
   608    }
   609  
   610    // @@protoc_insertion_point(copy_constructor:google.api.HttpRule)
   611  }
   612  PROTOBUF_NDEBUG_INLINE HttpRule::Impl_::Impl_(
   613      ::google::protobuf::internal::InternalVisibility visibility,
   614      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
   615        : _cached_size_{0},
   616          additional_bindings_{visibility, arena},
   617          selector_(arena),
   618          body_(arena),
   619          response_body_(arena),
   620          pattern_{},
   621          _oneof_case_{} {}
   622  
   623  inline void HttpRule::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
   624    new (&_impl_) Impl_(internal_visibility(), arena);
   625  }
   626  HttpRule::~HttpRule() {
   627    // @@protoc_insertion_point(destructor:google.api.HttpRule)
   628    SharedDtor(*this);
   629  }
   630  inline void HttpRule::SharedDtor(MessageLite& self) {
   631    HttpRule& this_ = static_cast<HttpRule&>(self);
   632    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
   633    ABSL_DCHECK(this_.GetArena() == nullptr);
   634    this_._impl_.selector_.Destroy();
   635    this_._impl_.body_.Destroy();
   636    this_._impl_.response_body_.Destroy();
   637    if (this_.has_pattern()) {
   638      this_.clear_pattern();
   639    }
   640    this_._impl_.~Impl_();
   641  }
   642  
   643  void HttpRule::clear_pattern() {
   644  // @@protoc_insertion_point(one_of_clear_start:google.api.HttpRule)
   645    ::google::protobuf::internal::TSanWrite(&_impl_);
   646    switch (pattern_case()) {
   647      case kGet: {
   648        _impl_.pattern_.get_.Destroy();
   649        break;
   650      }
   651      case kPut: {
   652        _impl_.pattern_.put_.Destroy();
   653        break;
   654      }
   655      case kPost: {
   656        _impl_.pattern_.post_.Destroy();
   657        break;
   658      }
   659      case kDelete: {
   660        _impl_.pattern_.delete__.Destroy();
   661        break;
   662      }
   663      case kPatch: {
   664        _impl_.pattern_.patch_.Destroy();
   665        break;
   666      }
   667      case kCustom: {
   668        if (GetArena() == nullptr) {
   669          delete _impl_.pattern_.custom_;
   670        } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
   671          ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.pattern_.custom_);
   672        }
   673        break;
   674      }
   675      case PATTERN_NOT_SET: {
   676        break;
   677      }
   678    }
   679    _impl_._oneof_case_[0] = PATTERN_NOT_SET;
   680  }
   681  
   682  
   683  inline void* PROTOBUF_NONNULL HttpRule::PlacementNew_(
   684      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   685      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
   686    return ::new (mem) HttpRule(arena);
   687  }
   688  constexpr auto HttpRule::InternalNewImpl_() {
   689    constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
   690        PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_) +
   691            decltype(HttpRule::_impl_.additional_bindings_)::
   692                InternalGetArenaOffset(
   693                    ::google::protobuf::Message::internal_visibility()),
   694    });
   695    if (arena_bits.has_value()) {
   696      return ::google::protobuf::internal::MessageCreator::CopyInit(
   697          sizeof(HttpRule), alignof(HttpRule), *arena_bits);
   698    } else {
   699      return ::google::protobuf::internal::MessageCreator(&HttpRule::PlacementNew_,
   700                                   sizeof(HttpRule),
   701                                   alignof(HttpRule));
   702    }
   703  }
   704  constexpr auto HttpRule::InternalGenerateClassData_() {
   705    return ::google::protobuf::internal::ClassDataFull{
   706        ::google::protobuf::internal::ClassData{
   707            &_HttpRule_default_instance_._instance,
   708            &_table_.header,
   709            nullptr,  // OnDemandRegisterArenaDtor
   710            nullptr,  // IsInitialized
   711            &HttpRule::MergeImpl,
   712            ::google::protobuf::Message::GetNewImpl<HttpRule>(),
   713  #if defined(PROTOBUF_CUSTOM_VTABLE)
   714            &HttpRule::SharedDtor,
   715            ::google::protobuf::Message::GetClearImpl<HttpRule>(), &HttpRule::ByteSizeLong,
   716                &HttpRule::_InternalSerialize,
   717  #endif  // PROTOBUF_CUSTOM_VTABLE
   718            PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._cached_size_),
   719            false,
   720        },
   721        &HttpRule::kDescriptorMethods,
   722        &descriptor_table_google_2fapi_2fhttp_2eproto,
   723        nullptr,  // tracker
   724    };
   725  }
   726  
   727  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
   728      ::google::protobuf::internal::ClassDataFull HttpRule_class_data_ =
   729          HttpRule::InternalGenerateClassData_();
   730  
   731  PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
   732  HttpRule::GetClassData() const {
   733    ::google::protobuf::internal::PrefetchToLocalCache(&HttpRule_class_data_);
   734    ::google::protobuf::internal::PrefetchToLocalCache(HttpRule_class_data_.tc_table);
   735    return HttpRule_class_data_.base();
   736  }
   737  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
   738  const ::_pbi::TcParseTable<3, 10, 2, 82, 2>
   739  HttpRule::_table_ = {
   740    {
   741      PROTOBUF_FIELD_OFFSET(HttpRule, _impl_._has_bits_),
   742      0, // no _extensions_
   743      12, 56,  // max_field_number, fast_idx_mask
   744      offsetof(decltype(_table_), field_lookup_table),
   745      4294963968,  // skipmap
   746      offsetof(decltype(_table_), field_entries),
   747      10,  // num_field_entries
   748      2,  // num_aux_entries
   749      offsetof(decltype(_table_), aux_entries),
   750      HttpRule_class_data_.base(),
   751      nullptr,  // post_loop_handler
   752      ::_pbi::TcParser::GenericFallback,  // fallback
   753      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
   754      ::_pbi::TcParser::GetTable<::google::api::HttpRule>(),  // to_prefetch
   755      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
   756    }, {{
   757      {::_pbi::TcParser::MiniParse, {}},
   758      // string selector = 1;
   759      {::_pbi::TcParser::FastUS1,
   760       {10, 0, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.selector_)}},
   761      {::_pbi::TcParser::MiniParse, {}},
   762      // repeated .google.api.HttpRule additional_bindings = 11;
   763      {::_pbi::TcParser::FastMtR1,
   764       {90, 63, 1, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_)}},
   765      // string response_body = 12;
   766      {::_pbi::TcParser::FastUS1,
   767       {98, 2, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.response_body_)}},
   768      {::_pbi::TcParser::MiniParse, {}},
   769      {::_pbi::TcParser::MiniParse, {}},
   770      // string body = 7;
   771      {::_pbi::TcParser::FastUS1,
   772       {58, 1, 0, PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.body_)}},
   773    }}, {{
   774      65535, 65535
   775    }}, {{
   776      // string selector = 1;
   777      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.selector_), _Internal::kHasBitsOffset + 0, 0,
   778      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   779      // string get = 2;
   780      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.get_), _Internal::kOneofCaseOffset + 0, 0,
   781      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   782      // string put = 3;
   783      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.put_), _Internal::kOneofCaseOffset + 0, 0,
   784      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   785      // string post = 4;
   786      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.post_), _Internal::kOneofCaseOffset + 0, 0,
   787      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   788      // string delete = 5;
   789      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.delete__), _Internal::kOneofCaseOffset + 0, 0,
   790      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   791      // string patch = 6;
   792      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.patch_), _Internal::kOneofCaseOffset + 0, 0,
   793      (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
   794      // string body = 7;
   795      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.body_), _Internal::kHasBitsOffset + 1, 0,
   796      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   797      // .google.api.CustomHttpPattern custom = 8;
   798      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.pattern_.custom_), _Internal::kOneofCaseOffset + 0, 0,
   799      (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
   800      // repeated .google.api.HttpRule additional_bindings = 11;
   801      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.additional_bindings_), -1, 1,
   802      (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
   803      // string response_body = 12;
   804      {PROTOBUF_FIELD_OFFSET(HttpRule, _impl_.response_body_), _Internal::kHasBitsOffset + 2, 0,
   805      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
   806    }},
   807    {{
   808        {::_pbi::TcParser::GetTable<::google::api::CustomHttpPattern>()},
   809        {::_pbi::TcParser::GetTable<::google::api::HttpRule>()},
   810    }},
   811    {{
   812      "\23\10\3\3\4\6\5\4\0\0\15\0\0\0\0\0"
   813      "google.api.HttpRule"
   814      "selector"
   815      "get"
   816      "put"
   817      "post"
   818      "delete"
   819      "patch"
   820      "body"
   821      "response_body"
   822    }},
   823  };
   824  PROTOBUF_NOINLINE void HttpRule::Clear() {
   825  // @@protoc_insertion_point(message_clear_start:google.api.HttpRule)
   826    ::google::protobuf::internal::TSanWrite(&_impl_);
   827    ::uint32_t cached_has_bits = 0;
   828    // Prevent compiler warnings about cached_has_bits being unused
   829    (void) cached_has_bits;
   830  
   831    _impl_.additional_bindings_.Clear();
   832    cached_has_bits = _impl_._has_bits_[0];
   833    if ((cached_has_bits & 0x00000007u) != 0) {
   834      if ((cached_has_bits & 0x00000001u) != 0) {
   835        _impl_.selector_.ClearNonDefaultToEmpty();
   836      }
   837      if ((cached_has_bits & 0x00000002u) != 0) {
   838        _impl_.body_.ClearNonDefaultToEmpty();
   839      }
   840      if ((cached_has_bits & 0x00000004u) != 0) {
   841        _impl_.response_body_.ClearNonDefaultToEmpty();
   842      }
   843    }
   844    clear_pattern();
   845    _impl_._has_bits_.Clear();
   846    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
   847  }
   848  
   849  #if defined(PROTOBUF_CUSTOM_VTABLE)
   850  ::uint8_t* PROTOBUF_NONNULL HttpRule::_InternalSerialize(
   851      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
   852      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
   853    const HttpRule& this_ = static_cast<const HttpRule&>(base);
   854  #else   // PROTOBUF_CUSTOM_VTABLE
   855  ::uint8_t* PROTOBUF_NONNULL HttpRule::_InternalSerialize(
   856      ::uint8_t* PROTOBUF_NONNULL target,
   857      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   858    const HttpRule& this_ = *this;
   859  #endif  // PROTOBUF_CUSTOM_VTABLE
   860    // @@protoc_insertion_point(serialize_to_array_start:google.api.HttpRule)
   861    ::uint32_t cached_has_bits = 0;
   862    (void)cached_has_bits;
   863  
   864    // string selector = 1;
   865    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
   866      if (!this_._internal_selector().empty()) {
   867        const ::std::string& _s = this_._internal_selector();
   868        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   869            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.selector");
   870        target = stream->WriteStringMaybeAliased(1, _s, target);
   871      }
   872    }
   873  
   874    switch (this_.pattern_case()) {
   875      case kGet: {
   876        const ::std::string& _s = this_._internal_get();
   877        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   878            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.get");
   879        target = stream->WriteStringMaybeAliased(2, _s, target);
   880        break;
   881      }
   882      case kPut: {
   883        const ::std::string& _s = this_._internal_put();
   884        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   885            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.put");
   886        target = stream->WriteStringMaybeAliased(3, _s, target);
   887        break;
   888      }
   889      case kPost: {
   890        const ::std::string& _s = this_._internal_post();
   891        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   892            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.post");
   893        target = stream->WriteStringMaybeAliased(4, _s, target);
   894        break;
   895      }
   896      case kDelete: {
   897        const ::std::string& _s = this_._internal_delete_();
   898        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   899            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.delete");
   900        target = stream->WriteStringMaybeAliased(5, _s, target);
   901        break;
   902      }
   903      case kPatch: {
   904        const ::std::string& _s = this_._internal_patch();
   905        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   906            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.patch");
   907        target = stream->WriteStringMaybeAliased(6, _s, target);
   908        break;
   909      }
   910      default:
   911        break;
   912    }
   913    // string body = 7;
   914    if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
   915      if (!this_._internal_body().empty()) {
   916        const ::std::string& _s = this_._internal_body();
   917        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   918            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.body");
   919        target = stream->WriteStringMaybeAliased(7, _s, target);
   920      }
   921    }
   922  
   923    // .google.api.CustomHttpPattern custom = 8;
   924    if (this_.pattern_case() == kCustom) {
   925      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   926          8, *this_._impl_.pattern_.custom_, this_._impl_.pattern_.custom_->GetCachedSize(), target,
   927          stream);
   928    }
   929  
   930    // repeated .google.api.HttpRule additional_bindings = 11;
   931    for (unsigned i = 0, n = static_cast<unsigned>(
   932                             this_._internal_additional_bindings_size());
   933         i < n; i++) {
   934      const auto& repfield = this_._internal_additional_bindings().Get(i);
   935      target =
   936          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
   937              11, repfield, repfield.GetCachedSize(),
   938              target, stream);
   939    }
   940  
   941    // string response_body = 12;
   942    if ((this_._impl_._has_bits_[0] & 0x00000004u) != 0) {
   943      if (!this_._internal_response_body().empty()) {
   944        const ::std::string& _s = this_._internal_response_body();
   945        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
   946            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.HttpRule.response_body");
   947        target = stream->WriteStringMaybeAliased(12, _s, target);
   948      }
   949    }
   950  
   951    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
   952      target =
   953          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
   954              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
   955    }
   956    // @@protoc_insertion_point(serialize_to_array_end:google.api.HttpRule)
   957    return target;
   958  }
   959  
   960  #if defined(PROTOBUF_CUSTOM_VTABLE)
   961  ::size_t HttpRule::ByteSizeLong(const MessageLite& base) {
   962    const HttpRule& this_ = static_cast<const HttpRule&>(base);
   963  #else   // PROTOBUF_CUSTOM_VTABLE
   964  ::size_t HttpRule::ByteSizeLong() const {
   965    const HttpRule& this_ = *this;
   966  #endif  // PROTOBUF_CUSTOM_VTABLE
   967    // @@protoc_insertion_point(message_byte_size_start:google.api.HttpRule)
   968    ::size_t total_size = 0;
   969  
   970    ::uint32_t cached_has_bits = 0;
   971    // Prevent compiler warnings about cached_has_bits being unused
   972    (void)cached_has_bits;
   973  
   974    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   975     {
   976      // repeated .google.api.HttpRule additional_bindings = 11;
   977      {
   978        total_size += 1UL * this_._internal_additional_bindings_size();
   979        for (const auto& msg : this_._internal_additional_bindings()) {
   980          total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
   981        }
   982      }
   983    }
   984    cached_has_bits = this_._impl_._has_bits_[0];
   985    if ((cached_has_bits & 0x00000007u) != 0) {
   986      // string selector = 1;
   987      if ((cached_has_bits & 0x00000001u) != 0) {
   988        if (!this_._internal_selector().empty()) {
   989          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
   990                                          this_._internal_selector());
   991        }
   992      }
   993      // string body = 7;
   994      if ((cached_has_bits & 0x00000002u) != 0) {
   995        if (!this_._internal_body().empty()) {
   996          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
   997                                          this_._internal_body());
   998        }
   999      }
  1000      // string response_body = 12;
  1001      if ((cached_has_bits & 0x00000004u) != 0) {
  1002        if (!this_._internal_response_body().empty()) {
  1003          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1004                                          this_._internal_response_body());
  1005        }
  1006      }
  1007    }
  1008    switch (this_.pattern_case()) {
  1009      // string get = 2;
  1010      case kGet: {
  1011        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1012                                        this_._internal_get());
  1013        break;
  1014      }
  1015      // string put = 3;
  1016      case kPut: {
  1017        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1018                                        this_._internal_put());
  1019        break;
  1020      }
  1021      // string post = 4;
  1022      case kPost: {
  1023        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1024                                        this_._internal_post());
  1025        break;
  1026      }
  1027      // string delete = 5;
  1028      case kDelete: {
  1029        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1030                                        this_._internal_delete_());
  1031        break;
  1032      }
  1033      // string patch = 6;
  1034      case kPatch: {
  1035        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1036                                        this_._internal_patch());
  1037        break;
  1038      }
  1039      // .google.api.CustomHttpPattern custom = 8;
  1040      case kCustom: {
  1041        total_size += 1 +
  1042                      ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.pattern_.custom_);
  1043        break;
  1044      }
  1045      case PATTERN_NOT_SET: {
  1046        break;
  1047      }
  1048    }
  1049    return this_.MaybeComputeUnknownFieldsSize(total_size,
  1050                                               &this_._impl_._cached_size_);
  1051  }
  1052  
  1053  void HttpRule::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  1054    auto* const _this = static_cast<HttpRule*>(&to_msg);
  1055    auto& from = static_cast<const HttpRule&>(from_msg);
  1056    ::google::protobuf::Arena* arena = _this->GetArena();
  1057    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.HttpRule)
  1058    ABSL_DCHECK_NE(&from, _this);
  1059    ::uint32_t cached_has_bits = 0;
  1060    (void) cached_has_bits;
  1061  
  1062    _this->_internal_mutable_additional_bindings()->MergeFrom(
  1063        from._internal_additional_bindings());
  1064    cached_has_bits = from._impl_._has_bits_[0];
  1065    if ((cached_has_bits & 0x00000007u) != 0) {
  1066      if ((cached_has_bits & 0x00000001u) != 0) {
  1067        if (!from._internal_selector().empty()) {
  1068          _this->_internal_set_selector(from._internal_selector());
  1069        } else {
  1070          if (_this->_impl_.selector_.IsDefault()) {
  1071            _this->_internal_set_selector("");
  1072          }
  1073        }
  1074      }
  1075      if ((cached_has_bits & 0x00000002u) != 0) {
  1076        if (!from._internal_body().empty()) {
  1077          _this->_internal_set_body(from._internal_body());
  1078        } else {
  1079          if (_this->_impl_.body_.IsDefault()) {
  1080            _this->_internal_set_body("");
  1081          }
  1082        }
  1083      }
  1084      if ((cached_has_bits & 0x00000004u) != 0) {
  1085        if (!from._internal_response_body().empty()) {
  1086          _this->_internal_set_response_body(from._internal_response_body());
  1087        } else {
  1088          if (_this->_impl_.response_body_.IsDefault()) {
  1089            _this->_internal_set_response_body("");
  1090          }
  1091        }
  1092      }
  1093    }
  1094    _this->_impl_._has_bits_[0] |= cached_has_bits;
  1095    if (const uint32_t oneof_from_case = from._impl_._oneof_case_[0]) {
  1096      const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
  1097      const bool oneof_needs_init = oneof_to_case != oneof_from_case;
  1098      if (oneof_needs_init) {
  1099        if (oneof_to_case != 0) {
  1100          _this->clear_pattern();
  1101        }
  1102        _this->_impl_._oneof_case_[0] = oneof_from_case;
  1103      }
  1104  
  1105      switch (oneof_from_case) {
  1106        case kGet: {
  1107          if (oneof_needs_init) {
  1108            _this->_impl_.pattern_.get_.InitDefault();
  1109          }
  1110          _this->_impl_.pattern_.get_.Set(from._internal_get(), arena);
  1111          break;
  1112        }
  1113        case kPut: {
  1114          if (oneof_needs_init) {
  1115            _this->_impl_.pattern_.put_.InitDefault();
  1116          }
  1117          _this->_impl_.pattern_.put_.Set(from._internal_put(), arena);
  1118          break;
  1119        }
  1120        case kPost: {
  1121          if (oneof_needs_init) {
  1122            _this->_impl_.pattern_.post_.InitDefault();
  1123          }
  1124          _this->_impl_.pattern_.post_.Set(from._internal_post(), arena);
  1125          break;
  1126        }
  1127        case kDelete: {
  1128          if (oneof_needs_init) {
  1129            _this->_impl_.pattern_.delete__.InitDefault();
  1130          }
  1131          _this->_impl_.pattern_.delete__.Set(from._internal_delete_(), arena);
  1132          break;
  1133        }
  1134        case kPatch: {
  1135          if (oneof_needs_init) {
  1136            _this->_impl_.pattern_.patch_.InitDefault();
  1137          }
  1138          _this->_impl_.pattern_.patch_.Set(from._internal_patch(), arena);
  1139          break;
  1140        }
  1141        case kCustom: {
  1142          if (oneof_needs_init) {
  1143            _this->_impl_.pattern_.custom_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.pattern_.custom_);
  1144          } else {
  1145            _this->_impl_.pattern_.custom_->MergeFrom(*from._impl_.pattern_.custom_);
  1146          }
  1147          break;
  1148        }
  1149        case PATTERN_NOT_SET:
  1150          break;
  1151      }
  1152    }
  1153    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
  1154  }
  1155  
  1156  void HttpRule::CopyFrom(const HttpRule& from) {
  1157  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.HttpRule)
  1158    if (&from == this) return;
  1159    Clear();
  1160    MergeFrom(from);
  1161  }
  1162  
  1163  
  1164  void HttpRule::InternalSwap(HttpRule* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  1165    using ::std::swap;
  1166    auto* arena = GetArena();
  1167    ABSL_DCHECK_EQ(arena, other->GetArena());
  1168    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  1169    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  1170    _impl_.additional_bindings_.InternalSwap(&other->_impl_.additional_bindings_);
  1171    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.selector_, &other->_impl_.selector_, arena);
  1172    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.body_, &other->_impl_.body_, arena);
  1173    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.response_body_, &other->_impl_.response_body_, arena);
  1174    swap(_impl_.pattern_, other->_impl_.pattern_);
  1175    swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
  1176  }
  1177  
  1178  ::google::protobuf::Metadata HttpRule::GetMetadata() const {
  1179    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
  1180  }
  1181  // ===================================================================
  1182  
  1183  class CustomHttpPattern::_Internal {
  1184   public:
  1185    using HasBits =
  1186        decltype(::std::declval<CustomHttpPattern>()._impl_._has_bits_);
  1187    static constexpr ::int32_t kHasBitsOffset =
  1188        8 * PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._has_bits_);
  1189  };
  1190  
  1191  CustomHttpPattern::CustomHttpPattern(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
  1192  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1193      : ::google::protobuf::Message(arena, CustomHttpPattern_class_data_.base()) {
  1194  #else   // PROTOBUF_CUSTOM_VTABLE
  1195      : ::google::protobuf::Message(arena) {
  1196  #endif  // PROTOBUF_CUSTOM_VTABLE
  1197    SharedCtor(arena);
  1198    // @@protoc_insertion_point(arena_constructor:google.api.CustomHttpPattern)
  1199  }
  1200  PROTOBUF_NDEBUG_INLINE CustomHttpPattern::Impl_::Impl_(
  1201      ::google::protobuf::internal::InternalVisibility visibility,
  1202      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
  1203      const ::google::api::CustomHttpPattern& from_msg)
  1204        : _has_bits_{from._has_bits_},
  1205          _cached_size_{0},
  1206          kind_(arena, from.kind_),
  1207          path_(arena, from.path_) {}
  1208  
  1209  CustomHttpPattern::CustomHttpPattern(
  1210      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
  1211      const CustomHttpPattern& from)
  1212  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1213      : ::google::protobuf::Message(arena, CustomHttpPattern_class_data_.base()) {
  1214  #else   // PROTOBUF_CUSTOM_VTABLE
  1215      : ::google::protobuf::Message(arena) {
  1216  #endif  // PROTOBUF_CUSTOM_VTABLE
  1217    CustomHttpPattern* const _this = this;
  1218    (void)_this;
  1219    _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
  1220        from._internal_metadata_);
  1221    new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  1222  
  1223    // @@protoc_insertion_point(copy_constructor:google.api.CustomHttpPattern)
  1224  }
  1225  PROTOBUF_NDEBUG_INLINE CustomHttpPattern::Impl_::Impl_(
  1226      ::google::protobuf::internal::InternalVisibility visibility,
  1227      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
  1228        : _cached_size_{0},
  1229          kind_(arena),
  1230          path_(arena) {}
  1231  
  1232  inline void CustomHttpPattern::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  1233    new (&_impl_) Impl_(internal_visibility(), arena);
  1234  }
  1235  CustomHttpPattern::~CustomHttpPattern() {
  1236    // @@protoc_insertion_point(destructor:google.api.CustomHttpPattern)
  1237    SharedDtor(*this);
  1238  }
  1239  inline void CustomHttpPattern::SharedDtor(MessageLite& self) {
  1240    CustomHttpPattern& this_ = static_cast<CustomHttpPattern&>(self);
  1241    this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  1242    ABSL_DCHECK(this_.GetArena() == nullptr);
  1243    this_._impl_.kind_.Destroy();
  1244    this_._impl_.path_.Destroy();
  1245    this_._impl_.~Impl_();
  1246  }
  1247  
  1248  inline void* PROTOBUF_NONNULL CustomHttpPattern::PlacementNew_(
  1249      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
  1250      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  1251    return ::new (mem) CustomHttpPattern(arena);
  1252  }
  1253  constexpr auto CustomHttpPattern::InternalNewImpl_() {
  1254    return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CustomHttpPattern),
  1255                                              alignof(CustomHttpPattern));
  1256  }
  1257  constexpr auto CustomHttpPattern::InternalGenerateClassData_() {
  1258    return ::google::protobuf::internal::ClassDataFull{
  1259        ::google::protobuf::internal::ClassData{
  1260            &_CustomHttpPattern_default_instance_._instance,
  1261            &_table_.header,
  1262            nullptr,  // OnDemandRegisterArenaDtor
  1263            nullptr,  // IsInitialized
  1264            &CustomHttpPattern::MergeImpl,
  1265            ::google::protobuf::Message::GetNewImpl<CustomHttpPattern>(),
  1266  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1267            &CustomHttpPattern::SharedDtor,
  1268            ::google::protobuf::Message::GetClearImpl<CustomHttpPattern>(), &CustomHttpPattern::ByteSizeLong,
  1269                &CustomHttpPattern::_InternalSerialize,
  1270  #endif  // PROTOBUF_CUSTOM_VTABLE
  1271            PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._cached_size_),
  1272            false,
  1273        },
  1274        &CustomHttpPattern::kDescriptorMethods,
  1275        &descriptor_table_google_2fapi_2fhttp_2eproto,
  1276        nullptr,  // tracker
  1277    };
  1278  }
  1279  
  1280  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
  1281      ::google::protobuf::internal::ClassDataFull CustomHttpPattern_class_data_ =
  1282          CustomHttpPattern::InternalGenerateClassData_();
  1283  
  1284  PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
  1285  CustomHttpPattern::GetClassData() const {
  1286    ::google::protobuf::internal::PrefetchToLocalCache(&CustomHttpPattern_class_data_);
  1287    ::google::protobuf::internal::PrefetchToLocalCache(CustomHttpPattern_class_data_.tc_table);
  1288    return CustomHttpPattern_class_data_.base();
  1289  }
  1290  PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
  1291  const ::_pbi::TcParseTable<1, 2, 0, 45, 2>
  1292  CustomHttpPattern::_table_ = {
  1293    {
  1294      PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_._has_bits_),
  1295      0, // no _extensions_
  1296      2, 8,  // max_field_number, fast_idx_mask
  1297      offsetof(decltype(_table_), field_lookup_table),
  1298      4294967292,  // skipmap
  1299      offsetof(decltype(_table_), field_entries),
  1300      2,  // num_field_entries
  1301      0,  // num_aux_entries
  1302      offsetof(decltype(_table_), field_names),  // no aux_entries
  1303      CustomHttpPattern_class_data_.base(),
  1304      nullptr,  // post_loop_handler
  1305      ::_pbi::TcParser::GenericFallback,  // fallback
  1306      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
  1307      ::_pbi::TcParser::GetTable<::google::api::CustomHttpPattern>(),  // to_prefetch
  1308      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  1309    }, {{
  1310      // string path = 2;
  1311      {::_pbi::TcParser::FastUS1,
  1312       {18, 1, 0, PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.path_)}},
  1313      // string kind = 1;
  1314      {::_pbi::TcParser::FastUS1,
  1315       {10, 0, 0, PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.kind_)}},
  1316    }}, {{
  1317      65535, 65535
  1318    }}, {{
  1319      // string kind = 1;
  1320      {PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.kind_), _Internal::kHasBitsOffset + 0, 0,
  1321      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
  1322      // string path = 2;
  1323      {PROTOBUF_FIELD_OFFSET(CustomHttpPattern, _impl_.path_), _Internal::kHasBitsOffset + 1, 0,
  1324      (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
  1325    }},
  1326    // no aux_entries
  1327    {{
  1328      "\34\4\4\0\0\0\0\0"
  1329      "google.api.CustomHttpPattern"
  1330      "kind"
  1331      "path"
  1332    }},
  1333  };
  1334  PROTOBUF_NOINLINE void CustomHttpPattern::Clear() {
  1335  // @@protoc_insertion_point(message_clear_start:google.api.CustomHttpPattern)
  1336    ::google::protobuf::internal::TSanWrite(&_impl_);
  1337    ::uint32_t cached_has_bits = 0;
  1338    // Prevent compiler warnings about cached_has_bits being unused
  1339    (void) cached_has_bits;
  1340  
  1341    cached_has_bits = _impl_._has_bits_[0];
  1342    if ((cached_has_bits & 0x00000003u) != 0) {
  1343      if ((cached_has_bits & 0x00000001u) != 0) {
  1344        _impl_.kind_.ClearNonDefaultToEmpty();
  1345      }
  1346      if ((cached_has_bits & 0x00000002u) != 0) {
  1347        _impl_.path_.ClearNonDefaultToEmpty();
  1348      }
  1349    }
  1350    _impl_._has_bits_.Clear();
  1351    _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
  1352  }
  1353  
  1354  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1355  ::uint8_t* PROTOBUF_NONNULL CustomHttpPattern::_InternalSerialize(
  1356      const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
  1357      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  1358    const CustomHttpPattern& this_ = static_cast<const CustomHttpPattern&>(base);
  1359  #else   // PROTOBUF_CUSTOM_VTABLE
  1360  ::uint8_t* PROTOBUF_NONNULL CustomHttpPattern::_InternalSerialize(
  1361      ::uint8_t* PROTOBUF_NONNULL target,
  1362      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  1363    const CustomHttpPattern& this_ = *this;
  1364  #endif  // PROTOBUF_CUSTOM_VTABLE
  1365    // @@protoc_insertion_point(serialize_to_array_start:google.api.CustomHttpPattern)
  1366    ::uint32_t cached_has_bits = 0;
  1367    (void)cached_has_bits;
  1368  
  1369    // string kind = 1;
  1370    if ((this_._impl_._has_bits_[0] & 0x00000001u) != 0) {
  1371      if (!this_._internal_kind().empty()) {
  1372        const ::std::string& _s = this_._internal_kind();
  1373        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
  1374            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.CustomHttpPattern.kind");
  1375        target = stream->WriteStringMaybeAliased(1, _s, target);
  1376      }
  1377    }
  1378  
  1379    // string path = 2;
  1380    if ((this_._impl_._has_bits_[0] & 0x00000002u) != 0) {
  1381      if (!this_._internal_path().empty()) {
  1382        const ::std::string& _s = this_._internal_path();
  1383        ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
  1384            _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.api.CustomHttpPattern.path");
  1385        target = stream->WriteStringMaybeAliased(2, _s, target);
  1386      }
  1387    }
  1388  
  1389    if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
  1390      target =
  1391          ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
  1392              this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  1393    }
  1394    // @@protoc_insertion_point(serialize_to_array_end:google.api.CustomHttpPattern)
  1395    return target;
  1396  }
  1397  
  1398  #if defined(PROTOBUF_CUSTOM_VTABLE)
  1399  ::size_t CustomHttpPattern::ByteSizeLong(const MessageLite& base) {
  1400    const CustomHttpPattern& this_ = static_cast<const CustomHttpPattern&>(base);
  1401  #else   // PROTOBUF_CUSTOM_VTABLE
  1402  ::size_t CustomHttpPattern::ByteSizeLong() const {
  1403    const CustomHttpPattern& this_ = *this;
  1404  #endif  // PROTOBUF_CUSTOM_VTABLE
  1405    // @@protoc_insertion_point(message_byte_size_start:google.api.CustomHttpPattern)
  1406    ::size_t total_size = 0;
  1407  
  1408    ::uint32_t cached_has_bits = 0;
  1409    // Prevent compiler warnings about cached_has_bits being unused
  1410    (void)cached_has_bits;
  1411  
  1412    ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  1413    cached_has_bits = this_._impl_._has_bits_[0];
  1414    if ((cached_has_bits & 0x00000003u) != 0) {
  1415      // string kind = 1;
  1416      if ((cached_has_bits & 0x00000001u) != 0) {
  1417        if (!this_._internal_kind().empty()) {
  1418          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1419                                          this_._internal_kind());
  1420        }
  1421      }
  1422      // string path = 2;
  1423      if ((cached_has_bits & 0x00000002u) != 0) {
  1424        if (!this_._internal_path().empty()) {
  1425          total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
  1426                                          this_._internal_path());
  1427        }
  1428      }
  1429    }
  1430    return this_.MaybeComputeUnknownFieldsSize(total_size,
  1431                                               &this_._impl_._cached_size_);
  1432  }
  1433  
  1434  void CustomHttpPattern::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  1435    auto* const _this = static_cast<CustomHttpPattern*>(&to_msg);
  1436    auto& from = static_cast<const CustomHttpPattern&>(from_msg);
  1437    // @@protoc_insertion_point(class_specific_merge_from_start:google.api.CustomHttpPattern)
  1438    ABSL_DCHECK_NE(&from, _this);
  1439    ::uint32_t cached_has_bits = 0;
  1440    (void) cached_has_bits;
  1441  
  1442    cached_has_bits = from._impl_._has_bits_[0];
  1443    if ((cached_has_bits & 0x00000003u) != 0) {
  1444      if ((cached_has_bits & 0x00000001u) != 0) {
  1445        if (!from._internal_kind().empty()) {
  1446          _this->_internal_set_kind(from._internal_kind());
  1447        } else {
  1448          if (_this->_impl_.kind_.IsDefault()) {
  1449            _this->_internal_set_kind("");
  1450          }
  1451        }
  1452      }
  1453      if ((cached_has_bits & 0x00000002u) != 0) {
  1454        if (!from._internal_path().empty()) {
  1455          _this->_internal_set_path(from._internal_path());
  1456        } else {
  1457          if (_this->_impl_.path_.IsDefault()) {
  1458            _this->_internal_set_path("");
  1459          }
  1460        }
  1461      }
  1462    }
  1463    _this->_impl_._has_bits_[0] |= cached_has_bits;
  1464    _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
  1465  }
  1466  
  1467  void CustomHttpPattern::CopyFrom(const CustomHttpPattern& from) {
  1468  // @@protoc_insertion_point(class_specific_copy_from_start:google.api.CustomHttpPattern)
  1469    if (&from == this) return;
  1470    Clear();
  1471    MergeFrom(from);
  1472  }
  1473  
  1474  
  1475  void CustomHttpPattern::InternalSwap(CustomHttpPattern* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  1476    using ::std::swap;
  1477    auto* arena = GetArena();
  1478    ABSL_DCHECK_EQ(arena, other->GetArena());
  1479    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  1480    swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  1481    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.kind_, &other->_impl_.kind_, arena);
  1482    ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_, &other->_impl_.path_, arena);
  1483  }
  1484  
  1485  ::google::protobuf::Metadata CustomHttpPattern::GetMetadata() const {
  1486    return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
  1487  }
  1488  // @@protoc_insertion_point(namespace_scope)
  1489  }  // namespace api
  1490  }  // namespace google
  1491  namespace google {
  1492  namespace protobuf {
  1493  }  // namespace protobuf
  1494  }  // namespace google
  1495  // @@protoc_insertion_point(global_scope)
  1496  PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
  1497      _static_init2_ [[maybe_unused]] =
  1498          (::_pbi::AddDescriptors(&descriptor_table_google_2fapi_2fhttp_2eproto),
  1499           ::std::false_type{});
  1500  #include "google/protobuf/port_undef.inc"