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

#ifndef google_2fapi_2fclient_2eproto_2epb_2eh
#define google_2fapi_2fclient_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/map.h"  // IWYU pragma: export
#include "google/protobuf/map_type_handler.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field.h"
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/api/launch_stage.pb.h"
#include "google/protobuf/descriptor.pb.h"
#include "google/protobuf/duration.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_google_2fapi_2fclient_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_google_2fapi_2fclient_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fapi_2fclient_2eproto;
}  // extern "C"
namespace google {
namespace api {
enum ClientLibraryDestination : int;
extern const uint32_t ClientLibraryDestination_internal_data_[];
enum ClientLibraryOrganization : int;
extern const uint32_t ClientLibraryOrganization_internal_data_[];
class ClientLibrarySettings;
struct ClientLibrarySettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ClientLibrarySettingsGlobalsTypeInternal ClientLibrarySettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull ClientLibrarySettings_class_data_;
#else
extern const ClientLibrarySettingsGlobalsTypeInternal ClientLibrarySettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CommonLanguageSettings;
struct CommonLanguageSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CommonLanguageSettingsGlobalsTypeInternal CommonLanguageSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull CommonLanguageSettings_class_data_;
#else
extern const CommonLanguageSettingsGlobalsTypeInternal CommonLanguageSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CppSettings;
struct CppSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CppSettingsGlobalsTypeInternal CppSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull CppSettings_class_data_;
#else
extern const CppSettingsGlobalsTypeInternal CppSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DotnetSettings;
struct DotnetSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DotnetSettingsGlobalsTypeInternal DotnetSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull DotnetSettings_class_data_;
#else
extern const DotnetSettingsGlobalsTypeInternal DotnetSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DotnetSettings_RenamedResourcesEntry_DoNotUse;
struct DotnetSettings_RenamedResourcesEntry_DoNotUseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DotnetSettings_RenamedResourcesEntry_DoNotUseGlobalsTypeInternal DotnetSettings_RenamedResourcesEntry_DoNotUse_globals_;
extern const ::google::protobuf::internal::ClassDataFull DotnetSettings_RenamedResourcesEntry_DoNotUse_class_data_;
#else
extern const DotnetSettings_RenamedResourcesEntry_DoNotUseGlobalsTypeInternal DotnetSettings_RenamedResourcesEntry_DoNotUse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DotnetSettings_RenamedServicesEntry_DoNotUse;
struct DotnetSettings_RenamedServicesEntry_DoNotUseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DotnetSettings_RenamedServicesEntry_DoNotUseGlobalsTypeInternal DotnetSettings_RenamedServicesEntry_DoNotUse_globals_;
extern const ::google::protobuf::internal::ClassDataFull DotnetSettings_RenamedServicesEntry_DoNotUse_class_data_;
#else
extern const DotnetSettings_RenamedServicesEntry_DoNotUseGlobalsTypeInternal DotnetSettings_RenamedServicesEntry_DoNotUse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GoSettings;
struct GoSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GoSettingsGlobalsTypeInternal GoSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull GoSettings_class_data_;
#else
extern const GoSettingsGlobalsTypeInternal GoSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class JavaSettings;
struct JavaSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern JavaSettingsGlobalsTypeInternal JavaSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull JavaSettings_class_data_;
#else
extern const JavaSettingsGlobalsTypeInternal JavaSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class JavaSettings_ServiceClassNamesEntry_DoNotUse;
struct JavaSettings_ServiceClassNamesEntry_DoNotUseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern JavaSettings_ServiceClassNamesEntry_DoNotUseGlobalsTypeInternal JavaSettings_ServiceClassNamesEntry_DoNotUse_globals_;
extern const ::google::protobuf::internal::ClassDataFull JavaSettings_ServiceClassNamesEntry_DoNotUse_class_data_;
#else
extern const JavaSettings_ServiceClassNamesEntry_DoNotUseGlobalsTypeInternal JavaSettings_ServiceClassNamesEntry_DoNotUse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MethodSettings;
struct MethodSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MethodSettingsGlobalsTypeInternal MethodSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull MethodSettings_class_data_;
#else
extern const MethodSettingsGlobalsTypeInternal MethodSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MethodSettings_LongRunning;
struct MethodSettings_LongRunningGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MethodSettings_LongRunningGlobalsTypeInternal MethodSettings_LongRunning_globals_;
extern const ::google::protobuf::internal::ClassDataFull MethodSettings_LongRunning_class_data_;
#else
extern const MethodSettings_LongRunningGlobalsTypeInternal MethodSettings_LongRunning_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class NodeSettings;
struct NodeSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern NodeSettingsGlobalsTypeInternal NodeSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull NodeSettings_class_data_;
#else
extern const NodeSettingsGlobalsTypeInternal NodeSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class PhpSettings;
struct PhpSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern PhpSettingsGlobalsTypeInternal PhpSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull PhpSettings_class_data_;
#else
extern const PhpSettingsGlobalsTypeInternal PhpSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class Publishing;
struct PublishingGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern PublishingGlobalsTypeInternal Publishing_globals_;
extern const ::google::protobuf::internal::ClassDataFull Publishing_class_data_;
#else
extern const PublishingGlobalsTypeInternal Publishing_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class PythonSettings;
struct PythonSettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern PythonSettingsGlobalsTypeInternal PythonSettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull PythonSettings_class_data_;
#else
extern const PythonSettingsGlobalsTypeInternal PythonSettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RubySettings;
struct RubySettingsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RubySettingsGlobalsTypeInternal RubySettings_globals_;
extern const ::google::protobuf::internal::ClassDataFull RubySettings_class_data_;
#else
extern const RubySettingsGlobalsTypeInternal RubySettings_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace api
namespace protobuf {
template <>
internal::EnumTraitsT<::google::api::ClientLibraryDestination_internal_data_>
    internal::EnumTraitsImpl::value<::google::api::ClientLibraryDestination>;
template <>
internal::EnumTraitsT<::google::api::ClientLibraryOrganization_internal_data_>
    internal::EnumTraitsImpl::value<::google::api::ClientLibraryOrganization>;
}  // namespace protobuf
}  // namespace google

namespace google {
namespace api {
enum ClientLibraryOrganization : int {
  CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0,
  CLOUD = 1,
  ADS = 2,
  PHOTOS = 3,
  STREET_VIEW = 4,
  SHOPPING = 5,
  GEO = 6,
  GENERATIVE_AI = 7,
  ClientLibraryOrganization_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ClientLibraryOrganization_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ClientLibraryOrganization_internal_data_[];
inline constexpr ClientLibraryOrganization ClientLibraryOrganization_MIN =
    static_cast<ClientLibraryOrganization>(0);
inline constexpr ClientLibraryOrganization ClientLibraryOrganization_MAX =
    static_cast<ClientLibraryOrganization>(7);
[[nodiscard]] inline bool ClientLibraryOrganization_IsValid(int value) {
  return 0 <= value && value <= 7;
}
inline constexpr int ClientLibraryOrganization_ARRAYSIZE = 7 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
ClientLibraryOrganization_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(ClientLibraryOrganization) {
  return ClientLibraryOrganization_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& ClientLibraryOrganization_Name(T value) {
  static_assert(::std::is_same<T, ClientLibraryOrganization>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ClientLibraryOrganization_Name().");
  return ClientLibraryOrganization_Name(static_cast<ClientLibraryOrganization>(value));
}
template <>
[[nodiscard]] inline const ::std::string& ClientLibraryOrganization_Name(ClientLibraryOrganization value) {
  return ::google::protobuf::internal::NameOfDenseEnum<ClientLibraryOrganization_descriptor, 0, 7>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool ClientLibraryOrganization_Parse(
    ::absl::string_view name, ClientLibraryOrganization* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<ClientLibraryOrganization>(ClientLibraryOrganization_descriptor(), name,
                                           value);
}
enum ClientLibraryDestination : int {
  CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0,
  GITHUB = 10,
  PACKAGE_MANAGER = 20,
  ClientLibraryDestination_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  ClientLibraryDestination_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t ClientLibraryDestination_internal_data_[];
inline constexpr ClientLibraryDestination ClientLibraryDestination_MIN =
    static_cast<ClientLibraryDestination>(0);
inline constexpr ClientLibraryDestination ClientLibraryDestination_MAX =
    static_cast<ClientLibraryDestination>(20);
[[nodiscard]] inline bool ClientLibraryDestination_IsValid(int value) {
  return 0 <= value && value <= 20 && ((1049601u >> value) & 1) != 0;
}
inline constexpr int ClientLibraryDestination_ARRAYSIZE = 20 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
ClientLibraryDestination_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(ClientLibraryDestination) {
  return ClientLibraryDestination_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& ClientLibraryDestination_Name(T value) {
  static_assert(::std::is_same<T, ClientLibraryDestination>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to ClientLibraryDestination_Name().");
  return ::google::protobuf::internal::NameOfEnum(ClientLibraryDestination_descriptor(), value);
}
[[nodiscard]] inline bool ClientLibraryDestination_Parse(
    ::absl::string_view name, ClientLibraryDestination* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<ClientLibraryDestination>(ClientLibraryDestination_descriptor(), name,
                                           value);
}
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

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


// -------------------------------------------------------------------

class PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED JavaSettings_ServiceClassNamesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  JavaSettings_ServiceClassNamesEntry_DoNotUse();
  template <typename = void>
  explicit constexpr JavaSettings_ServiceClassNamesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);
  explicit JavaSettings_ServiceClassNamesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_message_globals() {
    return &JavaSettings_ServiceClassNamesEntry_DoNotUse_globals_;
  }


  static constexpr auto InternalGenerateClassData_(
      const ::google::protobuf::MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
  friend ::google::protobuf::internal::PrivateAccess;
  friend JavaSettings_ServiceClassNamesEntry_DoNotUseGlobalsTypeInternal;

  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 63,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
// -------------------------------------------------------------------

class PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DotnetSettings_RenamedServicesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  DotnetSettings_RenamedServicesEntry_DoNotUse();
  template <typename = void>
  explicit constexpr DotnetSettings_RenamedServicesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);
  explicit DotnetSettings_RenamedServicesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_message_globals() {
    return &DotnetSettings_RenamedServicesEntry_DoNotUse_globals_;
  }


  static constexpr auto InternalGenerateClassData_(
      const ::google::protobuf::MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
  friend ::google::protobuf::internal::PrivateAccess;
  friend DotnetSettings_RenamedServicesEntry_DoNotUseGlobalsTypeInternal;

  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 63,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
// -------------------------------------------------------------------

class PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DotnetSettings_RenamedResourcesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  DotnetSettings_RenamedResourcesEntry_DoNotUse();
  template <typename = void>
  explicit constexpr DotnetSettings_RenamedResourcesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);
  explicit DotnetSettings_RenamedResourcesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_message_globals() {
    return &DotnetSettings_RenamedResourcesEntry_DoNotUse_globals_;
  }


  static constexpr auto InternalGenerateClassData_(
      const ::google::protobuf::MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
  friend ::google::protobuf::internal::PrivateAccess;
  friend DotnetSettings_RenamedResourcesEntry_DoNotUseGlobalsTypeInternal;

  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 64,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CommonLanguageSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.CommonLanguageSettings) */ {
 public:
  inline CommonLanguageSettings() : CommonLanguageSettings(nullptr) {}
  ~CommonLanguageSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CommonLanguageSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CommonLanguageSettings));
  }
#endif

  template <typename = void>
  explicit constexpr CommonLanguageSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CommonLanguageSettings(const CommonLanguageSettings& from) : CommonLanguageSettings(nullptr, from) {}
  inline CommonLanguageSettings(CommonLanguageSettings&& from) noexcept : CommonLanguageSettings(nullptr, ::std::move(from)) {}
  inline CommonLanguageSettings& operator=(const CommonLanguageSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline CommonLanguageSettings& operator=(CommonLanguageSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CommonLanguageSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CommonLanguageSettings>(&CommonLanguageSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(CommonLanguageSettings& a, CommonLanguageSettings& b) { a.Swap(&b); }
  inline void Swap(CommonLanguageSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CommonLanguageSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CommonLanguageSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CommonLanguageSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CommonLanguageSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CommonLanguageSettings& from) { CommonLanguageSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CommonLanguageSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.CommonLanguageSettings"; }

  explicit CommonLanguageSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CommonLanguageSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CommonLanguageSettings& from);
  CommonLanguageSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CommonLanguageSettings&& from) noexcept
      : CommonLanguageSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kDestinationsFieldNumber = 2,
    kReferenceDocsUriFieldNumber = 1,
  };
  // repeated .google.api.ClientLibraryDestination destinations = 2;
  [[nodiscard]] int destinations_size()
      const;
  private:
  int _internal_destinations_size() const;

  public:
  void clear_destinations() ;
  public:
  [[nodiscard]] ::google::api::ClientLibraryDestination destinations(int index) const;
  void set_destinations(int index, ::google::api::ClientLibraryDestination value);
  void add_destinations(::google::api::ClientLibraryDestination value);
  [[nodiscard]] const ::google::protobuf::RepeatedField<int>& destinations()
      const;
  [[nodiscard]] ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_destinations();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_destinations() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_destinations();

  public:
  // string reference_docs_uri = 1 [deprecated = true];
  [[deprecated]]  void clear_reference_docs_uri() ;
  [[nodiscard]] [[deprecated]] const ::std::string& reference_docs_uri() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  [[deprecated]] void set_reference_docs_uri(Arg_&& arg, Args_... args);
  [[deprecated]] ::std::string* PROTOBUF_NONNULL mutable_reference_docs_uri();
  [[deprecated]] [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_reference_docs_uri();
  [[deprecated]] void set_allocated_reference_docs_uri(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_reference_docs_uri() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_reference_docs_uri(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_reference_docs_uri();

  public:
  // @@protoc_insertion_point(class_scope:google.api.CommonLanguageSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 60,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CommonLanguageSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<int> destinations_;
    ::google::protobuf::internal::CachedSize _destinations_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr reference_docs_uri_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RubySettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.RubySettings) */ {
 public:
  inline RubySettings() : RubySettings(nullptr) {}
  ~RubySettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RubySettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RubySettings));
  }
#endif

  template <typename = void>
  explicit constexpr RubySettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RubySettings(const RubySettings& from) : RubySettings(nullptr, from) {}
  inline RubySettings(RubySettings&& from) noexcept : RubySettings(nullptr, ::std::move(from)) {}
  inline RubySettings& operator=(const RubySettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline RubySettings& operator=(RubySettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const RubySettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RubySettings>(&RubySettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(RubySettings& a, RubySettings& b) { a.Swap(&b); }
  inline void Swap(RubySettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RubySettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RubySettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<RubySettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const RubySettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const RubySettings& from) { RubySettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RubySettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.RubySettings"; }

  explicit RubySettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RubySettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RubySettings& from);
  RubySettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RubySettings&& from) noexcept
      : RubySettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.RubySettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RubySettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED PythonSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.PythonSettings) */ {
 public:
  inline PythonSettings() : PythonSettings(nullptr) {}
  ~PythonSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(PythonSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(PythonSettings));
  }
#endif

  template <typename = void>
  explicit constexpr PythonSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline PythonSettings(const PythonSettings& from) : PythonSettings(nullptr, from) {}
  inline PythonSettings(PythonSettings&& from) noexcept : PythonSettings(nullptr, ::std::move(from)) {}
  inline PythonSettings& operator=(const PythonSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline PythonSettings& operator=(PythonSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const PythonSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<PythonSettings>(&PythonSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(PythonSettings& a, PythonSettings& b) { a.Swap(&b); }
  inline void Swap(PythonSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PythonSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] PythonSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<PythonSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const PythonSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const PythonSettings& from) { PythonSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(PythonSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.PythonSettings"; }

  explicit PythonSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  PythonSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PythonSettings& from);
  PythonSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PythonSettings&& from) noexcept
      : PythonSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.PythonSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const PythonSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED PhpSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.PhpSettings) */ {
 public:
  inline PhpSettings() : PhpSettings(nullptr) {}
  ~PhpSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(PhpSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(PhpSettings));
  }
#endif

  template <typename = void>
  explicit constexpr PhpSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline PhpSettings(const PhpSettings& from) : PhpSettings(nullptr, from) {}
  inline PhpSettings(PhpSettings&& from) noexcept : PhpSettings(nullptr, ::std::move(from)) {}
  inline PhpSettings& operator=(const PhpSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline PhpSettings& operator=(PhpSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const PhpSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<PhpSettings>(&PhpSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(PhpSettings& a, PhpSettings& b) { a.Swap(&b); }
  inline void Swap(PhpSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PhpSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] PhpSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<PhpSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const PhpSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const PhpSettings& from) { PhpSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(PhpSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.PhpSettings"; }

  explicit PhpSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  PhpSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PhpSettings& from);
  PhpSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PhpSettings&& from) noexcept
      : PhpSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.PhpSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const PhpSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED NodeSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.NodeSettings) */ {
 public:
  inline NodeSettings() : NodeSettings(nullptr) {}
  ~NodeSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(NodeSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(NodeSettings));
  }
#endif

  template <typename = void>
  explicit constexpr NodeSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline NodeSettings(const NodeSettings& from) : NodeSettings(nullptr, from) {}
  inline NodeSettings(NodeSettings&& from) noexcept : NodeSettings(nullptr, ::std::move(from)) {}
  inline NodeSettings& operator=(const NodeSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline NodeSettings& operator=(NodeSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const NodeSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<NodeSettings>(&NodeSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(NodeSettings& a, NodeSettings& b) { a.Swap(&b); }
  inline void Swap(NodeSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NodeSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] NodeSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<NodeSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const NodeSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const NodeSettings& from) { NodeSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(NodeSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.NodeSettings"; }

  explicit NodeSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  NodeSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NodeSettings& from);
  NodeSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NodeSettings&& from) noexcept
      : NodeSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.NodeSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const NodeSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MethodSettings_LongRunning final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.MethodSettings.LongRunning) */ {
 public:
  inline MethodSettings_LongRunning() : MethodSettings_LongRunning(nullptr) {}
  ~MethodSettings_LongRunning() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MethodSettings_LongRunning* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MethodSettings_LongRunning));
  }
#endif

  template <typename = void>
  explicit constexpr MethodSettings_LongRunning(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MethodSettings_LongRunning(const MethodSettings_LongRunning& from) : MethodSettings_LongRunning(nullptr, from) {}
  inline MethodSettings_LongRunning(MethodSettings_LongRunning&& from) noexcept : MethodSettings_LongRunning(nullptr, ::std::move(from)) {}
  inline MethodSettings_LongRunning& operator=(const MethodSettings_LongRunning& from) {
    CopyFrom(from);
    return *this;
  }
  inline MethodSettings_LongRunning& operator=(MethodSettings_LongRunning&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MethodSettings_LongRunning& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MethodSettings_LongRunning>(&MethodSettings_LongRunning_globals_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(MethodSettings_LongRunning& a, MethodSettings_LongRunning& b) { a.Swap(&b); }
  inline void Swap(MethodSettings_LongRunning* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MethodSettings_LongRunning* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MethodSettings_LongRunning* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MethodSettings_LongRunning>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MethodSettings_LongRunning& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MethodSettings_LongRunning& from) { MethodSettings_LongRunning::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MethodSettings_LongRunning* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.MethodSettings.LongRunning"; }

  explicit MethodSettings_LongRunning(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MethodSettings_LongRunning(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MethodSettings_LongRunning& from);
  MethodSettings_LongRunning(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MethodSettings_LongRunning&& from) noexcept
      : MethodSettings_LongRunning(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kInitialPollDelayFieldNumber = 1,
    kMaxPollDelayFieldNumber = 3,
    kTotalPollTimeoutFieldNumber = 4,
    kPollDelayMultiplierFieldNumber = 2,
  };
  // .google.protobuf.Duration initial_poll_delay = 1;
  [[nodiscard]] bool has_initial_poll_delay()
      const;
  void clear_initial_poll_delay() ;
  [[nodiscard]] const ::google::protobuf::Duration& initial_poll_delay() const;
  [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_initial_poll_delay();
  ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_initial_poll_delay();
  void set_allocated_initial_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_initial_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_initial_poll_delay();

  private:
  const ::google::protobuf::Duration& _internal_initial_poll_delay() const;
  ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_initial_poll_delay();

  public:
  // .google.protobuf.Duration max_poll_delay = 3;
  [[nodiscard]] bool has_max_poll_delay()
      const;
  void clear_max_poll_delay() ;
  [[nodiscard]] const ::google::protobuf::Duration& max_poll_delay() const;
  [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_max_poll_delay();
  ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_max_poll_delay();
  void set_allocated_max_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_max_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_max_poll_delay();

  private:
  const ::google::protobuf::Duration& _internal_max_poll_delay() const;
  ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_max_poll_delay();

  public:
  // .google.protobuf.Duration total_poll_timeout = 4;
  [[nodiscard]] bool has_total_poll_timeout()
      const;
  void clear_total_poll_timeout() ;
  [[nodiscard]] const ::google::protobuf::Duration& total_poll_timeout() const;
  [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_total_poll_timeout();
  ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_total_poll_timeout();
  void set_allocated_total_poll_timeout(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_total_poll_timeout(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
  ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_total_poll_timeout();

  private:
  const ::google::protobuf::Duration& _internal_total_poll_timeout() const;
  ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_total_poll_timeout();

  public:
  // float poll_delay_multiplier = 2;
  void clear_poll_delay_multiplier() ;
  [[nodiscard]] float poll_delay_multiplier() const;
  void set_poll_delay_multiplier(float value);

  private:
  float _internal_poll_delay_multiplier() const;
  void _internal_set_poll_delay_multiplier(float value);

  public:
  // @@protoc_insertion_point(class_scope:google.api.MethodSettings.LongRunning)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          3, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MethodSettings_LongRunning& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::Duration* PROTOBUF_NULLABLE initial_poll_delay_;
    ::google::protobuf::Duration* PROTOBUF_NULLABLE max_poll_delay_;
    ::google::protobuf::Duration* PROTOBUF_NULLABLE total_poll_timeout_;
    float poll_delay_multiplier_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED JavaSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.JavaSettings) */ {
 public:
  inline JavaSettings() : JavaSettings(nullptr) {}
  ~JavaSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(JavaSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(JavaSettings));
  }
#endif

  template <typename = void>
  explicit constexpr JavaSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline JavaSettings(const JavaSettings& from) : JavaSettings(nullptr, from) {}
  inline JavaSettings(JavaSettings&& from) noexcept : JavaSettings(nullptr, ::std::move(from)) {}
  inline JavaSettings& operator=(const JavaSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline JavaSettings& operator=(JavaSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const JavaSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<JavaSettings>(&JavaSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(JavaSettings& a, JavaSettings& b) { a.Swap(&b); }
  inline void Swap(JavaSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(JavaSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] JavaSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<JavaSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const JavaSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const JavaSettings& from) { JavaSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(JavaSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.JavaSettings"; }

  explicit JavaSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  JavaSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JavaSettings& from);
  JavaSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, JavaSettings&& from) noexcept
      : JavaSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kLibraryPackageFieldNumber = 1,
    kCommonFieldNumber = 3,
    kServiceClassNamesFieldNumber = 2,
  };
  // string library_package = 1;
  void clear_library_package() ;
  [[nodiscard]] const ::std::string& library_package() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_library_package(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_library_package();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_library_package();
  void set_allocated_library_package(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_library_package() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_library_package(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_library_package();

  public:
  // .google.api.CommonLanguageSettings common = 3;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // map<string, string> service_class_names = 2;
  [[nodiscard]] int service_class_names_size()
      const;
  private:
  int _internal_service_class_names_size() const;

  public:
  void clear_service_class_names() ;
  [[nodiscard]] const ::google::protobuf::Map<::std::string, ::std::string>& service_class_names() const;
  [[nodiscard]] ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL mutable_service_class_names();

  private:
  const ::google::protobuf::Map<::std::string, ::std::string>& _internal_service_class_names() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL _internal_mutable_service_class_names();

  public:
  // @@protoc_insertion_point(class_scope:google.api.JavaSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          2, 66,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const JavaSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr library_package_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    ::google::protobuf::internal::MapField<JavaSettings_ServiceClassNamesEntry_DoNotUse, ::std::string, ::std::string> service_class_names_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GoSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.GoSettings) */ {
 public:
  inline GoSettings() : GoSettings(nullptr) {}
  ~GoSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GoSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GoSettings));
  }
#endif

  template <typename = void>
  explicit constexpr GoSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GoSettings(const GoSettings& from) : GoSettings(nullptr, from) {}
  inline GoSettings(GoSettings&& from) noexcept : GoSettings(nullptr, ::std::move(from)) {}
  inline GoSettings& operator=(const GoSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline GoSettings& operator=(GoSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const GoSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GoSettings>(&GoSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(GoSettings& a, GoSettings& b) { a.Swap(&b); }
  inline void Swap(GoSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GoSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GoSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GoSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GoSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GoSettings& from) { GoSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GoSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.GoSettings"; }

  explicit GoSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GoSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GoSettings& from);
  GoSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GoSettings&& from) noexcept
      : GoSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.GoSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GoSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DotnetSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.DotnetSettings) */ {
 public:
  inline DotnetSettings() : DotnetSettings(nullptr) {}
  ~DotnetSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DotnetSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DotnetSettings));
  }
#endif

  template <typename = void>
  explicit constexpr DotnetSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DotnetSettings(const DotnetSettings& from) : DotnetSettings(nullptr, from) {}
  inline DotnetSettings(DotnetSettings&& from) noexcept : DotnetSettings(nullptr, ::std::move(from)) {}
  inline DotnetSettings& operator=(const DotnetSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline DotnetSettings& operator=(DotnetSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DotnetSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DotnetSettings>(&DotnetSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(DotnetSettings& a, DotnetSettings& b) { a.Swap(&b); }
  inline void Swap(DotnetSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DotnetSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DotnetSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DotnetSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DotnetSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DotnetSettings& from) { DotnetSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DotnetSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.DotnetSettings"; }

  explicit DotnetSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DotnetSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DotnetSettings& from);
  DotnetSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DotnetSettings&& from) noexcept
      : DotnetSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kIgnoredResourcesFieldNumber = 4,
    kForcedNamespaceAliasesFieldNumber = 5,
    kHandwrittenSignaturesFieldNumber = 6,
    kCommonFieldNumber = 1,
    kRenamedServicesFieldNumber = 2,
    kRenamedResourcesFieldNumber = 3,
  };
  // repeated string ignored_resources = 4;
  [[nodiscard]] int ignored_resources_size()
      const;
  private:
  int _internal_ignored_resources_size() const;

  public:
  void clear_ignored_resources() ;
  [[nodiscard]] const ::std::string& ignored_resources(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_ignored_resources(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ignored_resources(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_ignored_resources();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_ignored_resources(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      ignored_resources() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_ignored_resources();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_ignored_resources() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_ignored_resources();

  public:
  // repeated string forced_namespace_aliases = 5;
  [[nodiscard]] int forced_namespace_aliases_size()
      const;
  private:
  int _internal_forced_namespace_aliases_size() const;

  public:
  void clear_forced_namespace_aliases() ;
  [[nodiscard]] const ::std::string& forced_namespace_aliases(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_forced_namespace_aliases(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_forced_namespace_aliases(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_forced_namespace_aliases();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_forced_namespace_aliases(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      forced_namespace_aliases() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_forced_namespace_aliases();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_forced_namespace_aliases() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_forced_namespace_aliases();

  public:
  // repeated string handwritten_signatures = 6;
  [[nodiscard]] int handwritten_signatures_size()
      const;
  private:
  int _internal_handwritten_signatures_size() const;

  public:
  void clear_handwritten_signatures() ;
  [[nodiscard]] const ::std::string& handwritten_signatures(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_handwritten_signatures(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_handwritten_signatures(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_handwritten_signatures();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_handwritten_signatures(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      handwritten_signatures() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_handwritten_signatures();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_handwritten_signatures() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_handwritten_signatures();

  public:
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // map<string, string> renamed_services = 2;
  [[nodiscard]] int renamed_services_size()
      const;
  private:
  int _internal_renamed_services_size() const;

  public:
  void clear_renamed_services() ;
  [[nodiscard]] const ::google::protobuf::Map<::std::string, ::std::string>& renamed_services() const;
  [[nodiscard]] ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL mutable_renamed_services();

  private:
  const ::google::protobuf::Map<::std::string, ::std::string>& _internal_renamed_services() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL _internal_mutable_renamed_services();

  public:
  // map<string, string> renamed_resources = 3;
  [[nodiscard]] int renamed_resources_size()
      const;
  private:
  int _internal_renamed_resources_size() const;

  public:
  void clear_renamed_resources() ;
  [[nodiscard]] const ::google::protobuf::Map<::std::string, ::std::string>& renamed_resources() const;
  [[nodiscard]] ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL mutable_renamed_resources();

  private:
  const ::google::protobuf::Map<::std::string, ::std::string>& _internal_renamed_resources() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL _internal_mutable_renamed_resources();

  public:
  // @@protoc_insertion_point(class_scope:google.api.DotnetSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 6,
                          3, 130,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DotnetSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> ignored_resources_;
    ::google::protobuf::RepeatedPtrField<::std::string> forced_namespace_aliases_;
    ::google::protobuf::RepeatedPtrField<::std::string> handwritten_signatures_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    ::google::protobuf::internal::MapField<DotnetSettings_RenamedServicesEntry_DoNotUse, ::std::string, ::std::string> renamed_services_;
    ::google::protobuf::internal::MapField<DotnetSettings_RenamedResourcesEntry_DoNotUse, ::std::string, ::std::string> renamed_resources_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CppSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.CppSettings) */ {
 public:
  inline CppSettings() : CppSettings(nullptr) {}
  ~CppSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CppSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CppSettings));
  }
#endif

  template <typename = void>
  explicit constexpr CppSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CppSettings(const CppSettings& from) : CppSettings(nullptr, from) {}
  inline CppSettings(CppSettings&& from) noexcept : CppSettings(nullptr, ::std::move(from)) {}
  inline CppSettings& operator=(const CppSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline CppSettings& operator=(CppSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CppSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CppSettings>(&CppSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(CppSettings& a, CppSettings& b) { a.Swap(&b); }
  inline void Swap(CppSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CppSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CppSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CppSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CppSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CppSettings& from) { CppSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CppSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.CppSettings"; }

  explicit CppSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CppSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CppSettings& from);
  CppSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CppSettings&& from) noexcept
      : CppSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCommonFieldNumber = 1,
  };
  // .google.api.CommonLanguageSettings common = 1;
  [[nodiscard]] bool has_common()
      const;
  void clear_common() ;
  [[nodiscard]] const ::google::api::CommonLanguageSettings& common() const;
  [[nodiscard]] ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE release_common();
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL mutable_common();
  void set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value);
  ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE unsafe_arena_release_common();

  private:
  const ::google::api::CommonLanguageSettings& _internal_common() const;
  ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL _internal_mutable_common();

  public:
  // @@protoc_insertion_point(class_scope:google.api.CppSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CppSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE common_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MethodSettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.MethodSettings) */ {
 public:
  inline MethodSettings() : MethodSettings(nullptr) {}
  ~MethodSettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MethodSettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MethodSettings));
  }
#endif

  template <typename = void>
  explicit constexpr MethodSettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MethodSettings(const MethodSettings& from) : MethodSettings(nullptr, from) {}
  inline MethodSettings(MethodSettings&& from) noexcept : MethodSettings(nullptr, ::std::move(from)) {}
  inline MethodSettings& operator=(const MethodSettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline MethodSettings& operator=(MethodSettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MethodSettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MethodSettings>(&MethodSettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(MethodSettings& a, MethodSettings& b) { a.Swap(&b); }
  inline void Swap(MethodSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MethodSettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] MethodSettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MethodSettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MethodSettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MethodSettings& from) { MethodSettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MethodSettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.MethodSettings"; }

  explicit MethodSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MethodSettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MethodSettings& from);
  MethodSettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MethodSettings&& from) noexcept
      : MethodSettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using LongRunning = MethodSettings_LongRunning;

  // accessors -------------------------------------------------------
  enum : int {
    kSelectorFieldNumber = 1,
    kLongRunningFieldNumber = 2,
  };
  // string selector = 1;
  void clear_selector() ;
  [[nodiscard]] const ::std::string& selector() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_selector(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_selector();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_selector();
  void set_allocated_selector(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_selector() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_selector(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_selector();

  public:
  // .google.api.MethodSettings.LongRunning long_running = 2;
  [[nodiscard]] bool has_long_running()
      const;
  void clear_long_running() ;
  [[nodiscard]] const ::google::api::MethodSettings_LongRunning& long_running() const;
  [[nodiscard]] ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE release_long_running();
  ::google::api::MethodSettings_LongRunning* PROTOBUF_NONNULL mutable_long_running();
  void set_allocated_long_running(::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_long_running(::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE value);
  ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE unsafe_arena_release_long_running();

  private:
  const ::google::api::MethodSettings_LongRunning& _internal_long_running() const;
  ::google::api::MethodSettings_LongRunning* PROTOBUF_NONNULL _internal_mutable_long_running();

  public:
  // @@protoc_insertion_point(class_scope:google.api.MethodSettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 42,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MethodSettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr selector_;
    ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE long_running_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ClientLibrarySettings final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.ClientLibrarySettings) */ {
 public:
  inline ClientLibrarySettings() : ClientLibrarySettings(nullptr) {}
  ~ClientLibrarySettings() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ClientLibrarySettings* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ClientLibrarySettings));
  }
#endif

  template <typename = void>
  explicit constexpr ClientLibrarySettings(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ClientLibrarySettings(const ClientLibrarySettings& from) : ClientLibrarySettings(nullptr, from) {}
  inline ClientLibrarySettings(ClientLibrarySettings&& from) noexcept : ClientLibrarySettings(nullptr, ::std::move(from)) {}
  inline ClientLibrarySettings& operator=(const ClientLibrarySettings& from) {
    CopyFrom(from);
    return *this;
  }
  inline ClientLibrarySettings& operator=(ClientLibrarySettings&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ClientLibrarySettings& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ClientLibrarySettings>(&ClientLibrarySettings_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(ClientLibrarySettings& a, ClientLibrarySettings& b) { a.Swap(&b); }
  inline void Swap(ClientLibrarySettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ClientLibrarySettings* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ClientLibrarySettings* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ClientLibrarySettings>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ClientLibrarySettings& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ClientLibrarySettings& from) { ClientLibrarySettings::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ClientLibrarySettings* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.ClientLibrarySettings"; }

  explicit ClientLibrarySettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ClientLibrarySettings(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ClientLibrarySettings& from);
  ClientLibrarySettings(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ClientLibrarySettings&& from) noexcept
      : ClientLibrarySettings(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kVersionFieldNumber = 1,
    kJavaSettingsFieldNumber = 21,
    kCppSettingsFieldNumber = 22,
    kPhpSettingsFieldNumber = 23,
    kPythonSettingsFieldNumber = 24,
    kNodeSettingsFieldNumber = 25,
    kDotnetSettingsFieldNumber = 26,
    kRubySettingsFieldNumber = 27,
    kGoSettingsFieldNumber = 28,
    kLaunchStageFieldNumber = 2,
    kRestNumericEnumsFieldNumber = 3,
  };
  // string version = 1;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // .google.api.JavaSettings java_settings = 21;
  [[nodiscard]] bool has_java_settings()
      const;
  void clear_java_settings() ;
  [[nodiscard]] const ::google::api::JavaSettings& java_settings() const;
  [[nodiscard]] ::google::api::JavaSettings* PROTOBUF_NULLABLE release_java_settings();
  ::google::api::JavaSettings* PROTOBUF_NONNULL mutable_java_settings();
  void set_allocated_java_settings(::google::api::JavaSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_java_settings(::google::api::JavaSettings* PROTOBUF_NULLABLE value);
  ::google::api::JavaSettings* PROTOBUF_NULLABLE unsafe_arena_release_java_settings();

  private:
  const ::google::api::JavaSettings& _internal_java_settings() const;
  ::google::api::JavaSettings* PROTOBUF_NONNULL _internal_mutable_java_settings();

  public:
  // .google.api.CppSettings cpp_settings = 22;
  [[nodiscard]] bool has_cpp_settings()
      const;
  void clear_cpp_settings() ;
  [[nodiscard]] const ::google::api::CppSettings& cpp_settings() const;
  [[nodiscard]] ::google::api::CppSettings* PROTOBUF_NULLABLE release_cpp_settings();
  ::google::api::CppSettings* PROTOBUF_NONNULL mutable_cpp_settings();
  void set_allocated_cpp_settings(::google::api::CppSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_cpp_settings(::google::api::CppSettings* PROTOBUF_NULLABLE value);
  ::google::api::CppSettings* PROTOBUF_NULLABLE unsafe_arena_release_cpp_settings();

  private:
  const ::google::api::CppSettings& _internal_cpp_settings() const;
  ::google::api::CppSettings* PROTOBUF_NONNULL _internal_mutable_cpp_settings();

  public:
  // .google.api.PhpSettings php_settings = 23;
  [[nodiscard]] bool has_php_settings()
      const;
  void clear_php_settings() ;
  [[nodiscard]] const ::google::api::PhpSettings& php_settings() const;
  [[nodiscard]] ::google::api::PhpSettings* PROTOBUF_NULLABLE release_php_settings();
  ::google::api::PhpSettings* PROTOBUF_NONNULL mutable_php_settings();
  void set_allocated_php_settings(::google::api::PhpSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_php_settings(::google::api::PhpSettings* PROTOBUF_NULLABLE value);
  ::google::api::PhpSettings* PROTOBUF_NULLABLE unsafe_arena_release_php_settings();

  private:
  const ::google::api::PhpSettings& _internal_php_settings() const;
  ::google::api::PhpSettings* PROTOBUF_NONNULL _internal_mutable_php_settings();

  public:
  // .google.api.PythonSettings python_settings = 24;
  [[nodiscard]] bool has_python_settings()
      const;
  void clear_python_settings() ;
  [[nodiscard]] const ::google::api::PythonSettings& python_settings() const;
  [[nodiscard]] ::google::api::PythonSettings* PROTOBUF_NULLABLE release_python_settings();
  ::google::api::PythonSettings* PROTOBUF_NONNULL mutable_python_settings();
  void set_allocated_python_settings(::google::api::PythonSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_python_settings(::google::api::PythonSettings* PROTOBUF_NULLABLE value);
  ::google::api::PythonSettings* PROTOBUF_NULLABLE unsafe_arena_release_python_settings();

  private:
  const ::google::api::PythonSettings& _internal_python_settings() const;
  ::google::api::PythonSettings* PROTOBUF_NONNULL _internal_mutable_python_settings();

  public:
  // .google.api.NodeSettings node_settings = 25;
  [[nodiscard]] bool has_node_settings()
      const;
  void clear_node_settings() ;
  [[nodiscard]] const ::google::api::NodeSettings& node_settings() const;
  [[nodiscard]] ::google::api::NodeSettings* PROTOBUF_NULLABLE release_node_settings();
  ::google::api::NodeSettings* PROTOBUF_NONNULL mutable_node_settings();
  void set_allocated_node_settings(::google::api::NodeSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_node_settings(::google::api::NodeSettings* PROTOBUF_NULLABLE value);
  ::google::api::NodeSettings* PROTOBUF_NULLABLE unsafe_arena_release_node_settings();

  private:
  const ::google::api::NodeSettings& _internal_node_settings() const;
  ::google::api::NodeSettings* PROTOBUF_NONNULL _internal_mutable_node_settings();

  public:
  // .google.api.DotnetSettings dotnet_settings = 26;
  [[nodiscard]] bool has_dotnet_settings()
      const;
  void clear_dotnet_settings() ;
  [[nodiscard]] const ::google::api::DotnetSettings& dotnet_settings() const;
  [[nodiscard]] ::google::api::DotnetSettings* PROTOBUF_NULLABLE release_dotnet_settings();
  ::google::api::DotnetSettings* PROTOBUF_NONNULL mutable_dotnet_settings();
  void set_allocated_dotnet_settings(::google::api::DotnetSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_dotnet_settings(::google::api::DotnetSettings* PROTOBUF_NULLABLE value);
  ::google::api::DotnetSettings* PROTOBUF_NULLABLE unsafe_arena_release_dotnet_settings();

  private:
  const ::google::api::DotnetSettings& _internal_dotnet_settings() const;
  ::google::api::DotnetSettings* PROTOBUF_NONNULL _internal_mutable_dotnet_settings();

  public:
  // .google.api.RubySettings ruby_settings = 27;
  [[nodiscard]] bool has_ruby_settings()
      const;
  void clear_ruby_settings() ;
  [[nodiscard]] const ::google::api::RubySettings& ruby_settings() const;
  [[nodiscard]] ::google::api::RubySettings* PROTOBUF_NULLABLE release_ruby_settings();
  ::google::api::RubySettings* PROTOBUF_NONNULL mutable_ruby_settings();
  void set_allocated_ruby_settings(::google::api::RubySettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_ruby_settings(::google::api::RubySettings* PROTOBUF_NULLABLE value);
  ::google::api::RubySettings* PROTOBUF_NULLABLE unsafe_arena_release_ruby_settings();

  private:
  const ::google::api::RubySettings& _internal_ruby_settings() const;
  ::google::api::RubySettings* PROTOBUF_NONNULL _internal_mutable_ruby_settings();

  public:
  // .google.api.GoSettings go_settings = 28;
  [[nodiscard]] bool has_go_settings()
      const;
  void clear_go_settings() ;
  [[nodiscard]] const ::google::api::GoSettings& go_settings() const;
  [[nodiscard]] ::google::api::GoSettings* PROTOBUF_NULLABLE release_go_settings();
  ::google::api::GoSettings* PROTOBUF_NONNULL mutable_go_settings();
  void set_allocated_go_settings(::google::api::GoSettings* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_go_settings(::google::api::GoSettings* PROTOBUF_NULLABLE value);
  ::google::api::GoSettings* PROTOBUF_NULLABLE unsafe_arena_release_go_settings();

  private:
  const ::google::api::GoSettings& _internal_go_settings() const;
  ::google::api::GoSettings* PROTOBUF_NONNULL _internal_mutable_go_settings();

  public:
  // .google.api.LaunchStage launch_stage = 2;
  void clear_launch_stage() ;
  [[nodiscard]] ::google::api::LaunchStage launch_stage() const;
  void set_launch_stage(::google::api::LaunchStage value);

  private:
  ::google::api::LaunchStage _internal_launch_stage() const;
  void _internal_set_launch_stage(::google::api::LaunchStage value);

  public:
  // bool rest_numeric_enums = 3;
  void clear_rest_numeric_enums() ;
  [[nodiscard]] bool rest_numeric_enums() const;
  void set_rest_numeric_enums(bool value);

  private:
  bool _internal_rest_numeric_enums() const;
  void _internal_set_rest_numeric_enums(bool value);

  public:
  // @@protoc_insertion_point(class_scope:google.api.ClientLibrarySettings)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 11,
                          8, 56,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ClientLibrarySettings& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    ::google::api::JavaSettings* PROTOBUF_NULLABLE java_settings_;
    ::google::api::CppSettings* PROTOBUF_NULLABLE cpp_settings_;
    ::google::api::PhpSettings* PROTOBUF_NULLABLE php_settings_;
    ::google::api::PythonSettings* PROTOBUF_NULLABLE python_settings_;
    ::google::api::NodeSettings* PROTOBUF_NULLABLE node_settings_;
    ::google::api::DotnetSettings* PROTOBUF_NULLABLE dotnet_settings_;
    ::google::api::RubySettings* PROTOBUF_NULLABLE ruby_settings_;
    ::google::api::GoSettings* PROTOBUF_NULLABLE go_settings_;
    int launch_stage_;
    bool rest_numeric_enums_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED Publishing final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.api.Publishing) */ {
 public:
  inline Publishing() : Publishing(nullptr) {}
  ~Publishing() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(Publishing* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(Publishing));
  }
#endif

  template <typename = void>
  explicit constexpr Publishing(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline Publishing(const Publishing& from) : Publishing(nullptr, from) {}
  inline Publishing(Publishing&& from) noexcept : Publishing(nullptr, ::std::move(from)) {}
  inline Publishing& operator=(const Publishing& from) {
    CopyFrom(from);
    return *this;
  }
  inline Publishing& operator=(Publishing&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const Publishing& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<Publishing>(&Publishing_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(Publishing& a, Publishing& b) { a.Swap(&b); }
  inline void Swap(Publishing* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Publishing* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] Publishing* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<Publishing>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const Publishing& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const Publishing& from) { Publishing::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(Publishing* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.api.Publishing"; }

  explicit Publishing(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Publishing(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Publishing& from);
  Publishing(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Publishing&& from) noexcept
      : Publishing(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMethodSettingsFieldNumber = 2,
    kCodeownerGithubTeamsFieldNumber = 105,
    kLibrarySettingsFieldNumber = 109,
    kNewIssueUriFieldNumber = 101,
    kDocumentationUriFieldNumber = 102,
    kApiShortNameFieldNumber = 103,
    kGithubLabelFieldNumber = 104,
    kDocTagPrefixFieldNumber = 106,
    kProtoReferenceDocumentationUriFieldNumber = 110,
    kOrganizationFieldNumber = 107,
  };
  // repeated .google.api.MethodSettings method_settings = 2;
  [[nodiscard]] int method_settings_size()
      const;
  private:
  int _internal_method_settings_size() const;

  public:
  void clear_method_settings() ;
  [[nodiscard]] const ::google::api::MethodSettings& method_settings(int index) const;
  [[nodiscard]] ::google::api::MethodSettings* PROTOBUF_NONNULL mutable_method_settings(int index);
  ::google::api::MethodSettings* PROTOBUF_NONNULL add_method_settings();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>&
  method_settings() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>* PROTOBUF_NONNULL
  mutable_method_settings();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>& _internal_method_settings() const;
  ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>* PROTOBUF_NONNULL _internal_mutable_method_settings();

  public:
  // repeated string codeowner_github_teams = 105;
  [[nodiscard]] int codeowner_github_teams_size()
      const;
  private:
  int _internal_codeowner_github_teams_size() const;

  public:
  void clear_codeowner_github_teams() ;
  [[nodiscard]] const ::std::string& codeowner_github_teams(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_codeowner_github_teams(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_codeowner_github_teams(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_codeowner_github_teams();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_codeowner_github_teams(Arg_&& value, Args_... args);
  [[nodiscard]] const
      ::google::protobuf::RepeatedPtrField<::std::string>&
      codeowner_github_teams() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::std::string>*
      PROTOBUF_NONNULL
      mutable_codeowner_github_teams();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_codeowner_github_teams() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_codeowner_github_teams();

  public:
  // repeated .google.api.ClientLibrarySettings library_settings = 109;
  [[nodiscard]] int library_settings_size()
      const;
  private:
  int _internal_library_settings_size() const;

  public:
  void clear_library_settings() ;
  [[nodiscard]] const ::google::api::ClientLibrarySettings& library_settings(int index) const;
  [[nodiscard]] ::google::api::ClientLibrarySettings* PROTOBUF_NONNULL mutable_library_settings(int index);
  ::google::api::ClientLibrarySettings* PROTOBUF_NONNULL add_library_settings();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>&
  library_settings() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>* PROTOBUF_NONNULL
  mutable_library_settings();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>& _internal_library_settings() const;
  ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>* PROTOBUF_NONNULL _internal_mutable_library_settings();

  public:
  // string new_issue_uri = 101;
  void clear_new_issue_uri() ;
  [[nodiscard]] const ::std::string& new_issue_uri() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_new_issue_uri(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_new_issue_uri();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_new_issue_uri();
  void set_allocated_new_issue_uri(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_new_issue_uri() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_new_issue_uri(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_new_issue_uri();

  public:
  // string documentation_uri = 102;
  void clear_documentation_uri() ;
  [[nodiscard]] const ::std::string& documentation_uri() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_documentation_uri(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_documentation_uri();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_documentation_uri();
  void set_allocated_documentation_uri(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_documentation_uri() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_documentation_uri(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_documentation_uri();

  public:
  // string api_short_name = 103;
  void clear_api_short_name() ;
  [[nodiscard]] const ::std::string& api_short_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_api_short_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_api_short_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_api_short_name();
  void set_allocated_api_short_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_api_short_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_api_short_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_api_short_name();

  public:
  // string github_label = 104;
  void clear_github_label() ;
  [[nodiscard]] const ::std::string& github_label() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_github_label(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_github_label();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_github_label();
  void set_allocated_github_label(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_github_label() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_github_label(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_github_label();

  public:
  // string doc_tag_prefix = 106;
  void clear_doc_tag_prefix() ;
  [[nodiscard]] const ::std::string& doc_tag_prefix() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_doc_tag_prefix(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_doc_tag_prefix();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_doc_tag_prefix();
  void set_allocated_doc_tag_prefix(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_doc_tag_prefix() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_doc_tag_prefix(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_doc_tag_prefix();

  public:
  // string proto_reference_documentation_uri = 110;
  void clear_proto_reference_documentation_uri() ;
  [[nodiscard]] const ::std::string& proto_reference_documentation_uri() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_proto_reference_documentation_uri(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_proto_reference_documentation_uri();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_proto_reference_documentation_uri();
  void set_allocated_proto_reference_documentation_uri(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_proto_reference_documentation_uri() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_proto_reference_documentation_uri(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_proto_reference_documentation_uri();

  public:
  // .google.api.ClientLibraryOrganization organization = 107;
  void clear_organization() ;
  [[nodiscard]] ::google::api::ClientLibraryOrganization organization() const;
  void set_organization(::google::api::ClientLibraryOrganization value);

  private:
  ::google::api::ClientLibraryOrganization _internal_organization() const;
  void _internal_set_organization(::google::api::ClientLibraryOrganization value);

  public:
  // @@protoc_insertion_point(class_scope:google.api.Publishing)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 10,
                          2, 163,
                          7>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const Publishing& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::google::api::MethodSettings > method_settings_;
    ::google::protobuf::RepeatedPtrField<::std::string> codeowner_github_teams_;
    ::google::protobuf::RepeatedPtrField< ::google::api::ClientLibrarySettings > library_settings_;
    ::google::protobuf::internal::ArenaStringPtr new_issue_uri_;
    ::google::protobuf::internal::ArenaStringPtr documentation_uri_;
    ::google::protobuf::internal::ArenaStringPtr api_short_name_;
    ::google::protobuf::internal::ArenaStringPtr github_label_;
    ::google::protobuf::internal::ArenaStringPtr doc_tag_prefix_;
    ::google::protobuf::internal::ArenaStringPtr proto_reference_documentation_uri_;
    int organization_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fapi_2fclient_2eproto;
};

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



inline constexpr int kMethodSignatureFieldNumber = 1051;
extern ::google::protobuf::internal::ExtensionIdentifier<
    ::google::protobuf::MethodOptions, ::google::protobuf::internal::RepeatedStringTypeTraits, 9, false>(method_signature);
inline constexpr int kDefaultHostFieldNumber = 1049;
extern ::google::protobuf::internal::ExtensionIdentifier<
    ::google::protobuf::ServiceOptions, ::google::protobuf::internal::StringTypeTraits, 9, false>(default_host);
inline constexpr int kOauthScopesFieldNumber = 1050;
extern ::google::protobuf::internal::ExtensionIdentifier<
    ::google::protobuf::ServiceOptions, ::google::protobuf::internal::StringTypeTraits, 9, false>(oauth_scopes);

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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// CommonLanguageSettings

// string reference_docs_uri = 1 [deprecated = true];
inline void CommonLanguageSettings::clear_reference_docs_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.reference_docs_uri_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& CommonLanguageSettings::reference_docs_uri() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.CommonLanguageSettings.reference_docs_uri)
  return _internal_reference_docs_uri();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CommonLanguageSettings::set_reference_docs_uri(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.reference_docs_uri_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.CommonLanguageSettings.reference_docs_uri)
}
inline ::std::string* PROTOBUF_NONNULL CommonLanguageSettings::mutable_reference_docs_uri()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_reference_docs_uri();
  // @@protoc_insertion_point(field_mutable:google.api.CommonLanguageSettings.reference_docs_uri)
  return _s;
}
inline const ::std::string& CommonLanguageSettings::_internal_reference_docs_uri() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.reference_docs_uri_.Get();
}
inline void CommonLanguageSettings::_internal_set_reference_docs_uri(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.reference_docs_uri_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CommonLanguageSettings::_internal_mutable_reference_docs_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.reference_docs_uri_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CommonLanguageSettings::release_reference_docs_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.CommonLanguageSettings.reference_docs_uri)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.reference_docs_uri_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.reference_docs_uri_.Set("", GetArena());
  }
  return released;
}
inline void CommonLanguageSettings::set_allocated_reference_docs_uri(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.reference_docs_uri_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.reference_docs_uri_.IsDefault()) {
    _impl_.reference_docs_uri_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.CommonLanguageSettings.reference_docs_uri)
}

// repeated .google.api.ClientLibraryDestination destinations = 2;
inline int CommonLanguageSettings::_internal_destinations_size() const {
  return _internal_destinations().size();
}
inline int CommonLanguageSettings::destinations_size() const {
  return _internal_destinations_size();
}
inline void CommonLanguageSettings::clear_destinations() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.destinations_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::google::api::ClientLibraryDestination CommonLanguageSettings::destinations(int index) const {
  // @@protoc_insertion_point(field_get:google.api.CommonLanguageSettings.destinations)
  return static_cast<::google::api::ClientLibraryDestination>(_internal_destinations().Get(index));
}
inline void CommonLanguageSettings::set_destinations(int index, ::google::api::ClientLibraryDestination value) {
  _internal_mutable_destinations()->Set(index, value);
  // @@protoc_insertion_point(field_set:google.api.CommonLanguageSettings.destinations)
}
inline void CommonLanguageSettings::add_destinations(::google::api::ClientLibraryDestination value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_destinations()
      ->InternalAddWithArena<const ::google::protobuf::MessageLite*>(
          internal_visibility(), this, value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.api.CommonLanguageSettings.destinations)
}
inline const ::google::protobuf::RepeatedField<int>& CommonLanguageSettings::destinations() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.CommonLanguageSettings.destinations)
  return _internal_destinations();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL CommonLanguageSettings::mutable_destinations()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.api.CommonLanguageSettings.destinations)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_destinations();
}
inline const ::google::protobuf::RepeatedField<int>& CommonLanguageSettings::_internal_destinations()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.destinations_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
CommonLanguageSettings::_internal_mutable_destinations() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.destinations_;
}

// -------------------------------------------------------------------

// ClientLibrarySettings

// string version = 1;
inline void ClientLibrarySettings::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ClientLibrarySettings::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ClientLibrarySettings::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.ClientLibrarySettings.version)
}
inline ::std::string* PROTOBUF_NONNULL ClientLibrarySettings::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.version)
  return _s;
}
inline const ::std::string& ClientLibrarySettings::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void ClientLibrarySettings::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ClientLibrarySettings::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void ClientLibrarySettings::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.version)
}

// .google.api.LaunchStage launch_stage = 2;
inline void ClientLibrarySettings::clear_launch_stage() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.launch_stage_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
}
inline ::google::api::LaunchStage ClientLibrarySettings::launch_stage() const {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.launch_stage)
  return _internal_launch_stage();
}
inline void ClientLibrarySettings::set_launch_stage(::google::api::LaunchStage value) {
  _internal_set_launch_stage(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:google.api.ClientLibrarySettings.launch_stage)
}
inline ::google::api::LaunchStage ClientLibrarySettings::_internal_launch_stage() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::api::LaunchStage>(_impl_.launch_stage_);
}
inline void ClientLibrarySettings::_internal_set_launch_stage(::google::api::LaunchStage value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.launch_stage_ = value;
}

// bool rest_numeric_enums = 3;
inline void ClientLibrarySettings::clear_rest_numeric_enums() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rest_numeric_enums_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
}
inline bool ClientLibrarySettings::rest_numeric_enums() const {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.rest_numeric_enums)
  return _internal_rest_numeric_enums();
}
inline void ClientLibrarySettings::set_rest_numeric_enums(bool value) {
  _internal_set_rest_numeric_enums(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  // @@protoc_insertion_point(field_set:google.api.ClientLibrarySettings.rest_numeric_enums)
}
inline bool ClientLibrarySettings::_internal_rest_numeric_enums() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rest_numeric_enums_;
}
inline void ClientLibrarySettings::_internal_set_rest_numeric_enums(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rest_numeric_enums_ = value;
}

// .google.api.JavaSettings java_settings = 21;
inline bool ClientLibrarySettings::has_java_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.java_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_java_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.java_settings_ != nullptr) _impl_.java_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::api::JavaSettings& ClientLibrarySettings::_internal_java_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::JavaSettings* p = _impl_.java_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::JavaSettings>(&::google::api::JavaSettings_globals_);
}
inline const ::google::api::JavaSettings& ClientLibrarySettings::java_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.java_settings)
  return _internal_java_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_java_settings(
    ::google::api::JavaSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.java_settings_);
  }
  _impl_.java_settings_ = reinterpret_cast<::google::api::JavaSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.java_settings)
}
inline ::google::api::JavaSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_java_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::JavaSettings* released = _impl_.java_settings_;
  _impl_.java_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::JavaSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_java_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.java_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::JavaSettings* temp = _impl_.java_settings_;
  _impl_.java_settings_ = nullptr;
  return temp;
}
inline ::google::api::JavaSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_java_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.java_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::JavaSettings>(GetArena());
    _impl_.java_settings_ = reinterpret_cast<::google::api::JavaSettings*>(p);
  }
  return _impl_.java_settings_;
}
inline ::google::api::JavaSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_java_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::JavaSettings* _msg = _internal_mutable_java_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.java_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_java_settings(::google::api::JavaSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.java_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.java_settings_ = reinterpret_cast<::google::api::JavaSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.java_settings)
}

// .google.api.CppSettings cpp_settings = 22;
inline bool ClientLibrarySettings::has_cpp_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.cpp_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_cpp_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cpp_settings_ != nullptr) _impl_.cpp_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::google::api::CppSettings& ClientLibrarySettings::_internal_cpp_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CppSettings* p = _impl_.cpp_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CppSettings>(&::google::api::CppSettings_globals_);
}
inline const ::google::api::CppSettings& ClientLibrarySettings::cpp_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.cpp_settings)
  return _internal_cpp_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_cpp_settings(
    ::google::api::CppSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cpp_settings_);
  }
  _impl_.cpp_settings_ = reinterpret_cast<::google::api::CppSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.cpp_settings)
}
inline ::google::api::CppSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_cpp_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::api::CppSettings* released = _impl_.cpp_settings_;
  _impl_.cpp_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CppSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_cpp_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.cpp_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::api::CppSettings* temp = _impl_.cpp_settings_;
  _impl_.cpp_settings_ = nullptr;
  return temp;
}
inline ::google::api::CppSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_cpp_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.cpp_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CppSettings>(GetArena());
    _impl_.cpp_settings_ = reinterpret_cast<::google::api::CppSettings*>(p);
  }
  return _impl_.cpp_settings_;
}
inline ::google::api::CppSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_cpp_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::api::CppSettings* _msg = _internal_mutable_cpp_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.cpp_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_cpp_settings(::google::api::CppSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cpp_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.cpp_settings_ = reinterpret_cast<::google::api::CppSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.cpp_settings)
}

// .google.api.PhpSettings php_settings = 23;
inline bool ClientLibrarySettings::has_php_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.php_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_php_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.php_settings_ != nullptr) _impl_.php_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::google::api::PhpSettings& ClientLibrarySettings::_internal_php_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::PhpSettings* p = _impl_.php_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::PhpSettings>(&::google::api::PhpSettings_globals_);
}
inline const ::google::api::PhpSettings& ClientLibrarySettings::php_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.php_settings)
  return _internal_php_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_php_settings(
    ::google::api::PhpSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.php_settings_);
  }
  _impl_.php_settings_ = reinterpret_cast<::google::api::PhpSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.php_settings)
}
inline ::google::api::PhpSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_php_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::PhpSettings* released = _impl_.php_settings_;
  _impl_.php_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::PhpSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_php_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.php_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::PhpSettings* temp = _impl_.php_settings_;
  _impl_.php_settings_ = nullptr;
  return temp;
}
inline ::google::api::PhpSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_php_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.php_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::PhpSettings>(GetArena());
    _impl_.php_settings_ = reinterpret_cast<::google::api::PhpSettings*>(p);
  }
  return _impl_.php_settings_;
}
inline ::google::api::PhpSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_php_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::PhpSettings* _msg = _internal_mutable_php_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.php_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_php_settings(::google::api::PhpSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.php_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.php_settings_ = reinterpret_cast<::google::api::PhpSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.php_settings)
}

// .google.api.PythonSettings python_settings = 24;
inline bool ClientLibrarySettings::has_python_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.python_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_python_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.python_settings_ != nullptr) _impl_.python_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::google::api::PythonSettings& ClientLibrarySettings::_internal_python_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::PythonSettings* p = _impl_.python_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::PythonSettings>(&::google::api::PythonSettings_globals_);
}
inline const ::google::api::PythonSettings& ClientLibrarySettings::python_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.python_settings)
  return _internal_python_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_python_settings(
    ::google::api::PythonSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.python_settings_);
  }
  _impl_.python_settings_ = reinterpret_cast<::google::api::PythonSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.python_settings)
}
inline ::google::api::PythonSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_python_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::api::PythonSettings* released = _impl_.python_settings_;
  _impl_.python_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::PythonSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_python_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.python_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::api::PythonSettings* temp = _impl_.python_settings_;
  _impl_.python_settings_ = nullptr;
  return temp;
}
inline ::google::api::PythonSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_python_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.python_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::PythonSettings>(GetArena());
    _impl_.python_settings_ = reinterpret_cast<::google::api::PythonSettings*>(p);
  }
  return _impl_.python_settings_;
}
inline ::google::api::PythonSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_python_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::api::PythonSettings* _msg = _internal_mutable_python_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.python_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_python_settings(::google::api::PythonSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.python_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.python_settings_ = reinterpret_cast<::google::api::PythonSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.python_settings)
}

