// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/subscription/v1/keyapis_subscription_service_v1.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto_2epb_2eh

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

#include "google/protobuf/port_def.inc"
#if PROTOBUF_VERSION < 4023000
#error "This file was generated by a newer version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please update"
#error "your headers."
#endif  // PROTOBUF_VERSION

#if 4023001 < PROTOBUF_MIN_PROTOC_VERSION
#error "This file was generated by an older version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please"
#error "regenerate this file with a newer version of protoc."
#endif  // PROTOBUF_MIN_PROTOC_VERSION
#include "google/protobuf/port_undef.inc"
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.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/generated_enum_util.h"
#include "google/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/descriptor.pb.h"
#include "google/protobuf/wrappers.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto

PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace subscription {
namespace v1 {
class GetServiceKindListRequest;
struct GetServiceKindListRequestDefaultTypeInternal;
extern GetServiceKindListRequestDefaultTypeInternal _GetServiceKindListRequest_default_instance_;
class GetServiceKindListResponse;
struct GetServiceKindListResponseDefaultTypeInternal;
extern GetServiceKindListResponseDefaultTypeInternal _GetServiceKindListResponse_default_instance_;
class GetServiceListRequest;
struct GetServiceListRequestDefaultTypeInternal;
extern GetServiceListRequestDefaultTypeInternal _GetServiceListRequest_default_instance_;
class GetServiceListResponse;
struct GetServiceListResponseDefaultTypeInternal;
extern GetServiceListResponseDefaultTypeInternal _GetServiceListResponse_default_instance_;
class GetServicePrivilegeCountRequest;
struct GetServicePrivilegeCountRequestDefaultTypeInternal;
extern GetServicePrivilegeCountRequestDefaultTypeInternal _GetServicePrivilegeCountRequest_default_instance_;
class GetServicePrivilegeCountResponse;
struct GetServicePrivilegeCountResponseDefaultTypeInternal;
extern GetServicePrivilegeCountResponseDefaultTypeInternal _GetServicePrivilegeCountResponse_default_instance_;
class GetServicePrivilegeListRequest;
struct GetServicePrivilegeListRequestDefaultTypeInternal;
extern GetServicePrivilegeListRequestDefaultTypeInternal _GetServicePrivilegeListRequest_default_instance_;
class GetServicePrivilegeListResponse;
struct GetServicePrivilegeListResponseDefaultTypeInternal;
extern GetServicePrivilegeListResponseDefaultTypeInternal _GetServicePrivilegeListResponse_default_instance_;
class Service;
struct ServiceDefaultTypeInternal;
extern ServiceDefaultTypeInternal _Service_default_instance_;
class ServiceKind;
struct ServiceKindDefaultTypeInternal;
extern ServiceKindDefaultTypeInternal _ServiceKind_default_instance_;
class ServicePrivilegeFilter;
struct ServicePrivilegeFilterDefaultTypeInternal;
extern ServicePrivilegeFilterDefaultTypeInternal _ServicePrivilegeFilter_default_instance_;
class ServicePrivilegePaging;
struct ServicePrivilegePagingDefaultTypeInternal;
extern ServicePrivilegePagingDefaultTypeInternal _ServicePrivilegePaging_default_instance_;
class Sevice;
struct SeviceDefaultTypeInternal;
extern SeviceDefaultTypeInternal _Sevice_default_instance_;
}  // namespace v1
}  // namespace subscription
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::subscription::v1::GetServiceKindListRequest* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServiceKindListRequest>(Arena*);
template <>
::keyapis::subscription::v1::GetServiceKindListResponse* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServiceKindListResponse>(Arena*);
template <>
::keyapis::subscription::v1::GetServiceListRequest* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServiceListRequest>(Arena*);
template <>
::keyapis::subscription::v1::GetServiceListResponse* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServiceListResponse>(Arena*);
template <>
::keyapis::subscription::v1::GetServicePrivilegeCountRequest* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServicePrivilegeCountRequest>(Arena*);
template <>
::keyapis::subscription::v1::GetServicePrivilegeCountResponse* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServicePrivilegeCountResponse>(Arena*);
template <>
::keyapis::subscription::v1::GetServicePrivilegeListRequest* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServicePrivilegeListRequest>(Arena*);
template <>
::keyapis::subscription::v1::GetServicePrivilegeListResponse* Arena::CreateMaybeMessage<::keyapis::subscription::v1::GetServicePrivilegeListResponse>(Arena*);
template <>
::keyapis::subscription::v1::Service* Arena::CreateMaybeMessage<::keyapis::subscription::v1::Service>(Arena*);
template <>
::keyapis::subscription::v1::ServiceKind* Arena::CreateMaybeMessage<::keyapis::subscription::v1::ServiceKind>(Arena*);
template <>
::keyapis::subscription::v1::ServicePrivilegeFilter* Arena::CreateMaybeMessage<::keyapis::subscription::v1::ServicePrivilegeFilter>(Arena*);
template <>
::keyapis::subscription::v1::ServicePrivilegePaging* Arena::CreateMaybeMessage<::keyapis::subscription::v1::ServicePrivilegePaging>(Arena*);
template <>
::keyapis::subscription::v1::Sevice* Arena::CreateMaybeMessage<::keyapis::subscription::v1::Sevice>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace subscription {
namespace v1 {
enum ServicePrivilegePaging_OrderByType : int {
  ServicePrivilegePaging_OrderByType_ORDER_BY_TYPE_UNKNOWN = 0,
  ServicePrivilegePaging_OrderByType_ORPON_THEN_FLAT_NUMBER = 1,
  ServicePrivilegePaging_OrderByType_ServicePrivilegePaging_OrderByType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  ServicePrivilegePaging_OrderByType_ServicePrivilegePaging_OrderByType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool ServicePrivilegePaging_OrderByType_IsValid(int value);
constexpr ServicePrivilegePaging_OrderByType ServicePrivilegePaging_OrderByType_OrderByType_MIN = static_cast<ServicePrivilegePaging_OrderByType>(0);
constexpr ServicePrivilegePaging_OrderByType ServicePrivilegePaging_OrderByType_OrderByType_MAX = static_cast<ServicePrivilegePaging_OrderByType>(1);
constexpr int ServicePrivilegePaging_OrderByType_OrderByType_ARRAYSIZE = 1 + 1;
const std::string& ServicePrivilegePaging_OrderByType_Name(ServicePrivilegePaging_OrderByType value);
template <typename T>
const std::string& ServicePrivilegePaging_OrderByType_Name(T value) {
  static_assert(std::is_same<T, ServicePrivilegePaging_OrderByType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to OrderByType_Name().");
  return ServicePrivilegePaging_OrderByType_Name(static_cast<ServicePrivilegePaging_OrderByType>(value));
}
const std::string& ServicePrivilegePaging_OrderByType_Name(ServicePrivilegePaging_OrderByType value);
bool ServicePrivilegePaging_OrderByType_Parse(absl::string_view name, ServicePrivilegePaging_OrderByType* value);
enum ServicePrivilegePaging_DirectionType : int {
  ServicePrivilegePaging_DirectionType_DIRECTION_TYPE_UNKNOWN = 0,
  ServicePrivilegePaging_DirectionType_DESC = 1,
  ServicePrivilegePaging_DirectionType_ASC = 2,
  ServicePrivilegePaging_DirectionType_ServicePrivilegePaging_DirectionType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  ServicePrivilegePaging_DirectionType_ServicePrivilegePaging_DirectionType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool ServicePrivilegePaging_DirectionType_IsValid(int value);
constexpr ServicePrivilegePaging_DirectionType ServicePrivilegePaging_DirectionType_DirectionType_MIN = static_cast<ServicePrivilegePaging_DirectionType>(0);
constexpr ServicePrivilegePaging_DirectionType ServicePrivilegePaging_DirectionType_DirectionType_MAX = static_cast<ServicePrivilegePaging_DirectionType>(2);
constexpr int ServicePrivilegePaging_DirectionType_DirectionType_ARRAYSIZE = 2 + 1;
const std::string& ServicePrivilegePaging_DirectionType_Name(ServicePrivilegePaging_DirectionType value);
template <typename T>
const std::string& ServicePrivilegePaging_DirectionType_Name(T value) {
  static_assert(std::is_same<T, ServicePrivilegePaging_DirectionType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to DirectionType_Name().");
  return ServicePrivilegePaging_DirectionType_Name(static_cast<ServicePrivilegePaging_DirectionType>(value));
}
const std::string& ServicePrivilegePaging_DirectionType_Name(ServicePrivilegePaging_DirectionType value);
bool ServicePrivilegePaging_DirectionType_Parse(absl::string_view name, ServicePrivilegePaging_DirectionType* value);

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


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

class Sevice final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.Sevice) */ {
 public:
  inline Sevice() : Sevice(nullptr) {}
  ~Sevice() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Sevice(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Sevice(const Sevice& from);
  Sevice(Sevice&& from) noexcept
    : Sevice() {
    *this = ::std::move(from);
  }

  inline Sevice& operator=(const Sevice& from) {
    CopyFrom(from);
    return *this;
  }
  inline Sevice& operator=(Sevice&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Sevice& default_instance() {
    return *internal_default_instance();
  }
  static inline const Sevice* internal_default_instance() {
    return reinterpret_cast<const Sevice*>(
               &_Sevice_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(Sevice& a, Sevice& b) {
    a.Swap(&b);
  }
  inline void Swap(Sevice* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Sevice* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Sevice* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Sevice>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Sevice& from);
  void MergeFrom(const Sevice& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Sevice* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.Sevice";
  }
  protected:
  explicit Sevice(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kIsActiveFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  const std::string& name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* ptr);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // bool is_active = 2;
  void clear_is_active() ;
  bool is_active() const;
  void set_is_active(bool value);

  private:
  bool _internal_is_active() const;
  void _internal_set_is_active(bool value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.Sevice)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    bool is_active_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class Service final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.Service) */ {
 public:
  inline Service() : Service(nullptr) {}
  ~Service() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Service(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Service(const Service& from);
  Service(Service&& from) noexcept
    : Service() {
    *this = ::std::move(from);
  }

  inline Service& operator=(const Service& from) {
    CopyFrom(from);
    return *this;
  }
  inline Service& operator=(Service&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Service& default_instance() {
    return *internal_default_instance();
  }
  static inline const Service* internal_default_instance() {
    return reinterpret_cast<const Service*>(
               &_Service_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Service& a, Service& b) {
    a.Swap(&b);
  }
  inline void Swap(Service* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Service* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Service* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Service>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Service& from);
  void MergeFrom(const Service& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Service* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.Service";
  }
  protected:
  explicit Service(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 1,
    kOrponFieldNumber = 3,
    kFlatNumberFieldNumber = 4,
    kIsActiveFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  const std::string& name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* ptr);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // .google.protobuf.Int64Value orpon = 3;
  bool has_orpon() const;
  void clear_orpon() ;
  const ::PROTOBUF_NAMESPACE_ID::Int64Value& orpon() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Int64Value* release_orpon();
  ::PROTOBUF_NAMESPACE_ID::Int64Value* mutable_orpon();
  void set_allocated_orpon(::PROTOBUF_NAMESPACE_ID::Int64Value* orpon);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Int64Value& _internal_orpon() const;
  ::PROTOBUF_NAMESPACE_ID::Int64Value* _internal_mutable_orpon();
  public:
  void unsafe_arena_set_allocated_orpon(
      ::PROTOBUF_NAMESPACE_ID::Int64Value* orpon);
  ::PROTOBUF_NAMESPACE_ID::Int64Value* unsafe_arena_release_orpon();
  // .google.protobuf.StringValue flat_number = 4;
  bool has_flat_number() const;
  void clear_flat_number() ;
  const ::PROTOBUF_NAMESPACE_ID::StringValue& flat_number() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::StringValue* release_flat_number();
  ::PROTOBUF_NAMESPACE_ID::StringValue* mutable_flat_number();
  void set_allocated_flat_number(::PROTOBUF_NAMESPACE_ID::StringValue* flat_number);
  private:
  const ::PROTOBUF_NAMESPACE_ID::StringValue& _internal_flat_number() const;
  ::PROTOBUF_NAMESPACE_ID::StringValue* _internal_mutable_flat_number();
  public:
  void unsafe_arena_set_allocated_flat_number(
      ::PROTOBUF_NAMESPACE_ID::StringValue* flat_number);
  ::PROTOBUF_NAMESPACE_ID::StringValue* unsafe_arena_release_flat_number();
  // bool is_active = 2;
  void clear_is_active() ;
  bool is_active() const;
  void set_is_active(bool value);

  private:
  bool _internal_is_active() const;
  void _internal_set_is_active(bool value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.Service)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::Int64Value* orpon_;
    ::PROTOBUF_NAMESPACE_ID::StringValue* flat_number_;
    bool is_active_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class ServiceKind final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.ServiceKind) */ {
 public:
  inline ServiceKind() : ServiceKind(nullptr) {}
  ~ServiceKind() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR ServiceKind(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ServiceKind(const ServiceKind& from);
  ServiceKind(ServiceKind&& from) noexcept
    : ServiceKind() {
    *this = ::std::move(from);
  }

  inline ServiceKind& operator=(const ServiceKind& from) {
    CopyFrom(from);
    return *this;
  }
  inline ServiceKind& operator=(ServiceKind&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ServiceKind& default_instance() {
    return *internal_default_instance();
  }
  static inline const ServiceKind* internal_default_instance() {
    return reinterpret_cast<const ServiceKind*>(
               &_ServiceKind_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(ServiceKind& a, ServiceKind& b) {
    a.Swap(&b);
  }
  inline void Swap(ServiceKind* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ServiceKind* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  ServiceKind* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ServiceKind>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ServiceKind& from);
  void MergeFrom(const ServiceKind& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ServiceKind* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.ServiceKind";
  }
  protected:
  explicit ServiceKind(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCategoryFieldNumber = 2,
    kNameFieldNumber = 3,
    kTitleFieldNumber = 4,
    kDescriptionFieldNumber = 5,
    kParentIdFieldNumber = 6,
    kIdFieldNumber = 1,
  };
  // string category = 2;
  void clear_category() ;
  const std::string& category() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_category(Arg_&& arg, Args_... args);
  std::string* mutable_category();
  PROTOBUF_NODISCARD std::string* release_category();
  void set_allocated_category(std::string* ptr);

  private:
  const std::string& _internal_category() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_category(
      const std::string& value);
  std::string* _internal_mutable_category();

  public:
  // string name = 3;
  void clear_name() ;
  const std::string& name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* ptr);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // string title = 4;
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // .google.protobuf.StringValue description = 5;
  bool has_description() const;
  void clear_description() ;
  const ::PROTOBUF_NAMESPACE_ID::StringValue& description() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::StringValue* release_description();
  ::PROTOBUF_NAMESPACE_ID::StringValue* mutable_description();
  void set_allocated_description(::PROTOBUF_NAMESPACE_ID::StringValue* description);
  private:
  const ::PROTOBUF_NAMESPACE_ID::StringValue& _internal_description() const;
  ::PROTOBUF_NAMESPACE_ID::StringValue* _internal_mutable_description();
  public:
  void unsafe_arena_set_allocated_description(
      ::PROTOBUF_NAMESPACE_ID::StringValue* description);
  ::PROTOBUF_NAMESPACE_ID::StringValue* unsafe_arena_release_description();
  // .google.protobuf.Int32Value parent_id = 6;
  bool has_parent_id() const;
  void clear_parent_id() ;
  const ::PROTOBUF_NAMESPACE_ID::Int32Value& parent_id() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Int32Value* release_parent_id();
  ::PROTOBUF_NAMESPACE_ID::Int32Value* mutable_parent_id();
  void set_allocated_parent_id(::PROTOBUF_NAMESPACE_ID::Int32Value* parent_id);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Int32Value& _internal_parent_id() const;
  ::PROTOBUF_NAMESPACE_ID::Int32Value* _internal_mutable_parent_id();
  public:
  void unsafe_arena_set_allocated_parent_id(
      ::PROTOBUF_NAMESPACE_ID::Int32Value* parent_id);
  ::PROTOBUF_NAMESPACE_ID::Int32Value* unsafe_arena_release_parent_id();
  // int32 id = 1;
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.ServiceKind)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr category_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::PROTOBUF_NAMESPACE_ID::StringValue* description_;
    ::PROTOBUF_NAMESPACE_ID::Int32Value* parent_id_;
    ::int32_t id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServiceListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServiceListRequest) */ {
 public:
  inline GetServiceListRequest() : GetServiceListRequest(nullptr) {}
  ~GetServiceListRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServiceListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServiceListRequest(const GetServiceListRequest& from);
  GetServiceListRequest(GetServiceListRequest&& from) noexcept
    : GetServiceListRequest() {
    *this = ::std::move(from);
  }

  inline GetServiceListRequest& operator=(const GetServiceListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServiceListRequest& operator=(GetServiceListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServiceListRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetServiceListRequest* internal_default_instance() {
    return reinterpret_cast<const GetServiceListRequest*>(
               &_GetServiceListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(GetServiceListRequest& a, GetServiceListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServiceListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServiceListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServiceListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServiceListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServiceListRequest& from);
  void MergeFrom(const GetServiceListRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServiceListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServiceListRequest";
  }
  protected:
  explicit GetServiceListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFlatNumberFieldNumber = 2,
    kOrponFieldNumber = 1,
  };
  // string flat_number = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_flat_number() ;
  const std::string& flat_number() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_flat_number(Arg_&& arg, Args_... args);
  std::string* mutable_flat_number();
  PROTOBUF_NODISCARD std::string* release_flat_number();
  void set_allocated_flat_number(std::string* ptr);

  private:
  const std::string& _internal_flat_number() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_flat_number(
      const std::string& value);
  std::string* _internal_mutable_flat_number();

  public:
  // int64 orpon = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_orpon() ;
  ::int64_t orpon() const;
  void set_orpon(::int64_t value);

  private:
  ::int64_t _internal_orpon() const;
  void _internal_set_orpon(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServiceListRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr flat_number_;
    ::int64_t orpon_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServiceListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServiceListResponse) */ {
 public:
  inline GetServiceListResponse() : GetServiceListResponse(nullptr) {}
  ~GetServiceListResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServiceListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServiceListResponse(const GetServiceListResponse& from);
  GetServiceListResponse(GetServiceListResponse&& from) noexcept
    : GetServiceListResponse() {
    *this = ::std::move(from);
  }

  inline GetServiceListResponse& operator=(const GetServiceListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServiceListResponse& operator=(GetServiceListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServiceListResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const GetServiceListResponse* internal_default_instance() {
    return reinterpret_cast<const GetServiceListResponse*>(
               &_GetServiceListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(GetServiceListResponse& a, GetServiceListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServiceListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServiceListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServiceListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServiceListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServiceListResponse& from);
  void MergeFrom(const GetServiceListResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServiceListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServiceListResponse";
  }
  protected:
  explicit GetServiceListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.subscription.v1.Sevice data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::subscription::v1::Sevice& data() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::Sevice* release_data();
  ::keyapis::subscription::v1::Sevice* mutable_data();
  void set_allocated_data(::keyapis::subscription::v1::Sevice* data);
  private:
  const ::keyapis::subscription::v1::Sevice& _internal_data() const;
  ::keyapis::subscription::v1::Sevice* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::subscription::v1::Sevice* data);
  ::keyapis::subscription::v1::Sevice* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServiceListResponse)
 private:
  class _Internal;
  void set_has_data();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::subscription::v1::Sevice* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServicePrivilegeListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServicePrivilegeListRequest) */ {
 public:
  inline GetServicePrivilegeListRequest() : GetServicePrivilegeListRequest(nullptr) {}
  ~GetServicePrivilegeListRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServicePrivilegeListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServicePrivilegeListRequest(const GetServicePrivilegeListRequest& from);
  GetServicePrivilegeListRequest(GetServicePrivilegeListRequest&& from) noexcept
    : GetServicePrivilegeListRequest() {
    *this = ::std::move(from);
  }

  inline GetServicePrivilegeListRequest& operator=(const GetServicePrivilegeListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServicePrivilegeListRequest& operator=(GetServicePrivilegeListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServicePrivilegeListRequest& default_instance() {
    return *internal_default_instance();
  }
  enum PaginationCase {
    kPaging = 2,
    PAGINATION_NOT_SET = 0,
  };

  static inline const GetServicePrivilegeListRequest* internal_default_instance() {
    return reinterpret_cast<const GetServicePrivilegeListRequest*>(
               &_GetServicePrivilegeListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(GetServicePrivilegeListRequest& a, GetServicePrivilegeListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServicePrivilegeListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServicePrivilegeListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServicePrivilegeListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServicePrivilegeListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServicePrivilegeListRequest& from);
  void MergeFrom(const GetServicePrivilegeListRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServicePrivilegeListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServicePrivilegeListRequest";
  }
  protected:
  explicit GetServicePrivilegeListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFilterFieldNumber = 1,
    kPagingFieldNumber = 2,
  };
  // .keyapis.subscription.v1.ServicePrivilegeFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::subscription::v1::ServicePrivilegeFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::ServicePrivilegeFilter* release_filter();
  ::keyapis::subscription::v1::ServicePrivilegeFilter* mutable_filter();
  void set_allocated_filter(::keyapis::subscription::v1::ServicePrivilegeFilter* filter);
  private:
  const ::keyapis::subscription::v1::ServicePrivilegeFilter& _internal_filter() const;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::subscription::v1::ServicePrivilegeFilter* filter);
  ::keyapis::subscription::v1::ServicePrivilegeFilter* unsafe_arena_release_filter();
  // .keyapis.subscription.v1.ServicePrivilegePaging paging = 2;
  bool has_paging() const;
  private:
  bool _internal_has_paging() const;

  public:
  void clear_paging() ;
  const ::keyapis::subscription::v1::ServicePrivilegePaging& paging() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::ServicePrivilegePaging* release_paging();
  ::keyapis::subscription::v1::ServicePrivilegePaging* mutable_paging();
  void set_allocated_paging(::keyapis::subscription::v1::ServicePrivilegePaging* paging);
  private:
  const ::keyapis::subscription::v1::ServicePrivilegePaging& _internal_paging() const;
  ::keyapis::subscription::v1::ServicePrivilegePaging* _internal_mutable_paging();
  public:
  void unsafe_arena_set_allocated_paging(
      ::keyapis::subscription::v1::ServicePrivilegePaging* paging);
  ::keyapis::subscription::v1::ServicePrivilegePaging* unsafe_arena_release_paging();
  void clear_pagination();
  PaginationCase pagination_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServicePrivilegeListRequest)
 private:
  class _Internal;
  void set_has_paging();

  inline bool has_pagination() const;
  inline void clear_has_pagination();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::subscription::v1::ServicePrivilegeFilter* filter_;
    union PaginationUnion {
      constexpr PaginationUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::subscription::v1::ServicePrivilegePaging* paging_;
    } pagination_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServicePrivilegeListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServicePrivilegeListResponse) */ {
 public:
  inline GetServicePrivilegeListResponse() : GetServicePrivilegeListResponse(nullptr) {}
  ~GetServicePrivilegeListResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServicePrivilegeListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServicePrivilegeListResponse(const GetServicePrivilegeListResponse& from);
  GetServicePrivilegeListResponse(GetServicePrivilegeListResponse&& from) noexcept
    : GetServicePrivilegeListResponse() {
    *this = ::std::move(from);
  }

  inline GetServicePrivilegeListResponse& operator=(const GetServicePrivilegeListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServicePrivilegeListResponse& operator=(GetServicePrivilegeListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServicePrivilegeListResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const GetServicePrivilegeListResponse* internal_default_instance() {
    return reinterpret_cast<const GetServicePrivilegeListResponse*>(
               &_GetServicePrivilegeListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(GetServicePrivilegeListResponse& a, GetServicePrivilegeListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServicePrivilegeListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServicePrivilegeListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServicePrivilegeListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServicePrivilegeListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServicePrivilegeListResponse& from);
  void MergeFrom(const GetServicePrivilegeListResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServicePrivilegeListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServicePrivilegeListResponse";
  }
  protected:
  explicit GetServicePrivilegeListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.subscription.v1.Service data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::subscription::v1::Service& data() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::Service* release_data();
  ::keyapis::subscription::v1::Service* mutable_data();
  void set_allocated_data(::keyapis::subscription::v1::Service* data);
  private:
  const ::keyapis::subscription::v1::Service& _internal_data() const;
  ::keyapis::subscription::v1::Service* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::subscription::v1::Service* data);
  ::keyapis::subscription::v1::Service* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServicePrivilegeListResponse)
 private:
  class _Internal;
  void set_has_data();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::subscription::v1::Service* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServicePrivilegeCountRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServicePrivilegeCountRequest) */ {
 public:
  inline GetServicePrivilegeCountRequest() : GetServicePrivilegeCountRequest(nullptr) {}
  ~GetServicePrivilegeCountRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServicePrivilegeCountRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServicePrivilegeCountRequest(const GetServicePrivilegeCountRequest& from);
  GetServicePrivilegeCountRequest(GetServicePrivilegeCountRequest&& from) noexcept
    : GetServicePrivilegeCountRequest() {
    *this = ::std::move(from);
  }

  inline GetServicePrivilegeCountRequest& operator=(const GetServicePrivilegeCountRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServicePrivilegeCountRequest& operator=(GetServicePrivilegeCountRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServicePrivilegeCountRequest& default_instance() {
    return *internal_default_instance();
  }
  enum PaginationCase {
    kPaging = 2,
    PAGINATION_NOT_SET = 0,
  };

  static inline const GetServicePrivilegeCountRequest* internal_default_instance() {
    return reinterpret_cast<const GetServicePrivilegeCountRequest*>(
               &_GetServicePrivilegeCountRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(GetServicePrivilegeCountRequest& a, GetServicePrivilegeCountRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServicePrivilegeCountRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServicePrivilegeCountRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServicePrivilegeCountRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServicePrivilegeCountRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServicePrivilegeCountRequest& from);
  void MergeFrom(const GetServicePrivilegeCountRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServicePrivilegeCountRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServicePrivilegeCountRequest";
  }
  protected:
  explicit GetServicePrivilegeCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFilterFieldNumber = 1,
    kPagingFieldNumber = 2,
  };
  // .keyapis.subscription.v1.ServicePrivilegeFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::subscription::v1::ServicePrivilegeFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::ServicePrivilegeFilter* release_filter();
  ::keyapis::subscription::v1::ServicePrivilegeFilter* mutable_filter();
  void set_allocated_filter(::keyapis::subscription::v1::ServicePrivilegeFilter* filter);
  private:
  const ::keyapis::subscription::v1::ServicePrivilegeFilter& _internal_filter() const;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::subscription::v1::ServicePrivilegeFilter* filter);
  ::keyapis::subscription::v1::ServicePrivilegeFilter* unsafe_arena_release_filter();
  // .keyapis.subscription.v1.ServicePrivilegePaging paging = 2;
  bool has_paging() const;
  private:
  bool _internal_has_paging() const;

  public:
  void clear_paging() ;
  const ::keyapis::subscription::v1::ServicePrivilegePaging& paging() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::ServicePrivilegePaging* release_paging();
  ::keyapis::subscription::v1::ServicePrivilegePaging* mutable_paging();
  void set_allocated_paging(::keyapis::subscription::v1::ServicePrivilegePaging* paging);
  private:
  const ::keyapis::subscription::v1::ServicePrivilegePaging& _internal_paging() const;
  ::keyapis::subscription::v1::ServicePrivilegePaging* _internal_mutable_paging();
  public:
  void unsafe_arena_set_allocated_paging(
      ::keyapis::subscription::v1::ServicePrivilegePaging* paging);
  ::keyapis::subscription::v1::ServicePrivilegePaging* unsafe_arena_release_paging();
  void clear_pagination();
  PaginationCase pagination_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServicePrivilegeCountRequest)
 private:
  class _Internal;
  void set_has_paging();

  inline bool has_pagination() const;
  inline void clear_has_pagination();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::subscription::v1::ServicePrivilegeFilter* filter_;
    union PaginationUnion {
      constexpr PaginationUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::subscription::v1::ServicePrivilegePaging* paging_;
    } pagination_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServicePrivilegeCountResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServicePrivilegeCountResponse) */ {
 public:
  inline GetServicePrivilegeCountResponse() : GetServicePrivilegeCountResponse(nullptr) {}
  ~GetServicePrivilegeCountResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServicePrivilegeCountResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServicePrivilegeCountResponse(const GetServicePrivilegeCountResponse& from);
  GetServicePrivilegeCountResponse(GetServicePrivilegeCountResponse&& from) noexcept
    : GetServicePrivilegeCountResponse() {
    *this = ::std::move(from);
  }

  inline GetServicePrivilegeCountResponse& operator=(const GetServicePrivilegeCountResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServicePrivilegeCountResponse& operator=(GetServicePrivilegeCountResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServicePrivilegeCountResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const GetServicePrivilegeCountResponse* internal_default_instance() {
    return reinterpret_cast<const GetServicePrivilegeCountResponse*>(
               &_GetServicePrivilegeCountResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetServicePrivilegeCountResponse& a, GetServicePrivilegeCountResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServicePrivilegeCountResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServicePrivilegeCountResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServicePrivilegeCountResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServicePrivilegeCountResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServicePrivilegeCountResponse& from);
  void MergeFrom(const GetServicePrivilegeCountResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServicePrivilegeCountResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServicePrivilegeCountResponse";
  }
  protected:
  explicit GetServicePrivilegeCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // int32 data = 1;
  bool has_data() const;
  void clear_data() ;
  ::int32_t data() const;
  void set_data(::int32_t value);

  private:
  ::int32_t _internal_data() const;
  void _internal_set_data(::int32_t value);

  public:
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServicePrivilegeCountResponse)
 private:
  class _Internal;
  void set_has_data();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::int32_t data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class ServicePrivilegeFilter final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.ServicePrivilegeFilter) */ {
 public:
  inline ServicePrivilegeFilter() : ServicePrivilegeFilter(nullptr) {}
  ~ServicePrivilegeFilter() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR ServicePrivilegeFilter(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ServicePrivilegeFilter(const ServicePrivilegeFilter& from);
  ServicePrivilegeFilter(ServicePrivilegeFilter&& from) noexcept
    : ServicePrivilegeFilter() {
    *this = ::std::move(from);
  }

  inline ServicePrivilegeFilter& operator=(const ServicePrivilegeFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline ServicePrivilegeFilter& operator=(ServicePrivilegeFilter&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ServicePrivilegeFilter& default_instance() {
    return *internal_default_instance();
  }
  static inline const ServicePrivilegeFilter* internal_default_instance() {
    return reinterpret_cast<const ServicePrivilegeFilter*>(
               &_ServicePrivilegeFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(ServicePrivilegeFilter& a, ServicePrivilegeFilter& b) {
    a.Swap(&b);
  }
  inline void Swap(ServicePrivilegeFilter* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ServicePrivilegeFilter* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  ServicePrivilegeFilter* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ServicePrivilegeFilter>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ServicePrivilegeFilter& from);
  void MergeFrom(const ServicePrivilegeFilter& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ServicePrivilegeFilter* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.ServicePrivilegeFilter";
  }
  protected:
  explicit ServicePrivilegeFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kOrponsFieldNumber = 1,
    kFlatNumbersFieldNumber = 2,
  };
  // repeated int64 orpons = 1;
  int orpons_size() const;
  private:
  int _internal_orpons_size() const;

  public:
  void clear_orpons() ;
  ::int64_t orpons(int index) const;
  void set_orpons(int index, ::int64_t value);
  void add_orpons(::int64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& orpons() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* mutable_orpons();

  private:
  ::int64_t _internal_orpons(int index) const;
  void _internal_add_orpons(::int64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& _internal_orpons() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* _internal_mutable_orpons();

  public:
  // repeated string flat_numbers = 2;
  int flat_numbers_size() const;
  private:
  int _internal_flat_numbers_size() const;

  public:
  void clear_flat_numbers() ;
  const std::string& flat_numbers(int index) const;
  std::string* mutable_flat_numbers(int index);
  void set_flat_numbers(int index, const std::string& value);
  void set_flat_numbers(int index, std::string&& value);
  void set_flat_numbers(int index, const char* value);
  void set_flat_numbers(int index, const char* value, std::size_t size);
  void set_flat_numbers(int index, absl::string_view value);
  std::string* add_flat_numbers();
  void add_flat_numbers(const std::string& value);
  void add_flat_numbers(std::string&& value);
  void add_flat_numbers(const char* value);
  void add_flat_numbers(const char* value, std::size_t size);
  void add_flat_numbers(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& flat_numbers() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_flat_numbers();

  private:
  const std::string& _internal_flat_numbers(int index) const;
  std::string* _internal_add_flat_numbers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_flat_numbers() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_flat_numbers();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.ServicePrivilegeFilter)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t> orpons_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _orpons_cached_byte_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> flat_numbers_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class ServicePrivilegePaging final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.ServicePrivilegePaging) */ {
 public:
  inline ServicePrivilegePaging() : ServicePrivilegePaging(nullptr) {}
  ~ServicePrivilegePaging() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR ServicePrivilegePaging(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ServicePrivilegePaging(const ServicePrivilegePaging& from);
  ServicePrivilegePaging(ServicePrivilegePaging&& from) noexcept
    : ServicePrivilegePaging() {
    *this = ::std::move(from);
  }

  inline ServicePrivilegePaging& operator=(const ServicePrivilegePaging& from) {
    CopyFrom(from);
    return *this;
  }
  inline ServicePrivilegePaging& operator=(ServicePrivilegePaging&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const ServicePrivilegePaging& default_instance() {
    return *internal_default_instance();
  }
  static inline const ServicePrivilegePaging* internal_default_instance() {
    return reinterpret_cast<const ServicePrivilegePaging*>(
               &_ServicePrivilegePaging_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(ServicePrivilegePaging& a, ServicePrivilegePaging& b) {
    a.Swap(&b);
  }
  inline void Swap(ServicePrivilegePaging* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ServicePrivilegePaging* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  ServicePrivilegePaging* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ServicePrivilegePaging>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ServicePrivilegePaging& from);
  void MergeFrom(const ServicePrivilegePaging& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(ServicePrivilegePaging* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.ServicePrivilegePaging";
  }
  protected:
  explicit ServicePrivilegePaging(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  using OrderByType = ServicePrivilegePaging_OrderByType;
  static constexpr OrderByType ORDER_BY_TYPE_UNKNOWN = ServicePrivilegePaging_OrderByType_ORDER_BY_TYPE_UNKNOWN;
  static constexpr OrderByType ORPON_THEN_FLAT_NUMBER = ServicePrivilegePaging_OrderByType_ORPON_THEN_FLAT_NUMBER;
  static inline bool OrderByType_IsValid(int value) {
    return ServicePrivilegePaging_OrderByType_IsValid(value);
  }
  static constexpr OrderByType OrderByType_MIN = ServicePrivilegePaging_OrderByType_OrderByType_MIN;
  static constexpr OrderByType OrderByType_MAX = ServicePrivilegePaging_OrderByType_OrderByType_MAX;
  static constexpr int OrderByType_ARRAYSIZE = ServicePrivilegePaging_OrderByType_OrderByType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& OrderByType_Name(T value) {
    return ServicePrivilegePaging_OrderByType_Name(value);
  }
  static inline bool OrderByType_Parse(absl::string_view name, OrderByType* value) {
    return ServicePrivilegePaging_OrderByType_Parse(name, value);
  }

  using DirectionType = ServicePrivilegePaging_DirectionType;
  static constexpr DirectionType DIRECTION_TYPE_UNKNOWN = ServicePrivilegePaging_DirectionType_DIRECTION_TYPE_UNKNOWN;
  static constexpr DirectionType DESC = ServicePrivilegePaging_DirectionType_DESC;
  static constexpr DirectionType ASC = ServicePrivilegePaging_DirectionType_ASC;
  static inline bool DirectionType_IsValid(int value) {
    return ServicePrivilegePaging_DirectionType_IsValid(value);
  }
  static constexpr DirectionType DirectionType_MIN = ServicePrivilegePaging_DirectionType_DirectionType_MIN;
  static constexpr DirectionType DirectionType_MAX = ServicePrivilegePaging_DirectionType_DirectionType_MAX;
  static constexpr int DirectionType_ARRAYSIZE = ServicePrivilegePaging_DirectionType_DirectionType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& DirectionType_Name(T value) {
    return ServicePrivilegePaging_DirectionType_Name(value);
  }
  static inline bool DirectionType_Parse(absl::string_view name, DirectionType* value) {
    return ServicePrivilegePaging_DirectionType_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kOrderByTypeFieldNumber = 1,
    kDirectionTypeFieldNumber = 2,
    kLimitFieldNumber = 3,
    kOffsetFieldNumber = 4,
  };
  // .keyapis.subscription.v1.ServicePrivilegePaging.OrderByType order_by_type = 1;
  void clear_order_by_type() ;
  ::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType order_by_type() const;
  void set_order_by_type(::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType value);

  private:
  ::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType _internal_order_by_type() const;
  void _internal_set_order_by_type(::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType value);

  public:
  // .keyapis.subscription.v1.ServicePrivilegePaging.DirectionType direction_type = 2;
  void clear_direction_type() ;
  ::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType direction_type() const;
  void set_direction_type(::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType value);

  private:
  ::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType _internal_direction_type() const;
  void _internal_set_direction_type(::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType value);

  public:
  // int32 limit = 3;
  void clear_limit() ;
  ::int32_t limit() const;
  void set_limit(::int32_t value);

  private:
  ::int32_t _internal_limit() const;
  void _internal_set_limit(::int32_t value);

  public:
  // int32 offset = 4;
  void clear_offset() ;
  ::int32_t offset() const;
  void set_offset(::int32_t value);

  private:
  ::int32_t _internal_offset() const;
  void _internal_set_offset(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.ServicePrivilegePaging)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    int order_by_type_;
    int direction_type_;
    ::int32_t limit_;
    ::int32_t offset_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServiceKindListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServiceKindListRequest) */ {
 public:
  inline GetServiceKindListRequest() : GetServiceKindListRequest(nullptr) {}
  ~GetServiceKindListRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServiceKindListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServiceKindListRequest(const GetServiceKindListRequest& from);
  GetServiceKindListRequest(GetServiceKindListRequest&& from) noexcept
    : GetServiceKindListRequest() {
    *this = ::std::move(from);
  }

  inline GetServiceKindListRequest& operator=(const GetServiceKindListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServiceKindListRequest& operator=(GetServiceKindListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServiceKindListRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetServiceKindListRequest* internal_default_instance() {
    return reinterpret_cast<const GetServiceKindListRequest*>(
               &_GetServiceKindListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(GetServiceKindListRequest& a, GetServiceKindListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServiceKindListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServiceKindListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServiceKindListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServiceKindListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServiceKindListRequest& from);
  void MergeFrom(const GetServiceKindListRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServiceKindListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServiceKindListRequest";
  }
  protected:
  explicit GetServiceKindListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServiceKindListRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetServiceKindListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.subscription.v1.GetServiceKindListResponse) */ {
 public:
  inline GetServiceKindListResponse() : GetServiceKindListResponse(nullptr) {}
  ~GetServiceKindListResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetServiceKindListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetServiceKindListResponse(const GetServiceKindListResponse& from);
  GetServiceKindListResponse(GetServiceKindListResponse&& from) noexcept
    : GetServiceKindListResponse() {
    *this = ::std::move(from);
  }

  inline GetServiceKindListResponse& operator=(const GetServiceKindListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetServiceKindListResponse& operator=(GetServiceKindListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetServiceKindListResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const GetServiceKindListResponse* internal_default_instance() {
    return reinterpret_cast<const GetServiceKindListResponse*>(
               &_GetServiceKindListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetServiceKindListResponse& a, GetServiceKindListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetServiceKindListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetServiceKindListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetServiceKindListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetServiceKindListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetServiceKindListResponse& from);
  void MergeFrom(const GetServiceKindListResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetServiceKindListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.subscription.v1.GetServiceKindListResponse";
  }
  protected:
  explicit GetServiceKindListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.subscription.v1.ServiceKind data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::subscription::v1::ServiceKind& data() const;
  PROTOBUF_NODISCARD ::keyapis::subscription::v1::ServiceKind* release_data();
  ::keyapis::subscription::v1::ServiceKind* mutable_data();
  void set_allocated_data(::keyapis::subscription::v1::ServiceKind* data);
  private:
  const ::keyapis::subscription::v1::ServiceKind& _internal_data() const;
  ::keyapis::subscription::v1::ServiceKind* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::subscription::v1::ServiceKind* data);
  ::keyapis::subscription::v1::ServiceKind* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.subscription.v1.GetServiceKindListResponse)
 private:
  class _Internal;
  void set_has_data();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::subscription::v1::ServiceKind* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto;
};

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




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


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

// Sevice

// string name = 1;
inline void Sevice::clear_name() {
  _impl_.name_.ClearToEmpty();
}
inline const std::string& Sevice::name() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Sevice.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Sevice::set_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.Sevice.name)
}
inline std::string* Sevice::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.Sevice.name)
  return _s;
}
inline const std::string& Sevice::_internal_name() const {
  return _impl_.name_.Get();
}
inline void Sevice::_internal_set_name(const std::string& value) {
  ;


  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* Sevice::_internal_mutable_name() {
  ;
  return _impl_.name_.Mutable( GetArenaForAllocation());
}
inline std::string* Sevice::release_name() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.Sevice.name)
  return _impl_.name_.Release();
}
inline void Sevice::set_allocated_name(std::string* value) {
  _impl_.name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.Sevice.name)
}

// bool is_active = 2;
inline void Sevice::clear_is_active() {
  _impl_.is_active_ = false;
}
inline bool Sevice::is_active() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Sevice.is_active)
  return _internal_is_active();
}
inline void Sevice::set_is_active(bool value) {
  _internal_set_is_active(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.Sevice.is_active)
}
inline bool Sevice::_internal_is_active() const {
  return _impl_.is_active_;
}
inline void Sevice::_internal_set_is_active(bool value) {
  ;
  _impl_.is_active_ = value;
}

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

// Service

// string name = 1;
inline void Service::clear_name() {
  _impl_.name_.ClearToEmpty();
}
inline const std::string& Service::name() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Service.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Service::set_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.Service.name)
}
inline std::string* Service::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.Service.name)
  return _s;
}
inline const std::string& Service::_internal_name() const {
  return _impl_.name_.Get();
}
inline void Service::_internal_set_name(const std::string& value) {
  ;


  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* Service::_internal_mutable_name() {
  ;
  return _impl_.name_.Mutable( GetArenaForAllocation());
}
inline std::string* Service::release_name() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.Service.name)
  return _impl_.name_.Release();
}
inline void Service::set_allocated_name(std::string* value) {
  _impl_.name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.Service.name)
}

// bool is_active = 2;
inline void Service::clear_is_active() {
  _impl_.is_active_ = false;
}
inline bool Service::is_active() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Service.is_active)
  return _internal_is_active();
}
inline void Service::set_is_active(bool value) {
  _internal_set_is_active(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.Service.is_active)
}
inline bool Service::_internal_is_active() const {
  return _impl_.is_active_;
}
inline void Service::_internal_set_is_active(bool value) {
  ;
  _impl_.is_active_ = value;
}

// .google.protobuf.Int64Value orpon = 3;
inline bool Service::has_orpon() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.orpon_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Int64Value& Service::_internal_orpon() const {
  const ::PROTOBUF_NAMESPACE_ID::Int64Value* p = _impl_.orpon_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Int64Value&>(
      ::PROTOBUF_NAMESPACE_ID::_Int64Value_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Int64Value& Service::orpon() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Service.orpon)
  return _internal_orpon();
}
inline void Service::unsafe_arena_set_allocated_orpon(
    ::PROTOBUF_NAMESPACE_ID::Int64Value* orpon) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.orpon_);
  }
  _impl_.orpon_ = orpon;
  if (orpon) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.Service.orpon)
}
inline ::PROTOBUF_NAMESPACE_ID::Int64Value* Service::release_orpon() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Int64Value* temp = _impl_.orpon_;
  _impl_.orpon_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Int64Value* Service::unsafe_arena_release_orpon() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.Service.orpon)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Int64Value* temp = _impl_.orpon_;
  _impl_.orpon_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Int64Value* Service::_internal_mutable_orpon() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.orpon_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Int64Value>(GetArenaForAllocation());
    _impl_.orpon_ = p;
  }
  return _impl_.orpon_;
}
inline ::PROTOBUF_NAMESPACE_ID::Int64Value* Service::mutable_orpon() {
  ::PROTOBUF_NAMESPACE_ID::Int64Value* _msg = _internal_mutable_orpon();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.Service.orpon)
  return _msg;
}
inline void Service::set_allocated_orpon(::PROTOBUF_NAMESPACE_ID::Int64Value* orpon) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.orpon_);
  }
  if (orpon) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(orpon));
    if (message_arena != submessage_arena) {
      orpon = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, orpon, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.orpon_ = orpon;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.Service.orpon)
}

// .google.protobuf.StringValue flat_number = 4;
inline bool Service::has_flat_number() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.flat_number_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Service::_internal_flat_number() const {
  const ::PROTOBUF_NAMESPACE_ID::StringValue* p = _impl_.flat_number_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::StringValue&>(
      ::PROTOBUF_NAMESPACE_ID::_StringValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Service::flat_number() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.Service.flat_number)
  return _internal_flat_number();
}
inline void Service::unsafe_arena_set_allocated_flat_number(
    ::PROTOBUF_NAMESPACE_ID::StringValue* flat_number) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.flat_number_);
  }
  _impl_.flat_number_ = flat_number;
  if (flat_number) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.Service.flat_number)
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Service::release_flat_number() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.flat_number_;
  _impl_.flat_number_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Service::unsafe_arena_release_flat_number() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.Service.flat_number)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.flat_number_;
  _impl_.flat_number_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Service::_internal_mutable_flat_number() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.flat_number_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::StringValue>(GetArenaForAllocation());
    _impl_.flat_number_ = p;
  }
  return _impl_.flat_number_;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Service::mutable_flat_number() {
  ::PROTOBUF_NAMESPACE_ID::StringValue* _msg = _internal_mutable_flat_number();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.Service.flat_number)
  return _msg;
}
inline void Service::set_allocated_flat_number(::PROTOBUF_NAMESPACE_ID::StringValue* flat_number) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.flat_number_);
  }
  if (flat_number) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(flat_number));
    if (message_arena != submessage_arena) {
      flat_number = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, flat_number, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.flat_number_ = flat_number;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.Service.flat_number)
}

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

// ServiceKind

// int32 id = 1;
inline void ServiceKind::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t ServiceKind::id() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.id)
  return _internal_id();
}
inline void ServiceKind::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServiceKind.id)
}
inline ::int32_t ServiceKind::_internal_id() const {
  return _impl_.id_;
}
inline void ServiceKind::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string category = 2;
inline void ServiceKind::clear_category() {
  _impl_.category_.ClearToEmpty();
}
inline const std::string& ServiceKind::category() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.category)
  return _internal_category();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ServiceKind::set_category(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.category_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServiceKind.category)
}
inline std::string* ServiceKind::mutable_category() {
  std::string* _s = _internal_mutable_category();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServiceKind.category)
  return _s;
}
inline const std::string& ServiceKind::_internal_category() const {
  return _impl_.category_.Get();
}
inline void ServiceKind::_internal_set_category(const std::string& value) {
  ;


  _impl_.category_.Set(value, GetArenaForAllocation());
}
inline std::string* ServiceKind::_internal_mutable_category() {
  ;
  return _impl_.category_.Mutable( GetArenaForAllocation());
}
inline std::string* ServiceKind::release_category() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.ServiceKind.category)
  return _impl_.category_.Release();
}
inline void ServiceKind::set_allocated_category(std::string* value) {
  _impl_.category_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.category_.IsDefault()) {
          _impl_.category_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.ServiceKind.category)
}