// .google.api.NodeSettings node_settings = 25;
inline bool ClientLibrarySettings::has_node_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.node_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_node_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_settings_ != nullptr) _impl_.node_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::google::api::NodeSettings& ClientLibrarySettings::_internal_node_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::NodeSettings* p = _impl_.node_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::NodeSettings>(&::google::api::NodeSettings_globals_);
}
inline const ::google::api::NodeSettings& ClientLibrarySettings::node_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.node_settings)
  return _internal_node_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_node_settings(
    ::google::api::NodeSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_settings_);
  }
  _impl_.node_settings_ = reinterpret_cast<::google::api::NodeSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.node_settings)
}
inline ::google::api::NodeSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_node_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::google::api::NodeSettings* released = _impl_.node_settings_;
  _impl_.node_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::NodeSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_node_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.node_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::google::api::NodeSettings* temp = _impl_.node_settings_;
  _impl_.node_settings_ = nullptr;
  return temp;
}
inline ::google::api::NodeSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_node_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::NodeSettings>(GetArena());
    _impl_.node_settings_ = reinterpret_cast<::google::api::NodeSettings*>(p);
  }
  return _impl_.node_settings_;
}
inline ::google::api::NodeSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_node_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::google::api::NodeSettings* _msg = _internal_mutable_node_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.node_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_node_settings(::google::api::NodeSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.node_settings_ = reinterpret_cast<::google::api::NodeSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.node_settings)
}