// string name = 3;
inline void ServiceKind::clear_name() {
  _impl_.name_.ClearToEmpty();
}
inline const std::string& ServiceKind::name() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ServiceKind::set_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServiceKind.name)
}
inline std::string* ServiceKind::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServiceKind.name)
  return _s;
}
inline const std::string& ServiceKind::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ServiceKind::_internal_set_name(const std::string& value) {
  ;


  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ServiceKind::_internal_mutable_name() {
  ;
  return _impl_.name_.Mutable( GetArenaForAllocation());
}
inline std::string* ServiceKind::release_name() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.ServiceKind.name)
  return _impl_.name_.Release();
}
inline void ServiceKind::set_allocated_name(std::string* value) {
  _impl_.name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.ServiceKind.name)
}

// string title = 4;
inline void ServiceKind::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& ServiceKind::title() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ServiceKind::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServiceKind.title)
}
inline std::string* ServiceKind::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServiceKind.title)
  return _s;
}
inline const std::string& ServiceKind::_internal_title() const {
  return _impl_.title_.Get();
}
inline void ServiceKind::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* ServiceKind::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* ServiceKind::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.ServiceKind.title)
  return _impl_.title_.Release();
}
inline void ServiceKind::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.ServiceKind.title)
}

// .google.protobuf.StringValue description = 5;
inline bool ServiceKind::has_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.description_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& ServiceKind::_internal_description() const {
  const ::PROTOBUF_NAMESPACE_ID::StringValue* p = _impl_.description_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::StringValue&>(
      ::PROTOBUF_NAMESPACE_ID::_StringValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& ServiceKind::description() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.description)
  return _internal_description();
}
inline void ServiceKind::unsafe_arena_set_allocated_description(
    ::PROTOBUF_NAMESPACE_ID::StringValue* description) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.description_);
  }
  _impl_.description_ = description;
  if (description) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.ServiceKind.description)
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* ServiceKind::release_description() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.description_;
  _impl_.description_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* ServiceKind::unsafe_arena_release_description() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.ServiceKind.description)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.description_;
  _impl_.description_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* ServiceKind::_internal_mutable_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.description_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::StringValue>(GetArenaForAllocation());
    _impl_.description_ = p;
  }
  return _impl_.description_;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* ServiceKind::mutable_description() {
  ::PROTOBUF_NAMESPACE_ID::StringValue* _msg = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServiceKind.description)
  return _msg;
}
inline void ServiceKind::set_allocated_description(::PROTOBUF_NAMESPACE_ID::StringValue* description) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.description_);
  }
  if (description) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(description));
    if (message_arena != submessage_arena) {
      description = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, description, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_ = description;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.ServiceKind.description)
}

// .google.protobuf.Int32Value parent_id = 6;
inline bool ServiceKind::has_parent_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.parent_id_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Int32Value& ServiceKind::_internal_parent_id() const {
  const ::PROTOBUF_NAMESPACE_ID::Int32Value* p = _impl_.parent_id_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Int32Value&>(
      ::PROTOBUF_NAMESPACE_ID::_Int32Value_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Int32Value& ServiceKind::parent_id() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServiceKind.parent_id)
  return _internal_parent_id();
}
inline void ServiceKind::unsafe_arena_set_allocated_parent_id(
    ::PROTOBUF_NAMESPACE_ID::Int32Value* parent_id) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.parent_id_);
  }
  _impl_.parent_id_ = parent_id;
  if (parent_id) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.ServiceKind.parent_id)
}
inline ::PROTOBUF_NAMESPACE_ID::Int32Value* ServiceKind::release_parent_id() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Int32Value* temp = _impl_.parent_id_;
  _impl_.parent_id_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Int32Value* ServiceKind::unsafe_arena_release_parent_id() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.ServiceKind.parent_id)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Int32Value* temp = _impl_.parent_id_;
  _impl_.parent_id_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Int32Value* ServiceKind::_internal_mutable_parent_id() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.parent_id_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Int32Value>(GetArenaForAllocation());
    _impl_.parent_id_ = p;
  }
  return _impl_.parent_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::Int32Value* ServiceKind::mutable_parent_id() {
  ::PROTOBUF_NAMESPACE_ID::Int32Value* _msg = _internal_mutable_parent_id();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServiceKind.parent_id)
  return _msg;
}
inline void ServiceKind::set_allocated_parent_id(::PROTOBUF_NAMESPACE_ID::Int32Value* parent_id) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.parent_id_);
  }
  if (parent_id) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(parent_id));
    if (message_arena != submessage_arena) {
      parent_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, parent_id, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.parent_id_ = parent_id;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.ServiceKind.parent_id)
}

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