// .google.api.DotnetSettings dotnet_settings = 26;
inline bool ClientLibrarySettings::has_dotnet_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  PROTOBUF_ASSUME(!value || _impl_.dotnet_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_dotnet_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.dotnet_settings_ != nullptr) _impl_.dotnet_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline const ::google::api::DotnetSettings& ClientLibrarySettings::_internal_dotnet_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::DotnetSettings* p = _impl_.dotnet_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::DotnetSettings>(&::google::api::DotnetSettings_globals_);
}
inline const ::google::api::DotnetSettings& ClientLibrarySettings::dotnet_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.dotnet_settings)
  return _internal_dotnet_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_dotnet_settings(
    ::google::api::DotnetSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.dotnet_settings_);
  }
  _impl_.dotnet_settings_ = reinterpret_cast<::google::api::DotnetSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.dotnet_settings)
}
inline ::google::api::DotnetSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_dotnet_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::google::api::DotnetSettings* released = _impl_.dotnet_settings_;
  _impl_.dotnet_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::DotnetSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_dotnet_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.dotnet_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::google::api::DotnetSettings* temp = _impl_.dotnet_settings_;
  _impl_.dotnet_settings_ = nullptr;
  return temp;
}
inline ::google::api::DotnetSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_dotnet_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.dotnet_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::DotnetSettings>(GetArena());
    _impl_.dotnet_settings_ = reinterpret_cast<::google::api::DotnetSettings*>(p);
  }
  return _impl_.dotnet_settings_;
}
inline ::google::api::DotnetSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_dotnet_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::google::api::DotnetSettings* _msg = _internal_mutable_dotnet_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.dotnet_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_dotnet_settings(::google::api::DotnetSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.dotnet_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }

  _impl_.dotnet_settings_ = reinterpret_cast<::google::api::DotnetSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.dotnet_settings)
}