// GetServiceListRequest

// int64 orpon = 1 [(.google.api.field_behavior) = REQUIRED];
inline void GetServiceListRequest::clear_orpon() {
  _impl_.orpon_ = ::int64_t{0};
}
inline ::int64_t GetServiceListRequest::orpon() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServiceListRequest.orpon)
  return _internal_orpon();
}
inline void GetServiceListRequest::set_orpon(::int64_t value) {
  _internal_set_orpon(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.GetServiceListRequest.orpon)
}
inline ::int64_t GetServiceListRequest::_internal_orpon() const {
  return _impl_.orpon_;
}
inline void GetServiceListRequest::_internal_set_orpon(::int64_t value) {
  ;
  _impl_.orpon_ = value;
}

// string flat_number = 2 [(.google.api.field_behavior) = REQUIRED];
inline void GetServiceListRequest::clear_flat_number() {
  _impl_.flat_number_.ClearToEmpty();
}
inline const std::string& GetServiceListRequest::flat_number() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServiceListRequest.flat_number)
  return _internal_flat_number();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void GetServiceListRequest::set_flat_number(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.flat_number_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.GetServiceListRequest.flat_number)
}
inline std::string* GetServiceListRequest::mutable_flat_number() {
  std::string* _s = _internal_mutable_flat_number();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServiceListRequest.flat_number)
  return _s;
}
inline const std::string& GetServiceListRequest::_internal_flat_number() const {
  return _impl_.flat_number_.Get();
}
inline void GetServiceListRequest::_internal_set_flat_number(const std::string& value) {
  ;


  _impl_.flat_number_.Set(value, GetArenaForAllocation());
}
inline std::string* GetServiceListRequest::_internal_mutable_flat_number() {
  ;
  return _impl_.flat_number_.Mutable( GetArenaForAllocation());
}
inline std::string* GetServiceListRequest::release_flat_number() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServiceListRequest.flat_number)
  return _impl_.flat_number_.Release();
}
inline void GetServiceListRequest::set_allocated_flat_number(std::string* value) {
  _impl_.flat_number_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.flat_number_.IsDefault()) {
          _impl_.flat_number_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.GetServiceListRequest.flat_number)
}

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

// GetServiceListResponse

// .keyapis.subscription.v1.Sevice data = 1;
inline bool GetServiceListResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetServiceListResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetServiceListResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetServiceListResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::subscription::v1::Sevice* GetServiceListResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServiceListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::Sevice* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::subscription::v1::Sevice& GetServiceListResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::subscription::v1::Sevice&>(::keyapis::subscription::v1::_Sevice_default_instance_);
}
inline const ::keyapis::subscription::v1::Sevice& GetServiceListResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServiceListResponse.data)
  return _internal_data();
}
inline ::keyapis::subscription::v1::Sevice* GetServiceListResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.subscription.v1.GetServiceListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::Sevice* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetServiceListResponse::unsafe_arena_set_allocated_data(::keyapis::subscription::v1::Sevice* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServiceListResponse.data)
}
inline ::keyapis::subscription::v1::Sevice* GetServiceListResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::subscription::v1::Sevice >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::subscription::v1::Sevice* GetServiceListResponse::mutable_data() {
  ::keyapis::subscription::v1::Sevice* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServiceListResponse.data)
  return _msg;
}

inline bool GetServiceListResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetServiceListResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetServiceListResponse::TypeCase GetServiceListResponse::type_case() const {
  return GetServiceListResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetServicePrivilegeListRequest

// .keyapis.subscription.v1.ServicePrivilegeFilter filter = 1;
inline bool GetServicePrivilegeListRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetServicePrivilegeListRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::subscription::v1::ServicePrivilegeFilter& GetServicePrivilegeListRequest::_internal_filter() const {
  const ::keyapis::subscription::v1::ServicePrivilegeFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::subscription::v1::ServicePrivilegeFilter&>(
      ::keyapis::subscription::v1::_ServicePrivilegeFilter_default_instance_);
}
inline const ::keyapis::subscription::v1::ServicePrivilegeFilter& GetServicePrivilegeListRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeListRequest.filter)
  return _internal_filter();
}
inline void GetServicePrivilegeListRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::subscription::v1::ServicePrivilegeFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServicePrivilegeListRequest.filter)
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeListRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeListRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServicePrivilegeListRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeListRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::subscription::v1::ServicePrivilegeFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeListRequest::mutable_filter() {
  ::keyapis::subscription::v1::ServicePrivilegeFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServicePrivilegeListRequest.filter)
  return _msg;
}
inline void GetServicePrivilegeListRequest::set_allocated_filter(::keyapis::subscription::v1::ServicePrivilegeFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.GetServicePrivilegeListRequest.filter)
}