// .google.api.RubySettings ruby_settings = 27;
inline bool ClientLibrarySettings::has_ruby_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  PROTOBUF_ASSUME(!value || _impl_.ruby_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_ruby_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ruby_settings_ != nullptr) _impl_.ruby_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline const ::google::api::RubySettings& ClientLibrarySettings::_internal_ruby_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::RubySettings* p = _impl_.ruby_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::RubySettings>(&::google::api::RubySettings_globals_);
}
inline const ::google::api::RubySettings& ClientLibrarySettings::ruby_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.ruby_settings)
  return _internal_ruby_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_ruby_settings(
    ::google::api::RubySettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ruby_settings_);
  }
  _impl_.ruby_settings_ = reinterpret_cast<::google::api::RubySettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.ruby_settings)
}
inline ::google::api::RubySettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_ruby_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::google::api::RubySettings* released = _impl_.ruby_settings_;
  _impl_.ruby_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::RubySettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_ruby_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.ruby_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::google::api::RubySettings* temp = _impl_.ruby_settings_;
  _impl_.ruby_settings_ = nullptr;
  return temp;
}
inline ::google::api::RubySettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_ruby_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ruby_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::RubySettings>(GetArena());
    _impl_.ruby_settings_ = reinterpret_cast<::google::api::RubySettings*>(p);
  }
  return _impl_.ruby_settings_;
}
inline ::google::api::RubySettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_ruby_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::google::api::RubySettings* _msg = _internal_mutable_ruby_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.ruby_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_ruby_settings(::google::api::RubySettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ruby_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }

  _impl_.ruby_settings_ = reinterpret_cast<::google::api::RubySettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.ruby_settings)
}

// .google.api.GoSettings go_settings = 28;
inline bool ClientLibrarySettings::has_go_settings() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
  PROTOBUF_ASSUME(!value || _impl_.go_settings_ != nullptr);
  return value;
}
inline void ClientLibrarySettings::clear_go_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.go_settings_ != nullptr) _impl_.go_settings_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline const ::google::api::GoSettings& ClientLibrarySettings::_internal_go_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::GoSettings* p = _impl_.go_settings_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::GoSettings>(&::google::api::GoSettings_globals_);
}
inline const ::google::api::GoSettings& ClientLibrarySettings::go_settings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.ClientLibrarySettings.go_settings)
  return _internal_go_settings();
}
inline void ClientLibrarySettings::unsafe_arena_set_allocated_go_settings(
    ::google::api::GoSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.go_settings_);
  }
  _impl_.go_settings_ = reinterpret_cast<::google::api::GoSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.ClientLibrarySettings.go_settings)
}
inline ::google::api::GoSettings* PROTOBUF_NULLABLE ClientLibrarySettings::release_go_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::google::api::GoSettings* released = _impl_.go_settings_;
  _impl_.go_settings_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::GoSettings* PROTOBUF_NULLABLE ClientLibrarySettings::unsafe_arena_release_go_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.ClientLibrarySettings.go_settings)

  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::google::api::GoSettings* temp = _impl_.go_settings_;
  _impl_.go_settings_ = nullptr;
  return temp;
}
inline ::google::api::GoSettings* PROTOBUF_NONNULL ClientLibrarySettings::_internal_mutable_go_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.go_settings_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::GoSettings>(GetArena());
    _impl_.go_settings_ = reinterpret_cast<::google::api::GoSettings*>(p);
  }
  return _impl_.go_settings_;
}
inline ::google::api::GoSettings* PROTOBUF_NONNULL ClientLibrarySettings::mutable_go_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::google::api::GoSettings* _msg = _internal_mutable_go_settings();
  // @@protoc_insertion_point(field_mutable:google.api.ClientLibrarySettings.go_settings)
  return _msg;
}
inline void ClientLibrarySettings::set_allocated_go_settings(::google::api::GoSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.go_settings_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }

  _impl_.go_settings_ = reinterpret_cast<::google::api::GoSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.ClientLibrarySettings.go_settings)
}