// .keyapis.subscription.v1.ServicePrivilegePaging paging = 2;
inline bool GetServicePrivilegeListRequest::has_paging() const {
  return pagination_case() == kPaging;
}
inline bool GetServicePrivilegeListRequest::_internal_has_paging() const {
  return pagination_case() == kPaging;
}
inline void GetServicePrivilegeListRequest::set_has_paging() {
  _impl_._oneof_case_[0] = kPaging;
}
inline void GetServicePrivilegeListRequest::clear_paging() {
  if (pagination_case() == kPaging) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.pagination_.paging_;
    }
    clear_has_pagination();
  }
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeListRequest::release_paging() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServicePrivilegeListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::subscription::v1::ServicePrivilegePaging* temp = _impl_.pagination_.paging_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::subscription::v1::ServicePrivilegePaging& GetServicePrivilegeListRequest::_internal_paging() const {
  return pagination_case() == kPaging
      ? *_impl_.pagination_.paging_
      : reinterpret_cast<::keyapis::subscription::v1::ServicePrivilegePaging&>(::keyapis::subscription::v1::_ServicePrivilegePaging_default_instance_);
}
inline const ::keyapis::subscription::v1::ServicePrivilegePaging& GetServicePrivilegeListRequest::paging() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeListRequest.paging)
  return _internal_paging();
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeListRequest::unsafe_arena_release_paging() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.subscription.v1.GetServicePrivilegeListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::subscription::v1::ServicePrivilegePaging* temp = _impl_.pagination_.paging_;
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetServicePrivilegeListRequest::unsafe_arena_set_allocated_paging(::keyapis::subscription::v1::ServicePrivilegePaging* paging) {
  clear_pagination();
  if (paging) {
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServicePrivilegeListRequest.paging)
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeListRequest::_internal_mutable_paging() {
  if (pagination_case() != kPaging) {
    clear_pagination();
    set_has_paging();
    _impl_.pagination_.paging_ = CreateMaybeMessage< ::keyapis::subscription::v1::ServicePrivilegePaging >(GetArenaForAllocation());
  }
  return _impl_.pagination_.paging_;
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeListRequest::mutable_paging() {
  ::keyapis::subscription::v1::ServicePrivilegePaging* _msg = _internal_mutable_paging();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServicePrivilegeListRequest.paging)
  return _msg;
}

inline bool GetServicePrivilegeListRequest::has_pagination() const {
  return pagination_case() != PAGINATION_NOT_SET;
}
inline void GetServicePrivilegeListRequest::clear_has_pagination() {
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}
inline GetServicePrivilegeListRequest::PaginationCase GetServicePrivilegeListRequest::pagination_case() const {
  return GetServicePrivilegeListRequest::PaginationCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetServicePrivilegeListResponse

// .keyapis.subscription.v1.Service data = 1;
inline bool GetServicePrivilegeListResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetServicePrivilegeListResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetServicePrivilegeListResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetServicePrivilegeListResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::subscription::v1::Service* GetServicePrivilegeListResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServicePrivilegeListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::Service* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::subscription::v1::Service& GetServicePrivilegeListResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::subscription::v1::Service&>(::keyapis::subscription::v1::_Service_default_instance_);
}
inline const ::keyapis::subscription::v1::Service& GetServicePrivilegeListResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeListResponse.data)
  return _internal_data();
}
inline ::keyapis::subscription::v1::Service* GetServicePrivilegeListResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.subscription.v1.GetServicePrivilegeListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::Service* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetServicePrivilegeListResponse::unsafe_arena_set_allocated_data(::keyapis::subscription::v1::Service* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServicePrivilegeListResponse.data)
}
inline ::keyapis::subscription::v1::Service* GetServicePrivilegeListResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::subscription::v1::Service >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::subscription::v1::Service* GetServicePrivilegeListResponse::mutable_data() {
  ::keyapis::subscription::v1::Service* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServicePrivilegeListResponse.data)
  return _msg;
}