// -------------------------------------------------------------------

// Publishing

// repeated .google.api.MethodSettings method_settings = 2;
inline int Publishing::_internal_method_settings_size() const {
  return _internal_method_settings().size();
}
inline int Publishing::method_settings_size() const {
  return _internal_method_settings_size();
}
inline void Publishing::clear_method_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.method_settings_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::MethodSettings& Publishing::method_settings(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.method_settings)
  return _internal_method_settings().Get(index);
}
inline ::google::api::MethodSettings* PROTOBUF_NONNULL Publishing::mutable_method_settings(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.method_settings)
  return _internal_mutable_method_settings()->Mutable(index);
}
inline ::google::api::MethodSettings* PROTOBUF_NONNULL Publishing::add_method_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::api::MethodSettings* _add =
      _internal_mutable_method_settings()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.api.Publishing.method_settings)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>& Publishing::method_settings() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.Publishing.method_settings)
  return _internal_method_settings();
}
inline ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>* PROTOBUF_NONNULL
Publishing::mutable_method_settings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.api.Publishing.method_settings)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_method_settings();
}
inline const ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>&
Publishing::_internal_method_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.method_settings_;
}
inline ::google::protobuf::RepeatedPtrField<::google::api::MethodSettings>* PROTOBUF_NONNULL
Publishing::_internal_mutable_method_settings() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.method_settings_;
}

// string new_issue_uri = 101;
inline void Publishing::clear_new_issue_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.new_issue_uri_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& Publishing::new_issue_uri() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.new_issue_uri)
  return _internal_new_issue_uri();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_new_issue_uri(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.new_issue_uri_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.new_issue_uri)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_new_issue_uri()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_new_issue_uri();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.new_issue_uri)
  return _s;
}
inline const ::std::string& Publishing::_internal_new_issue_uri() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.new_issue_uri_.Get();
}
inline void Publishing::_internal_set_new_issue_uri(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.new_issue_uri_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_new_issue_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.new_issue_uri_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_new_issue_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.new_issue_uri)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.new_issue_uri_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.new_issue_uri_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_new_issue_uri(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.new_issue_uri_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.new_issue_uri_.IsDefault()) {
    _impl_.new_issue_uri_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.new_issue_uri)
}

// string documentation_uri = 102;
inline void Publishing::clear_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.documentation_uri_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::std::string& Publishing::documentation_uri() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.documentation_uri)
  return _internal_documentation_uri();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_documentation_uri(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  _impl_.documentation_uri_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.documentation_uri)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_documentation_uri()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::std::string* _s = _internal_mutable_documentation_uri();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.documentation_uri)
  return _s;
}
inline const ::std::string& Publishing::_internal_documentation_uri() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.documentation_uri_.Get();
}
inline void Publishing::_internal_set_documentation_uri(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.documentation_uri_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.documentation_uri_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.documentation_uri)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  auto* released = _impl_.documentation_uri_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.documentation_uri_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_documentation_uri(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  _impl_.documentation_uri_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.documentation_uri_.IsDefault()) {
    _impl_.documentation_uri_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.documentation_uri)
}

// string api_short_name = 103;
inline void Publishing::clear_api_short_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.api_short_name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::std::string& Publishing::api_short_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.api_short_name)
  return _internal_api_short_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_api_short_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  _impl_.api_short_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.api_short_name)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_api_short_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::std::string* _s = _internal_mutable_api_short_name();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.api_short_name)
  return _s;
}
inline const ::std::string& Publishing::_internal_api_short_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.api_short_name_.Get();
}
inline void Publishing::_internal_set_api_short_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.api_short_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_api_short_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.api_short_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_api_short_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.api_short_name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  auto* released = _impl_.api_short_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.api_short_name_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_api_short_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  _impl_.api_short_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.api_short_name_.IsDefault()) {
    _impl_.api_short_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.api_short_name)
}

// string github_label = 104;
inline void Publishing::clear_github_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.github_label_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline const ::std::string& Publishing::github_label() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.github_label)
  return _internal_github_label();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_github_label(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  _impl_.github_label_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.github_label)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_github_label()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::std::string* _s = _internal_mutable_github_label();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.github_label)
  return _s;
}
inline const ::std::string& Publishing::_internal_github_label() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.github_label_.Get();
}
inline void Publishing::_internal_set_github_label(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.github_label_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_github_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.github_label_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_github_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.github_label)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000040U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  auto* released = _impl_.github_label_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.github_label_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_github_label(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  _impl_.github_label_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.github_label_.IsDefault()) {
    _impl_.github_label_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.github_label)
}

// repeated string codeowner_github_teams = 105;
inline int Publishing::_internal_codeowner_github_teams_size() const {
  return _internal_codeowner_github_teams().size();
}
inline int Publishing::codeowner_github_teams_size() const {
  return _internal_codeowner_github_teams_size();
}
inline void Publishing::clear_codeowner_github_teams() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.codeowner_github_teams_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::std::string* PROTOBUF_NONNULL Publishing::add_codeowner_github_teams()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_codeowner_github_teams()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add_mutable:google.api.Publishing.codeowner_github_teams)
  return _s;
}
inline const ::std::string& Publishing::codeowner_github_teams(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.codeowner_github_teams)
  return _internal_codeowner_github_teams().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_codeowner_github_teams(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.codeowner_github_teams)
  return _internal_mutable_codeowner_github_teams()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Publishing::set_codeowner_github_teams(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_codeowner_github_teams()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:google.api.Publishing.codeowner_github_teams)
}
template <typename Arg_, typename... Args_>
inline void Publishing::add_codeowner_github_teams(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_codeowner_github_teams(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:google.api.Publishing.codeowner_github_teams)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Publishing::codeowner_github_teams()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.Publishing.codeowner_github_teams)
  return _internal_codeowner_github_teams();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Publishing::mutable_codeowner_github_teams() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:google.api.Publishing.codeowner_github_teams)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_codeowner_github_teams();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Publishing::_internal_codeowner_github_teams() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.codeowner_github_teams_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Publishing::_internal_mutable_codeowner_github_teams() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.codeowner_github_teams_;
}

// string doc_tag_prefix = 106;
inline void Publishing::clear_doc_tag_prefix() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.doc_tag_prefix_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline const ::std::string& Publishing::doc_tag_prefix() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.doc_tag_prefix)
  return _internal_doc_tag_prefix();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_doc_tag_prefix(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  _impl_.doc_tag_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.doc_tag_prefix)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_doc_tag_prefix()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::std::string* _s = _internal_mutable_doc_tag_prefix();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.doc_tag_prefix)
  return _s;
}
inline const ::std::string& Publishing::_internal_doc_tag_prefix() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.doc_tag_prefix_.Get();
}
inline void Publishing::_internal_set_doc_tag_prefix(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.doc_tag_prefix_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_doc_tag_prefix() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.doc_tag_prefix_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_doc_tag_prefix() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.doc_tag_prefix)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000080U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  auto* released = _impl_.doc_tag_prefix_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.doc_tag_prefix_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_doc_tag_prefix(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }
  _impl_.doc_tag_prefix_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.doc_tag_prefix_.IsDefault()) {
    _impl_.doc_tag_prefix_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.doc_tag_prefix)
}

// .google.api.ClientLibraryOrganization organization = 107;
inline void Publishing::clear_organization() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.organization_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
}
inline ::google::api::ClientLibraryOrganization Publishing::organization() const {
  // @@protoc_insertion_point(field_get:google.api.Publishing.organization)
  return _internal_organization();
}
inline void Publishing::set_organization(::google::api::ClientLibraryOrganization value) {
  _internal_set_organization(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:google.api.Publishing.organization)
}
inline ::google::api::ClientLibraryOrganization Publishing::_internal_organization() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::api::ClientLibraryOrganization>(_impl_.organization_);
}
inline void Publishing::_internal_set_organization(::google::api::ClientLibraryOrganization value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.organization_ = value;
}

// repeated .google.api.ClientLibrarySettings library_settings = 109;
inline int Publishing::_internal_library_settings_size() const {
  return _internal_library_settings().size();
}
inline int Publishing::library_settings_size() const {
  return _internal_library_settings_size();
}
inline void Publishing::clear_library_settings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.library_settings_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::google::api::ClientLibrarySettings& Publishing::library_settings(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.library_settings)
  return _internal_library_settings().Get(index);
}
inline ::google::api::ClientLibrarySettings* PROTOBUF_NONNULL Publishing::mutable_library_settings(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.library_settings)
  return _internal_mutable_library_settings()->Mutable(index);
}
inline ::google::api::ClientLibrarySettings* PROTOBUF_NONNULL Publishing::add_library_settings()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::api::ClientLibrarySettings* _add =
      _internal_mutable_library_settings()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:google.api.Publishing.library_settings)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>& Publishing::library_settings() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.Publishing.library_settings)
  return _internal_library_settings();
}
inline ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>* PROTOBUF_NONNULL
Publishing::mutable_library_settings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:google.api.Publishing.library_settings)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_library_settings();
}
inline const ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>&
Publishing::_internal_library_settings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.library_settings_;
}
inline ::google::protobuf::RepeatedPtrField<::google::api::ClientLibrarySettings>* PROTOBUF_NONNULL
Publishing::_internal_mutable_library_settings() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.library_settings_;
}

// string proto_reference_documentation_uri = 110;
inline void Publishing::clear_proto_reference_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.proto_reference_documentation_uri_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline const ::std::string& Publishing::proto_reference_documentation_uri() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.Publishing.proto_reference_documentation_uri)
  return _internal_proto_reference_documentation_uri();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Publishing::set_proto_reference_documentation_uri(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  _impl_.proto_reference_documentation_uri_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.Publishing.proto_reference_documentation_uri)
}
inline ::std::string* PROTOBUF_NONNULL Publishing::mutable_proto_reference_documentation_uri()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::std::string* _s = _internal_mutable_proto_reference_documentation_uri();
  // @@protoc_insertion_point(field_mutable:google.api.Publishing.proto_reference_documentation_uri)
  return _s;
}
inline const ::std::string& Publishing::_internal_proto_reference_documentation_uri() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.proto_reference_documentation_uri_.Get();
}
inline void Publishing::_internal_set_proto_reference_documentation_uri(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.proto_reference_documentation_uri_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Publishing::_internal_mutable_proto_reference_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.proto_reference_documentation_uri_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Publishing::release_proto_reference_documentation_uri() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.Publishing.proto_reference_documentation_uri)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000100U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  auto* released = _impl_.proto_reference_documentation_uri_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.proto_reference_documentation_uri_.Set("", GetArena());
  }
  return released;
}
inline void Publishing::set_allocated_proto_reference_documentation_uri(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }
  _impl_.proto_reference_documentation_uri_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.proto_reference_documentation_uri_.IsDefault()) {
    _impl_.proto_reference_documentation_uri_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.Publishing.proto_reference_documentation_uri)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// JavaSettings

// string library_package = 1;
inline void JavaSettings::clear_library_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.library_package_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& JavaSettings::library_package() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.JavaSettings.library_package)
  return _internal_library_package();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JavaSettings::set_library_package(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.library_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.JavaSettings.library_package)
}
inline ::std::string* PROTOBUF_NONNULL JavaSettings::mutable_library_package()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_library_package();
  // @@protoc_insertion_point(field_mutable:google.api.JavaSettings.library_package)
  return _s;
}
inline const ::std::string& JavaSettings::_internal_library_package() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.library_package_.Get();
}
inline void JavaSettings::_internal_set_library_package(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.library_package_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JavaSettings::_internal_mutable_library_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.library_package_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JavaSettings::release_library_package() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.JavaSettings.library_package)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.library_package_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.library_package_.Set("", GetArena());
  }
  return released;
}
inline void JavaSettings::set_allocated_library_package(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.library_package_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.library_package_.IsDefault()) {
    _impl_.library_package_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.JavaSettings.library_package)
}

// map<string, string> service_class_names = 2;
inline int JavaSettings::_internal_service_class_names_size() const {
  return _internal_service_class_names().size();
}
inline int JavaSettings::service_class_names_size() const {
  return _internal_service_class_names_size();
}
inline void JavaSettings::clear_service_class_names() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.service_class_names_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& JavaSettings::_internal_service_class_names() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.service_class_names_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& JavaSettings::service_class_names() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:google.api.JavaSettings.service_class_names)
  return _internal_service_class_names();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL JavaSettings::_internal_mutable_service_class_names() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.service_class_names_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL JavaSettings::mutable_service_class_names()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_map:google.api.JavaSettings.service_class_names)
  return _internal_mutable_service_class_names();
}

// .google.api.CommonLanguageSettings common = 3;
inline bool JavaSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void JavaSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::api::CommonLanguageSettings& JavaSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& JavaSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.JavaSettings.common)
  return _internal_common();
}
inline void JavaSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.JavaSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE JavaSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE JavaSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.JavaSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL JavaSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL JavaSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.JavaSettings.common)
  return _msg;
}
inline void JavaSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.JavaSettings.common)
}

// -------------------------------------------------------------------

// CppSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool CppSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void CppSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& CppSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& CppSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.CppSettings.common)
  return _internal_common();
}
inline void CppSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.CppSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE CppSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE CppSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.CppSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL CppSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL CppSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.CppSettings.common)
  return _msg;
}
inline void CppSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.CppSettings.common)
}

// -------------------------------------------------------------------

// PhpSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool PhpSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void PhpSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& PhpSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& PhpSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.PhpSettings.common)
  return _internal_common();
}
inline void PhpSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.PhpSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE PhpSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE PhpSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.PhpSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL PhpSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL PhpSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.PhpSettings.common)
  return _msg;
}
inline void PhpSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.PhpSettings.common)
}

// -------------------------------------------------------------------

// PythonSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool PythonSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void PythonSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& PythonSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& PythonSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.PythonSettings.common)
  return _internal_common();
}
inline void PythonSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.PythonSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE PythonSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE PythonSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.PythonSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL PythonSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL PythonSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.PythonSettings.common)
  return _msg;
}
inline void PythonSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.PythonSettings.common)
}

// -------------------------------------------------------------------

// NodeSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool NodeSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void NodeSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& NodeSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& NodeSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.NodeSettings.common)
  return _internal_common();
}
inline void NodeSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.NodeSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE NodeSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE NodeSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.NodeSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL NodeSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL NodeSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.NodeSettings.common)
  return _msg;
}
inline void NodeSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.NodeSettings.common)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// DotnetSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool DotnetSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void DotnetSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::google::api::CommonLanguageSettings& DotnetSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& DotnetSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.DotnetSettings.common)
  return _internal_common();
}
inline void DotnetSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.DotnetSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE DotnetSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE DotnetSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.DotnetSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL DotnetSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL DotnetSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.DotnetSettings.common)
  return _msg;
}
inline void DotnetSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.DotnetSettings.common)
}

// map<string, string> renamed_services = 2;
inline int DotnetSettings::_internal_renamed_services_size() const {
  return _internal_renamed_services().size();
}
inline int DotnetSettings::renamed_services_size() const {
  return _internal_renamed_services_size();
}
inline void DotnetSettings::clear_renamed_services() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.renamed_services_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& DotnetSettings::_internal_renamed_services() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.renamed_services_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& DotnetSettings::renamed_services() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:google.api.DotnetSettings.renamed_services)
  return _internal_renamed_services();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL DotnetSettings::_internal_mutable_renamed_services() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.renamed_services_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL DotnetSettings::mutable_renamed_services()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_mutable_map:google.api.DotnetSettings.renamed_services)
  return _internal_mutable_renamed_services();
}

// map<string, string> renamed_resources = 3;
inline int DotnetSettings::_internal_renamed_resources_size() const {
  return _internal_renamed_resources().size();
}
inline int DotnetSettings::renamed_resources_size() const {
  return _internal_renamed_resources_size();
}
inline void DotnetSettings::clear_renamed_resources() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.renamed_resources_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& DotnetSettings::_internal_renamed_resources() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.renamed_resources_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& DotnetSettings::renamed_resources() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:google.api.DotnetSettings.renamed_resources)
  return _internal_renamed_resources();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL DotnetSettings::_internal_mutable_renamed_resources() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.renamed_resources_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL DotnetSettings::mutable_renamed_resources()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_mutable_map:google.api.DotnetSettings.renamed_resources)
  return _internal_mutable_renamed_resources();
}

// repeated string ignored_resources = 4;
inline int DotnetSettings::_internal_ignored_resources_size() const {
  return _internal_ignored_resources().size();
}
inline int DotnetSettings::ignored_resources_size() const {
  return _internal_ignored_resources_size();
}
inline void DotnetSettings::clear_ignored_resources() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ignored_resources_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::add_ignored_resources()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_ignored_resources()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:google.api.DotnetSettings.ignored_resources)
  return _s;
}
inline const ::std::string& DotnetSettings::ignored_resources(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.DotnetSettings.ignored_resources)
  return _internal_ignored_resources().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::mutable_ignored_resources(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.DotnetSettings.ignored_resources)
  return _internal_mutable_ignored_resources()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::set_ignored_resources(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_ignored_resources()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:google.api.DotnetSettings.ignored_resources)
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::add_ignored_resources(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_ignored_resources(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.api.DotnetSettings.ignored_resources)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& DotnetSettings::ignored_resources()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.DotnetSettings.ignored_resources)
  return _internal_ignored_resources();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::mutable_ignored_resources() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.api.DotnetSettings.ignored_resources)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_ignored_resources();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
DotnetSettings::_internal_ignored_resources() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ignored_resources_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::_internal_mutable_ignored_resources() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.ignored_resources_;
}

// repeated string forced_namespace_aliases = 5;
inline int DotnetSettings::_internal_forced_namespace_aliases_size() const {
  return _internal_forced_namespace_aliases().size();
}
inline int DotnetSettings::forced_namespace_aliases_size() const {
  return _internal_forced_namespace_aliases_size();
}
inline void DotnetSettings::clear_forced_namespace_aliases() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.forced_namespace_aliases_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::add_forced_namespace_aliases()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_forced_namespace_aliases()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add_mutable:google.api.DotnetSettings.forced_namespace_aliases)
  return _s;
}
inline const ::std::string& DotnetSettings::forced_namespace_aliases(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.DotnetSettings.forced_namespace_aliases)
  return _internal_forced_namespace_aliases().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::mutable_forced_namespace_aliases(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.DotnetSettings.forced_namespace_aliases)
  return _internal_mutable_forced_namespace_aliases()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::set_forced_namespace_aliases(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_forced_namespace_aliases()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:google.api.DotnetSettings.forced_namespace_aliases)
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::add_forced_namespace_aliases(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_forced_namespace_aliases(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:google.api.DotnetSettings.forced_namespace_aliases)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& DotnetSettings::forced_namespace_aliases()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.DotnetSettings.forced_namespace_aliases)
  return _internal_forced_namespace_aliases();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::mutable_forced_namespace_aliases() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:google.api.DotnetSettings.forced_namespace_aliases)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_forced_namespace_aliases();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
DotnetSettings::_internal_forced_namespace_aliases() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.forced_namespace_aliases_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::_internal_mutable_forced_namespace_aliases() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.forced_namespace_aliases_;
}