inline bool GetServicePrivilegeListResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetServicePrivilegeListResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetServicePrivilegeListResponse::TypeCase GetServicePrivilegeListResponse::type_case() const {
  return GetServicePrivilegeListResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetServicePrivilegeCountRequest

// .keyapis.subscription.v1.ServicePrivilegeFilter filter = 1;
inline bool GetServicePrivilegeCountRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetServicePrivilegeCountRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::subscription::v1::ServicePrivilegeFilter& GetServicePrivilegeCountRequest::_internal_filter() const {
  const ::keyapis::subscription::v1::ServicePrivilegeFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::subscription::v1::ServicePrivilegeFilter&>(
      ::keyapis::subscription::v1::_ServicePrivilegeFilter_default_instance_);
}
inline const ::keyapis::subscription::v1::ServicePrivilegeFilter& GetServicePrivilegeCountRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeCountRequest.filter)
  return _internal_filter();
}
inline void GetServicePrivilegeCountRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::subscription::v1::ServicePrivilegeFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServicePrivilegeCountRequest.filter)
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeCountRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeCountRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServicePrivilegeCountRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::subscription::v1::ServicePrivilegeFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeCountRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::subscription::v1::ServicePrivilegeFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::subscription::v1::ServicePrivilegeFilter* GetServicePrivilegeCountRequest::mutable_filter() {
  ::keyapis::subscription::v1::ServicePrivilegeFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServicePrivilegeCountRequest.filter)
  return _msg;
}
inline void GetServicePrivilegeCountRequest::set_allocated_filter(::keyapis::subscription::v1::ServicePrivilegeFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.subscription.v1.GetServicePrivilegeCountRequest.filter)
}

// .keyapis.subscription.v1.ServicePrivilegePaging paging = 2;
inline bool GetServicePrivilegeCountRequest::has_paging() const {
  return pagination_case() == kPaging;
}
inline bool GetServicePrivilegeCountRequest::_internal_has_paging() const {
  return pagination_case() == kPaging;
}
inline void GetServicePrivilegeCountRequest::set_has_paging() {
  _impl_._oneof_case_[0] = kPaging;
}
inline void GetServicePrivilegeCountRequest::clear_paging() {
  if (pagination_case() == kPaging) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.pagination_.paging_;
    }
    clear_has_pagination();
  }
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeCountRequest::release_paging() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServicePrivilegeCountRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::subscription::v1::ServicePrivilegePaging* temp = _impl_.pagination_.paging_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::subscription::v1::ServicePrivilegePaging& GetServicePrivilegeCountRequest::_internal_paging() const {
  return pagination_case() == kPaging
      ? *_impl_.pagination_.paging_
      : reinterpret_cast<::keyapis::subscription::v1::ServicePrivilegePaging&>(::keyapis::subscription::v1::_ServicePrivilegePaging_default_instance_);
}
inline const ::keyapis::subscription::v1::ServicePrivilegePaging& GetServicePrivilegeCountRequest::paging() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeCountRequest.paging)
  return _internal_paging();
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeCountRequest::unsafe_arena_release_paging() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.subscription.v1.GetServicePrivilegeCountRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::subscription::v1::ServicePrivilegePaging* temp = _impl_.pagination_.paging_;
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetServicePrivilegeCountRequest::unsafe_arena_set_allocated_paging(::keyapis::subscription::v1::ServicePrivilegePaging* paging) {
  clear_pagination();
  if (paging) {
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServicePrivilegeCountRequest.paging)
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeCountRequest::_internal_mutable_paging() {
  if (pagination_case() != kPaging) {
    clear_pagination();
    set_has_paging();
    _impl_.pagination_.paging_ = CreateMaybeMessage< ::keyapis::subscription::v1::ServicePrivilegePaging >(GetArenaForAllocation());
  }
  return _impl_.pagination_.paging_;
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging* GetServicePrivilegeCountRequest::mutable_paging() {
  ::keyapis::subscription::v1::ServicePrivilegePaging* _msg = _internal_mutable_paging();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServicePrivilegeCountRequest.paging)
  return _msg;
}

inline bool GetServicePrivilegeCountRequest::has_pagination() const {
  return pagination_case() != PAGINATION_NOT_SET;
}
inline void GetServicePrivilegeCountRequest::clear_has_pagination() {
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}
inline GetServicePrivilegeCountRequest::PaginationCase GetServicePrivilegeCountRequest::pagination_case() const {
  return GetServicePrivilegeCountRequest::PaginationCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetServicePrivilegeCountResponse

// int32 data = 1;
inline bool GetServicePrivilegeCountResponse::has_data() const {
  return type_case() == kData;
}
inline void GetServicePrivilegeCountResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetServicePrivilegeCountResponse::clear_data() {
  if (type_case() == kData) {
    _impl_.type_.data_ = 0;
    clear_has_type();
  }
}
inline ::int32_t GetServicePrivilegeCountResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServicePrivilegeCountResponse.data)
  return _internal_data();
}
inline void GetServicePrivilegeCountResponse::set_data(::int32_t value) {
  _internal_set_data(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.GetServicePrivilegeCountResponse.data)
}
inline ::int32_t GetServicePrivilegeCountResponse::_internal_data() const {
  if (type_case() == kData) {
    return _impl_.type_.data_;
  }
  return 0;
}
inline void GetServicePrivilegeCountResponse::_internal_set_data(::int32_t value) {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
  }
  _impl_.type_.data_ = value;
}

inline bool GetServicePrivilegeCountResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetServicePrivilegeCountResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetServicePrivilegeCountResponse::TypeCase GetServicePrivilegeCountResponse::type_case() const {
  return GetServicePrivilegeCountResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// ServicePrivilegeFilter

// repeated int64 orpons = 1;
inline int ServicePrivilegeFilter::_internal_orpons_size() const {
  return _impl_.orpons_.size();
}
inline int ServicePrivilegeFilter::orpons_size() const {
  return _internal_orpons_size();
}
inline void ServicePrivilegeFilter::clear_orpons() {
  _internal_mutable_orpons()->Clear();
}
inline ::int64_t ServicePrivilegeFilter::orpons(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegeFilter.orpons)
  return _internal_orpons(index);
}
inline void ServicePrivilegeFilter::set_orpons(int index, ::int64_t value) {
  _internal_mutable_orpons()->Set(index, value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegeFilter.orpons)
}
inline void ServicePrivilegeFilter::add_orpons(::int64_t value) {
  _internal_add_orpons(value);
  // @@protoc_insertion_point(field_add:keyapis.subscription.v1.ServicePrivilegeFilter.orpons)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& ServicePrivilegeFilter::orpons() const {
  // @@protoc_insertion_point(field_list:keyapis.subscription.v1.ServicePrivilegeFilter.orpons)
  return _internal_orpons();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* ServicePrivilegeFilter::mutable_orpons() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.subscription.v1.ServicePrivilegeFilter.orpons)
  return _internal_mutable_orpons();
}

inline ::int64_t ServicePrivilegeFilter::_internal_orpons(int index) const {
  return _internal_orpons().Get(index);
}
inline void ServicePrivilegeFilter::_internal_add_orpons(::int64_t value) {
  _internal_mutable_orpons()->Add(value);
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& ServicePrivilegeFilter::_internal_orpons() const {
  return _impl_.orpons_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* ServicePrivilegeFilter::_internal_mutable_orpons() {
  return &_impl_.orpons_;
}

// repeated string flat_numbers = 2;
inline int ServicePrivilegeFilter::_internal_flat_numbers_size() const {
  return _impl_.flat_numbers_.size();
}
inline int ServicePrivilegeFilter::flat_numbers_size() const {
  return _internal_flat_numbers_size();
}
inline void ServicePrivilegeFilter::clear_flat_numbers() {
  _internal_mutable_flat_numbers()->Clear();
}
inline std::string* ServicePrivilegeFilter::add_flat_numbers() {
  std::string* _s = _internal_add_flat_numbers();
  // @@protoc_insertion_point(field_add_mutable:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
  return _s;
}
inline const std::string& ServicePrivilegeFilter::flat_numbers(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
  return _internal_flat_numbers(index);
}
inline std::string* ServicePrivilegeFilter::mutable_flat_numbers(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
  return _internal_mutable_flat_numbers()->Mutable(index);
}
inline void ServicePrivilegeFilter::set_flat_numbers(int index, const std::string& value) {
  _internal_mutable_flat_numbers()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::set_flat_numbers(int index, std::string&& value) {
  _internal_mutable_flat_numbers()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::set_flat_numbers(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_flat_numbers()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::set_flat_numbers(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_flat_numbers()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::set_flat_numbers(int index, absl::string_view value) {
  _internal_mutable_flat_numbers()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::add_flat_numbers(const std::string& value) {
  _internal_mutable_flat_numbers()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::add_flat_numbers(std::string&& value) {
  _internal_mutable_flat_numbers()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::add_flat_numbers(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_flat_numbers()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::add_flat_numbers(const char* value, std::size_t size) {
  _internal_mutable_flat_numbers()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline void ServicePrivilegeFilter::add_flat_numbers(absl::string_view value) {
  _internal_mutable_flat_numbers()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ServicePrivilegeFilter::flat_numbers() const {
  // @@protoc_insertion_point(field_list:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
  return _internal_flat_numbers();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* ServicePrivilegeFilter::mutable_flat_numbers() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.subscription.v1.ServicePrivilegeFilter.flat_numbers)
  return _internal_mutable_flat_numbers();
}
inline const std::string& ServicePrivilegeFilter::_internal_flat_numbers(int index) const {
  return _internal_flat_numbers().Get(index);
}
inline std::string* ServicePrivilegeFilter::_internal_add_flat_numbers() {
  return _internal_mutable_flat_numbers()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
ServicePrivilegeFilter::_internal_flat_numbers() const {
  return _impl_.flat_numbers_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
ServicePrivilegeFilter::_internal_mutable_flat_numbers() {
  return &_impl_.flat_numbers_;
}

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

// ServicePrivilegePaging

// .keyapis.subscription.v1.ServicePrivilegePaging.OrderByType order_by_type = 1;
inline void ServicePrivilegePaging::clear_order_by_type() {
  _impl_.order_by_type_ = 0;
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType ServicePrivilegePaging::order_by_type() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegePaging.order_by_type)
  return _internal_order_by_type();
}
inline void ServicePrivilegePaging::set_order_by_type(::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType value) {
   _internal_set_order_by_type(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegePaging.order_by_type)
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType ServicePrivilegePaging::_internal_order_by_type() const {
  return static_cast<::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType>(_impl_.order_by_type_);
}
inline void ServicePrivilegePaging::_internal_set_order_by_type(::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType value) {
  ;
  _impl_.order_by_type_ = value;
}

// .keyapis.subscription.v1.ServicePrivilegePaging.DirectionType direction_type = 2;
inline void ServicePrivilegePaging::clear_direction_type() {
  _impl_.direction_type_ = 0;
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType ServicePrivilegePaging::direction_type() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegePaging.direction_type)
  return _internal_direction_type();
}
inline void ServicePrivilegePaging::set_direction_type(::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType value) {
   _internal_set_direction_type(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegePaging.direction_type)
}
inline ::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType ServicePrivilegePaging::_internal_direction_type() const {
  return static_cast<::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType>(_impl_.direction_type_);
}
inline void ServicePrivilegePaging::_internal_set_direction_type(::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType value) {
  ;
  _impl_.direction_type_ = value;
}

// int32 limit = 3;
inline void ServicePrivilegePaging::clear_limit() {
  _impl_.limit_ = 0;
}
inline ::int32_t ServicePrivilegePaging::limit() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegePaging.limit)
  return _internal_limit();
}
inline void ServicePrivilegePaging::set_limit(::int32_t value) {
  _internal_set_limit(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegePaging.limit)
}
inline ::int32_t ServicePrivilegePaging::_internal_limit() const {
  return _impl_.limit_;
}
inline void ServicePrivilegePaging::_internal_set_limit(::int32_t value) {
  ;
  _impl_.limit_ = value;
}

// int32 offset = 4;
inline void ServicePrivilegePaging::clear_offset() {
  _impl_.offset_ = 0;
}
inline ::int32_t ServicePrivilegePaging::offset() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.ServicePrivilegePaging.offset)
  return _internal_offset();
}
inline void ServicePrivilegePaging::set_offset(::int32_t value) {
  _internal_set_offset(value);
  // @@protoc_insertion_point(field_set:keyapis.subscription.v1.ServicePrivilegePaging.offset)
}
inline ::int32_t ServicePrivilegePaging::_internal_offset() const {
  return _impl_.offset_;
}
inline void ServicePrivilegePaging::_internal_set_offset(::int32_t value) {
  ;
  _impl_.offset_ = value;
}

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

// GetServiceKindListRequest

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

// GetServiceKindListResponse

// .keyapis.subscription.v1.ServiceKind data = 1;
inline bool GetServiceKindListResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetServiceKindListResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetServiceKindListResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetServiceKindListResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::subscription::v1::ServiceKind* GetServiceKindListResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.subscription.v1.GetServiceKindListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::ServiceKind* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::subscription::v1::ServiceKind& GetServiceKindListResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::subscription::v1::ServiceKind&>(::keyapis::subscription::v1::_ServiceKind_default_instance_);
}
inline const ::keyapis::subscription::v1::ServiceKind& GetServiceKindListResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.subscription.v1.GetServiceKindListResponse.data)
  return _internal_data();
}
inline ::keyapis::subscription::v1::ServiceKind* GetServiceKindListResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.subscription.v1.GetServiceKindListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::subscription::v1::ServiceKind* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetServiceKindListResponse::unsafe_arena_set_allocated_data(::keyapis::subscription::v1::ServiceKind* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.subscription.v1.GetServiceKindListResponse.data)
}
inline ::keyapis::subscription::v1::ServiceKind* GetServiceKindListResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::subscription::v1::ServiceKind >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::subscription::v1::ServiceKind* GetServiceKindListResponse::mutable_data() {
  ::keyapis::subscription::v1::ServiceKind* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.subscription.v1.GetServiceKindListResponse.data)
  return _msg;
}

inline bool GetServiceKindListResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetServiceKindListResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetServiceKindListResponse::TypeCase GetServiceKindListResponse::type_case() const {
  return GetServiceKindListResponse::TypeCase(_impl_._oneof_case_[0]);
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace subscription
}  // namespace keyapis


PROTOBUF_NAMESPACE_OPEN

template <>
struct is_proto_enum<::keyapis::subscription::v1::ServicePrivilegePaging_OrderByType> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::subscription::v1::ServicePrivilegePaging_DirectionType> : std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fsubscription_2fv1_2fkeyapis_5fsubscription_5fservice_5fv1_2eproto_2epb_2eh