// repeated string handwritten_signatures = 6;
inline int DotnetSettings::_internal_handwritten_signatures_size() const {
  return _internal_handwritten_signatures().size();
}
inline int DotnetSettings::handwritten_signatures_size() const {
  return _internal_handwritten_signatures_size();
}
inline void DotnetSettings::clear_handwritten_signatures() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.handwritten_signatures_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::add_handwritten_signatures()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_handwritten_signatures()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add_mutable:google.api.DotnetSettings.handwritten_signatures)
  return _s;
}
inline const ::std::string& DotnetSettings::handwritten_signatures(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.DotnetSettings.handwritten_signatures)
  return _internal_handwritten_signatures().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL DotnetSettings::mutable_handwritten_signatures(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.api.DotnetSettings.handwritten_signatures)
  return _internal_mutable_handwritten_signatures()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::set_handwritten_signatures(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_handwritten_signatures()->Mutable(index),
      ::std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:google.api.DotnetSettings.handwritten_signatures)
}
template <typename Arg_, typename... Args_>
inline void DotnetSettings::add_handwritten_signatures(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_handwritten_signatures(), ::std::forward<Arg_>(value),
      args... );
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:google.api.DotnetSettings.handwritten_signatures)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& DotnetSettings::handwritten_signatures()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.api.DotnetSettings.handwritten_signatures)
  return _internal_handwritten_signatures();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::mutable_handwritten_signatures() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:google.api.DotnetSettings.handwritten_signatures)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_handwritten_signatures();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
DotnetSettings::_internal_handwritten_signatures() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.handwritten_signatures_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
DotnetSettings::_internal_mutable_handwritten_signatures() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.handwritten_signatures_;
}

// -------------------------------------------------------------------

// RubySettings

// .google.api.CommonLanguageSettings common = 1;
inline bool RubySettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void RubySettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& RubySettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& RubySettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.RubySettings.common)
  return _internal_common();
}
inline void RubySettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.RubySettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE RubySettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE RubySettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.RubySettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL RubySettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL RubySettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.RubySettings.common)
  return _msg;
}
inline void RubySettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.RubySettings.common)
}

// -------------------------------------------------------------------

// GoSettings

// .google.api.CommonLanguageSettings common = 1;
inline bool GoSettings::has_common() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.common_ != nullptr);
  return value;
}
inline void GoSettings::clear_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ != nullptr) _impl_.common_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::api::CommonLanguageSettings& GoSettings::_internal_common() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::CommonLanguageSettings* p = _impl_.common_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::CommonLanguageSettings>(&::google::api::CommonLanguageSettings_globals_);
}
inline const ::google::api::CommonLanguageSettings& GoSettings::common() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.GoSettings.common)
  return _internal_common();
}
inline void GoSettings::unsafe_arena_set_allocated_common(
    ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }
  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.GoSettings.common)
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE GoSettings::release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* released = _impl_.common_;
  _impl_.common_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE GoSettings::unsafe_arena_release_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.GoSettings.common)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* temp = _impl_.common_;
  _impl_.common_ = nullptr;
  return temp;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL GoSettings::_internal_mutable_common() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.common_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::CommonLanguageSettings>(GetArena());
    _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(p);
  }
  return _impl_.common_;
}
inline ::google::api::CommonLanguageSettings* PROTOBUF_NONNULL GoSettings::mutable_common()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::api::CommonLanguageSettings* _msg = _internal_mutable_common();
  // @@protoc_insertion_point(field_mutable:google.api.GoSettings.common)
  return _msg;
}
inline void GoSettings::set_allocated_common(::google::api::CommonLanguageSettings* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.common_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.common_ = reinterpret_cast<::google::api::CommonLanguageSettings*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.GoSettings.common)
}

// -------------------------------------------------------------------

// MethodSettings_LongRunning

// .google.protobuf.Duration initial_poll_delay = 1;
inline bool MethodSettings_LongRunning::has_initial_poll_delay() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.initial_poll_delay_ != nullptr);
  return value;
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::_internal_initial_poll_delay() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Duration* p = _impl_.initial_poll_delay_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Duration>(&::google::protobuf::Duration_globals_);
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::initial_poll_delay() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.LongRunning.initial_poll_delay)
  return _internal_initial_poll_delay();
}
inline void MethodSettings_LongRunning::unsafe_arena_set_allocated_initial_poll_delay(
    ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.initial_poll_delay_);
  }
  _impl_.initial_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.MethodSettings.LongRunning.initial_poll_delay)
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::release_initial_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Duration* released = _impl_.initial_poll_delay_;
  _impl_.initial_poll_delay_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::unsafe_arena_release_initial_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.MethodSettings.LongRunning.initial_poll_delay)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Duration* temp = _impl_.initial_poll_delay_;
  _impl_.initial_poll_delay_ = nullptr;
  return temp;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::_internal_mutable_initial_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.initial_poll_delay_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
    _impl_.initial_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(p);
  }
  return _impl_.initial_poll_delay_;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::mutable_initial_poll_delay()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::google::protobuf::Duration* _msg = _internal_mutable_initial_poll_delay();
  // @@protoc_insertion_point(field_mutable:google.api.MethodSettings.LongRunning.initial_poll_delay)
  return _msg;
}
inline void MethodSettings_LongRunning::set_allocated_initial_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.initial_poll_delay_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.initial_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.MethodSettings.LongRunning.initial_poll_delay)
}

// float poll_delay_multiplier = 2;
inline void MethodSettings_LongRunning::clear_poll_delay_multiplier() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.poll_delay_multiplier_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline float MethodSettings_LongRunning::poll_delay_multiplier() const {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.LongRunning.poll_delay_multiplier)
  return _internal_poll_delay_multiplier();
}
inline void MethodSettings_LongRunning::set_poll_delay_multiplier(float value) {
  _internal_set_poll_delay_multiplier(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:google.api.MethodSettings.LongRunning.poll_delay_multiplier)
}
inline float MethodSettings_LongRunning::_internal_poll_delay_multiplier() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.poll_delay_multiplier_;
}
inline void MethodSettings_LongRunning::_internal_set_poll_delay_multiplier(float value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.poll_delay_multiplier_ = value;
}

// .google.protobuf.Duration max_poll_delay = 3;
inline bool MethodSettings_LongRunning::has_max_poll_delay() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.max_poll_delay_ != nullptr);
  return value;
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::_internal_max_poll_delay() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Duration* p = _impl_.max_poll_delay_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Duration>(&::google::protobuf::Duration_globals_);
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::max_poll_delay() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.LongRunning.max_poll_delay)
  return _internal_max_poll_delay();
}
inline void MethodSettings_LongRunning::unsafe_arena_set_allocated_max_poll_delay(
    ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.max_poll_delay_);
  }
  _impl_.max_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.MethodSettings.LongRunning.max_poll_delay)
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::release_max_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Duration* released = _impl_.max_poll_delay_;
  _impl_.max_poll_delay_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::unsafe_arena_release_max_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.MethodSettings.LongRunning.max_poll_delay)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Duration* temp = _impl_.max_poll_delay_;
  _impl_.max_poll_delay_ = nullptr;
  return temp;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::_internal_mutable_max_poll_delay() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.max_poll_delay_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
    _impl_.max_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(p);
  }
  return _impl_.max_poll_delay_;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::mutable_max_poll_delay()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::protobuf::Duration* _msg = _internal_mutable_max_poll_delay();
  // @@protoc_insertion_point(field_mutable:google.api.MethodSettings.LongRunning.max_poll_delay)
  return _msg;
}
inline void MethodSettings_LongRunning::set_allocated_max_poll_delay(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.max_poll_delay_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.max_poll_delay_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.MethodSettings.LongRunning.max_poll_delay)
}

// .google.protobuf.Duration total_poll_timeout = 4;
inline bool MethodSettings_LongRunning::has_total_poll_timeout() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.total_poll_timeout_ != nullptr);
  return value;
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::_internal_total_poll_timeout() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Duration* p = _impl_.total_poll_timeout_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Duration>(&::google::protobuf::Duration_globals_);
}
inline const ::google::protobuf::Duration& MethodSettings_LongRunning::total_poll_timeout() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.LongRunning.total_poll_timeout)
  return _internal_total_poll_timeout();
}
inline void MethodSettings_LongRunning::unsafe_arena_set_allocated_total_poll_timeout(
    ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.total_poll_timeout_);
  }
  _impl_.total_poll_timeout_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.MethodSettings.LongRunning.total_poll_timeout)
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::release_total_poll_timeout() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Duration* released = _impl_.total_poll_timeout_;
  _impl_.total_poll_timeout_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Duration* PROTOBUF_NULLABLE MethodSettings_LongRunning::unsafe_arena_release_total_poll_timeout() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.MethodSettings.LongRunning.total_poll_timeout)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Duration* temp = _impl_.total_poll_timeout_;
  _impl_.total_poll_timeout_ = nullptr;
  return temp;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::_internal_mutable_total_poll_timeout() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.total_poll_timeout_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
    _impl_.total_poll_timeout_ = reinterpret_cast<::google::protobuf::Duration*>(p);
  }
  return _impl_.total_poll_timeout_;
}
inline ::google::protobuf::Duration* PROTOBUF_NONNULL MethodSettings_LongRunning::mutable_total_poll_timeout()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::protobuf::Duration* _msg = _internal_mutable_total_poll_timeout();
  // @@protoc_insertion_point(field_mutable:google.api.MethodSettings.LongRunning.total_poll_timeout)
  return _msg;
}
inline void MethodSettings_LongRunning::set_allocated_total_poll_timeout(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.total_poll_timeout_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.total_poll_timeout_ = reinterpret_cast<::google::protobuf::Duration*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.MethodSettings.LongRunning.total_poll_timeout)
}

// -------------------------------------------------------------------

// MethodSettings

// string selector = 1;
inline void MethodSettings::clear_selector() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.selector_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& MethodSettings::selector() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.selector)
  return _internal_selector();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MethodSettings::set_selector(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.selector_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.api.MethodSettings.selector)
}
inline ::std::string* PROTOBUF_NONNULL MethodSettings::mutable_selector()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_selector();
  // @@protoc_insertion_point(field_mutable:google.api.MethodSettings.selector)
  return _s;
}
inline const ::std::string& MethodSettings::_internal_selector() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.selector_.Get();
}
inline void MethodSettings::_internal_set_selector(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.selector_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MethodSettings::_internal_mutable_selector() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.selector_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MethodSettings::release_selector() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.MethodSettings.selector)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.selector_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.selector_.Set("", GetArena());
  }
  return released;
}
inline void MethodSettings::set_allocated_selector(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.selector_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.selector_.IsDefault()) {
    _impl_.selector_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.api.MethodSettings.selector)
}

// .google.api.MethodSettings.LongRunning long_running = 2;
inline bool MethodSettings::has_long_running() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.long_running_ != nullptr);
  return value;
}
inline void MethodSettings::clear_long_running() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.long_running_ != nullptr) _impl_.long_running_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::api::MethodSettings_LongRunning& MethodSettings::_internal_long_running() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::api::MethodSettings_LongRunning* p = _impl_.long_running_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::api::MethodSettings_LongRunning>(&::google::api::MethodSettings_LongRunning_globals_);
}
inline const ::google::api::MethodSettings_LongRunning& MethodSettings::long_running() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.api.MethodSettings.long_running)
  return _internal_long_running();
}
inline void MethodSettings::unsafe_arena_set_allocated_long_running(
    ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.long_running_);
  }
  _impl_.long_running_ = reinterpret_cast<::google::api::MethodSettings_LongRunning*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.MethodSettings.long_running)
}
inline ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE MethodSettings::release_long_running() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::MethodSettings_LongRunning* released = _impl_.long_running_;
  _impl_.long_running_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE MethodSettings::unsafe_arena_release_long_running() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.api.MethodSettings.long_running)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::MethodSettings_LongRunning* temp = _impl_.long_running_;
  _impl_.long_running_ = nullptr;
  return temp;
}
inline ::google::api::MethodSettings_LongRunning* PROTOBUF_NONNULL MethodSettings::_internal_mutable_long_running() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.long_running_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::api::MethodSettings_LongRunning>(GetArena());
    _impl_.long_running_ = reinterpret_cast<::google::api::MethodSettings_LongRunning*>(p);
  }
  return _impl_.long_running_;
}
inline ::google::api::MethodSettings_LongRunning* PROTOBUF_NONNULL MethodSettings::mutable_long_running()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::api::MethodSettings_LongRunning* _msg = _internal_mutable_long_running();
  // @@protoc_insertion_point(field_mutable:google.api.MethodSettings.long_running)
  return _msg;
}
inline void MethodSettings::set_allocated_long_running(::google::api::MethodSettings_LongRunning* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.long_running_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.long_running_ = reinterpret_cast<::google::api::MethodSettings_LongRunning*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.api.MethodSettings.long_running)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace api
}  // namespace google


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::google::api::ClientLibraryOrganization> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::api::ClientLibraryOrganization>() {
  return ::google::api::ClientLibraryOrganization_descriptor();
}
template <>
struct is_proto_enum<::google::api::ClientLibraryDestination> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::api::ClientLibraryDestination>() {
  return ::google::api::ClientLibraryDestination_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // google_2fapi_2fclient_2eproto_2epb_2eh
