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

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_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/timestamp.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_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_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_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace ecosystem {
namespace v1 {
class GetLegoAdapterServiceCheckRequest;
struct GetLegoAdapterServiceCheckRequestDefaultTypeInternal;
extern GetLegoAdapterServiceCheckRequestDefaultTypeInternal _GetLegoAdapterServiceCheckRequest_default_instance_;
class GetLegoAdapterServiceCheckResponse;
struct GetLegoAdapterServiceCheckResponseDefaultTypeInternal;
extern GetLegoAdapterServiceCheckResponseDefaultTypeInternal _GetLegoAdapterServiceCheckResponse_default_instance_;
class GetLegoAdapterServiceCheckResponse_Error;
struct GetLegoAdapterServiceCheckResponse_ErrorDefaultTypeInternal;
extern GetLegoAdapterServiceCheckResponse_ErrorDefaultTypeInternal _GetLegoAdapterServiceCheckResponse_Error_default_instance_;
class GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError;
struct GetLegoAdapterServiceCheckResponse_Error_EcosystemApiErrorDefaultTypeInternal;
extern GetLegoAdapterServiceCheckResponse_Error_EcosystemApiErrorDefaultTypeInternal _GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError_default_instance_;
class Service;
struct ServiceDefaultTypeInternal;
extern ServiceDefaultTypeInternal _Service_default_instance_;
class ValidationError;
struct ValidationErrorDefaultTypeInternal;
extern ValidationErrorDefaultTypeInternal _ValidationError_default_instance_;
}  // namespace v1
}  // namespace ecosystem
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckRequest* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckRequest>(Arena*);
template <>
::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse>(Arena*);
template <>
::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error>(Arena*);
template <>
::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError>(Arena*);
template <>
::keyapis::ecosystem::v1::Service* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::Service>(Arena*);
template <>
::keyapis::ecosystem::v1::ValidationError* Arena::CreateMaybeMessage<::keyapis::ecosystem::v1::ValidationError>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace ecosystem {
namespace v1 {
enum Service_Type : int {
  Service_Type_TYPE_UNKNOWN = 0,
  Service_Type_SOTOVAYA_SVYAZ_MVNO = 1,
  Service_Type_IPTV = 2,
  Service_Type_SHPD = 3,
  Service_Type_KABELNOE_TV = 4,
  Service_Type_FIKSIROVANNAYA_SVYAZ = 5,
  Service_Type_ROSTELECOM_LYCEUM = 6,
  Service_Type_SMART_HOUSE = 7,
  Service_Type_JURIST = 8,
  Service_Type_WINK = 9,
  Service_Type_SALE_EQUIPMENT = 10,
  Service_Type_SMART_INTERCOM = 11,
  Service_Type_SMART_BARRIER = 12,
  Service_Type_WARRANTY_PLUS = 13,
  Service_Type_ANALOG_CABLE_TV = 14,
  Service_Type_OTT_PERSON = 15,
  Service_Type_WIFI = 16,
  Service_Type_Service_Type_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  Service_Type_Service_Type_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool Service_Type_IsValid(int value);
constexpr Service_Type Service_Type_Type_MIN = static_cast<Service_Type>(0);
constexpr Service_Type Service_Type_Type_MAX = static_cast<Service_Type>(16);
constexpr int Service_Type_Type_ARRAYSIZE = 16 + 1;
const std::string& Service_Type_Name(Service_Type value);
template <typename T>
const std::string& Service_Type_Name(T value) {
  static_assert(std::is_same<T, Service_Type>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to Type_Name().");
  return Service_Type_Name(static_cast<Service_Type>(value));
}
const std::string& Service_Type_Name(Service_Type value);
bool Service_Type_Parse(absl::string_view name, Service_Type* value);

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


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

class Service final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.ecosystem.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 =
    0;

  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.ecosystem.v1.Service";
  }
  protected:
  explicit Service(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

  using Type = Service_Type;
  static constexpr Type TYPE_UNKNOWN = Service_Type_TYPE_UNKNOWN;
  static constexpr Type SOTOVAYA_SVYAZ_MVNO = Service_Type_SOTOVAYA_SVYAZ_MVNO;
  static constexpr Type IPTV = Service_Type_IPTV;
  static constexpr Type SHPD = Service_Type_SHPD;
  static constexpr Type KABELNOE_TV = Service_Type_KABELNOE_TV;
  static constexpr Type FIKSIROVANNAYA_SVYAZ = Service_Type_FIKSIROVANNAYA_SVYAZ;
  static constexpr Type ROSTELECOM_LYCEUM = Service_Type_ROSTELECOM_LYCEUM;
  static constexpr Type SMART_HOUSE = Service_Type_SMART_HOUSE;
  static constexpr Type JURIST = Service_Type_JURIST;
  static constexpr Type WINK = Service_Type_WINK;
  static constexpr Type SALE_EQUIPMENT = Service_Type_SALE_EQUIPMENT;
  static constexpr Type SMART_INTERCOM = Service_Type_SMART_INTERCOM;
  static constexpr Type SMART_BARRIER = Service_Type_SMART_BARRIER;
  static constexpr Type WARRANTY_PLUS = Service_Type_WARRANTY_PLUS;
  static constexpr Type ANALOG_CABLE_TV = Service_Type_ANALOG_CABLE_TV;
  static constexpr Type OTT_PERSON = Service_Type_OTT_PERSON;
  static constexpr Type WIFI = Service_Type_WIFI;
  static inline bool Type_IsValid(int value) {
    return Service_Type_IsValid(value);
  }
  static constexpr Type Type_MIN = Service_Type_Type_MIN;
  static constexpr Type Type_MAX = Service_Type_Type_MAX;
  static constexpr int Type_ARRAYSIZE = Service_Type_Type_ARRAYSIZE;
  template <typename T>
  static inline const std::string& Type_Name(T value) {
    return Service_Type_Name(value);
  }
  static inline bool Type_Parse(absl::string_view name, Type* value) {
    return Service_Type_Parse(name, value);
  }

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

  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.Service)
 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_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline GetLegoAdapterServiceCheckRequest& operator=(const GetLegoAdapterServiceCheckRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetLegoAdapterServiceCheckRequest& operator=(GetLegoAdapterServiceCheckRequest&& 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 GetLegoAdapterServiceCheckRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetLegoAdapterServiceCheckRequest* internal_default_instance() {
    return reinterpret_cast<const GetLegoAdapterServiceCheckRequest*>(
               &_GetLegoAdapterServiceCheckRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(GetLegoAdapterServiceCheckRequest& a, GetLegoAdapterServiceCheckRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetLegoAdapterServiceCheckRequest* 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(GetLegoAdapterServiceCheckRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetLegoAdapterServiceCheckRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetLegoAdapterServiceCheckRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetLegoAdapterServiceCheckRequest& from);
  void MergeFrom(const GetLegoAdapterServiceCheckRequest& 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(GetLegoAdapterServiceCheckRequest* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kRoomNumberFieldNumber = 2,
    kOrponFieldNumber = 1,
    kServiceTypeFieldNumber = 3,
  };
  // string room_number = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_room_number() ;
  const std::string& room_number() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_room_number(Arg_&& arg, Args_... args);
  std::string* mutable_room_number();
  PROTOBUF_NODISCARD std::string* release_room_number();
  void set_allocated_room_number(std::string* ptr);

  private:
  const std::string& _internal_room_number() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_room_number(
      const std::string& value);
  std::string* _internal_mutable_room_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:
  // .keyapis.ecosystem.v1.Service.Type service_type = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_service_type() ;
  ::keyapis::ecosystem::v1::Service_Type service_type() const;
  void set_service_type(::keyapis::ecosystem::v1::Service_Type value);

  private:
  ::keyapis::ecosystem::v1::Service_Type _internal_service_type() const;
  void _internal_set_service_type(::keyapis::ecosystem::v1::Service_Type value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest)
 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 room_number_;
    ::int64_t orpon_;
    int service_type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& operator=(const GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& operator=(GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError&& 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 GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* internal_default_instance() {
    return reinterpret_cast<const GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError*>(
               &_GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& a, GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& b) {
    a.Swap(&b);
  }
  inline void Swap(GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* 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(GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& from);
  void MergeFrom(const GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& 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(GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.EcosystemApiError";
  }
  protected:
  explicit GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.EcosystemApiError)
 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_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline GetLegoAdapterServiceCheckResponse_Error& operator=(const GetLegoAdapterServiceCheckResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetLegoAdapterServiceCheckResponse_Error& operator=(GetLegoAdapterServiceCheckResponse_Error&& 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 GetLegoAdapterServiceCheckResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    kEcosystemApiError = 2,
    REASON_NOT_SET = 0,
  };

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

  friend void swap(GetLegoAdapterServiceCheckResponse_Error& a, GetLegoAdapterServiceCheckResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetLegoAdapterServiceCheckResponse_Error* 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(GetLegoAdapterServiceCheckResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetLegoAdapterServiceCheckResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetLegoAdapterServiceCheckResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetLegoAdapterServiceCheckResponse_Error& from);
  void MergeFrom(const GetLegoAdapterServiceCheckResponse_Error& 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(GetLegoAdapterServiceCheckResponse_Error* other);

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

  std::string GetTypeName() const final;

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

  typedef GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError EcosystemApiError;

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

  enum : int {
    kValidationFieldNumber = 1,
    kEcosystemApiErrorFieldNumber = 2,
  };
  // .keyapis.ecosystem.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::ecosystem::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::ecosystem::v1::ValidationError* release_validation();
  ::keyapis::ecosystem::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::ecosystem::v1::ValidationError* validation);
  private:
  const ::keyapis::ecosystem::v1::ValidationError& _internal_validation() const;
  ::keyapis::ecosystem::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::ecosystem::v1::ValidationError* validation);
  ::keyapis::ecosystem::v1::ValidationError* unsafe_arena_release_validation();
  // .keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.EcosystemApiError ecosystem_api_error = 2;
  bool has_ecosystem_api_error() const;
  private:
  bool _internal_has_ecosystem_api_error() const;

  public:
  void clear_ecosystem_api_error() ;
  const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& ecosystem_api_error() const;
  PROTOBUF_NODISCARD ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* release_ecosystem_api_error();
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* mutable_ecosystem_api_error();
  void set_allocated_ecosystem_api_error(::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* ecosystem_api_error);
  private:
  const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& _internal_ecosystem_api_error() const;
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* _internal_mutable_ecosystem_api_error();
  public:
  void unsafe_arena_set_allocated_ecosystem_api_error(
      ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* ecosystem_api_error);
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* unsafe_arena_release_ecosystem_api_error();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error)
 private:
  class _Internal;
  void set_has_validation();
  void set_has_ecosystem_api_error();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::ecosystem::v1::ValidationError* validation_;
      ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* ecosystem_api_error_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline GetLegoAdapterServiceCheckResponse& operator=(const GetLegoAdapterServiceCheckResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetLegoAdapterServiceCheckResponse& operator=(GetLegoAdapterServiceCheckResponse&& 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 GetLegoAdapterServiceCheckResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

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

  friend void swap(GetLegoAdapterServiceCheckResponse& a, GetLegoAdapterServiceCheckResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetLegoAdapterServiceCheckResponse* 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(GetLegoAdapterServiceCheckResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetLegoAdapterServiceCheckResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetLegoAdapterServiceCheckResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetLegoAdapterServiceCheckResponse& from);
  void MergeFrom(const GetLegoAdapterServiceCheckResponse& 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(GetLegoAdapterServiceCheckResponse* other);

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

  std::string GetTypeName() const final;

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

  typedef GetLegoAdapterServiceCheckResponse_Error Error;

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

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

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

  public:
  // .keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* release_error();
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* error);
  private:
  const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error& _internal_error() const;
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* error);
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  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_;
      bool data_;
      ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline ValidationError& operator=(const ValidationError& from) {
    CopyFrom(from);
    return *this;
  }
  inline ValidationError& operator=(ValidationError&& 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 ValidationError& default_instance() {
    return *internal_default_instance();
  }
  static inline const ValidationError* internal_default_instance() {
    return reinterpret_cast<const ValidationError*>(
               &_ValidationError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(ValidationError& a, ValidationError& b) {
    a.Swap(&b);
  }
  inline void Swap(ValidationError* 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(ValidationError* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  ValidationError* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ValidationError>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const ValidationError& from);
  void MergeFrom(const ValidationError& 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(ValidationError* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPathFieldNumber = 1,
    kMessageFieldNumber = 2,
  };
  // string path = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_path() ;
  const std::string& path() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_path(Arg_&& arg, Args_... args);
  std::string* mutable_path();
  PROTOBUF_NODISCARD std::string* release_path();
  void set_allocated_path(std::string* ptr);

  private:
  const std::string& _internal_path() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_path(
      const std::string& value);
  std::string* _internal_mutable_path();

  public:
  // string message = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_message() ;
  const std::string& message() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  std::string* mutable_message();
  PROTOBUF_NODISCARD std::string* release_message();
  void set_allocated_message(std::string* ptr);

  private:
  const std::string& _internal_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(
      const std::string& value);
  std::string* _internal_mutable_message();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.ecosystem.v1.ValidationError)
 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 path_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto;
};

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




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


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

// Service

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

// GetLegoAdapterServiceCheckRequest

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

// string room_number = 2 [(.google.api.field_behavior) = REQUIRED];
inline void GetLegoAdapterServiceCheckRequest::clear_room_number() {
  _impl_.room_number_.ClearToEmpty();
}
inline const std::string& GetLegoAdapterServiceCheckRequest::room_number() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.room_number)
  return _internal_room_number();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void GetLegoAdapterServiceCheckRequest::set_room_number(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.room_number_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.room_number)
}
inline std::string* GetLegoAdapterServiceCheckRequest::mutable_room_number() {
  std::string* _s = _internal_mutable_room_number();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.room_number)
  return _s;
}
inline const std::string& GetLegoAdapterServiceCheckRequest::_internal_room_number() const {
  return _impl_.room_number_.Get();
}
inline void GetLegoAdapterServiceCheckRequest::_internal_set_room_number(const std::string& value) {
  ;


  _impl_.room_number_.Set(value, GetArenaForAllocation());
}
inline std::string* GetLegoAdapterServiceCheckRequest::_internal_mutable_room_number() {
  ;
  return _impl_.room_number_.Mutable( GetArenaForAllocation());
}
inline std::string* GetLegoAdapterServiceCheckRequest::release_room_number() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.room_number)
  return _impl_.room_number_.Release();
}
inline void GetLegoAdapterServiceCheckRequest::set_allocated_room_number(std::string* value) {
  _impl_.room_number_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.room_number_.IsDefault()) {
          _impl_.room_number_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.room_number)
}

// .keyapis.ecosystem.v1.Service.Type service_type = 3 [(.google.api.field_behavior) = REQUIRED];
inline void GetLegoAdapterServiceCheckRequest::clear_service_type() {
  _impl_.service_type_ = 0;
}
inline ::keyapis::ecosystem::v1::Service_Type GetLegoAdapterServiceCheckRequest::service_type() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.service_type)
  return _internal_service_type();
}
inline void GetLegoAdapterServiceCheckRequest::set_service_type(::keyapis::ecosystem::v1::Service_Type value) {
   _internal_set_service_type(value);
  // @@protoc_insertion_point(field_set:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckRequest.service_type)
}
inline ::keyapis::ecosystem::v1::Service_Type GetLegoAdapterServiceCheckRequest::_internal_service_type() const {
  return static_cast<::keyapis::ecosystem::v1::Service_Type>(_impl_.service_type_);
}
inline void GetLegoAdapterServiceCheckRequest::_internal_set_service_type(::keyapis::ecosystem::v1::Service_Type value) {
  ;
  _impl_.service_type_ = value;
}

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

// GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError

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

// GetLegoAdapterServiceCheckResponse_Error

// .keyapis.ecosystem.v1.ValidationError validation = 1;
inline bool GetLegoAdapterServiceCheckResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool GetLegoAdapterServiceCheckResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void GetLegoAdapterServiceCheckResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline void GetLegoAdapterServiceCheckResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::ecosystem::v1::ValidationError* GetLegoAdapterServiceCheckResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::ecosystem::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ecosystem::v1::ValidationError& GetLegoAdapterServiceCheckResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::ecosystem::v1::ValidationError&>(::keyapis::ecosystem::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::ecosystem::v1::ValidationError& GetLegoAdapterServiceCheckResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::ecosystem::v1::ValidationError* GetLegoAdapterServiceCheckResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::ecosystem::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetLegoAdapterServiceCheckResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::ecosystem::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.validation)
}
inline ::keyapis::ecosystem::v1::ValidationError* GetLegoAdapterServiceCheckResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::ecosystem::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::ecosystem::v1::ValidationError* GetLegoAdapterServiceCheckResponse_Error::mutable_validation() {
  ::keyapis::ecosystem::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.validation)
  return _msg;
}

// .keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.EcosystemApiError ecosystem_api_error = 2;
inline bool GetLegoAdapterServiceCheckResponse_Error::has_ecosystem_api_error() const {
  return reason_case() == kEcosystemApiError;
}
inline bool GetLegoAdapterServiceCheckResponse_Error::_internal_has_ecosystem_api_error() const {
  return reason_case() == kEcosystemApiError;
}
inline void GetLegoAdapterServiceCheckResponse_Error::set_has_ecosystem_api_error() {
  _impl_._oneof_case_[0] = kEcosystemApiError;
}
inline void GetLegoAdapterServiceCheckResponse_Error::clear_ecosystem_api_error() {
  if (reason_case() == kEcosystemApiError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.ecosystem_api_error_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* GetLegoAdapterServiceCheckResponse_Error::release_ecosystem_api_error() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.ecosystem_api_error)
  if (reason_case() == kEcosystemApiError) {
    clear_has_reason();
    ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* temp = _impl_.reason_.ecosystem_api_error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.ecosystem_api_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& GetLegoAdapterServiceCheckResponse_Error::_internal_ecosystem_api_error() const {
  return reason_case() == kEcosystemApiError
      ? *_impl_.reason_.ecosystem_api_error_
      : reinterpret_cast<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError&>(::keyapis::ecosystem::v1::_GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError_default_instance_);
}
inline const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError& GetLegoAdapterServiceCheckResponse_Error::ecosystem_api_error() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.ecosystem_api_error)
  return _internal_ecosystem_api_error();
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* GetLegoAdapterServiceCheckResponse_Error::unsafe_arena_release_ecosystem_api_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.ecosystem_api_error)
  if (reason_case() == kEcosystemApiError) {
    clear_has_reason();
    ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* temp = _impl_.reason_.ecosystem_api_error_;
    _impl_.reason_.ecosystem_api_error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetLegoAdapterServiceCheckResponse_Error::unsafe_arena_set_allocated_ecosystem_api_error(::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* ecosystem_api_error) {
  clear_reason();
  if (ecosystem_api_error) {
    set_has_ecosystem_api_error();
    _impl_.reason_.ecosystem_api_error_ = ecosystem_api_error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.ecosystem_api_error)
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* GetLegoAdapterServiceCheckResponse_Error::_internal_mutable_ecosystem_api_error() {
  if (reason_case() != kEcosystemApiError) {
    clear_reason();
    set_has_ecosystem_api_error();
    _impl_.reason_.ecosystem_api_error_ = CreateMaybeMessage< ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError >(GetArenaForAllocation());
  }
  return _impl_.reason_.ecosystem_api_error_;
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* GetLegoAdapterServiceCheckResponse_Error::mutable_ecosystem_api_error() {
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error_EcosystemApiError* _msg = _internal_mutable_ecosystem_api_error();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error.ecosystem_api_error)
  return _msg;
}

inline bool GetLegoAdapterServiceCheckResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetLegoAdapterServiceCheckResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetLegoAdapterServiceCheckResponse_Error::ReasonCase GetLegoAdapterServiceCheckResponse_Error::reason_case() const {
  return GetLegoAdapterServiceCheckResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetLegoAdapterServiceCheckResponse

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

// .keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.Error error = 2;
inline bool GetLegoAdapterServiceCheckResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetLegoAdapterServiceCheckResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetLegoAdapterServiceCheckResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetLegoAdapterServiceCheckResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* GetLegoAdapterServiceCheckResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error& GetLegoAdapterServiceCheckResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error&>(::keyapis::ecosystem::v1::_GetLegoAdapterServiceCheckResponse_Error_default_instance_);
}
inline const ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error& GetLegoAdapterServiceCheckResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.error)
  return _internal_error();
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* GetLegoAdapterServiceCheckResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetLegoAdapterServiceCheckResponse::unsafe_arena_set_allocated_error(::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.error)
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* GetLegoAdapterServiceCheckResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* GetLegoAdapterServiceCheckResponse::mutable_error() {
  ::keyapis::ecosystem::v1::GetLegoAdapterServiceCheckResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.GetLegoAdapterServiceCheckResponse.error)
  return _msg;
}

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

// ValidationError

// string path = 1 [(.google.api.field_behavior) = REQUIRED];
inline void ValidationError::clear_path() {
  _impl_.path_.ClearToEmpty();
}
inline const std::string& ValidationError::path() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.ValidationError.path)
  return _internal_path();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ValidationError::set_path(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.path_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ecosystem.v1.ValidationError.path)
}
inline std::string* ValidationError::mutable_path() {
  std::string* _s = _internal_mutable_path();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.ValidationError.path)
  return _s;
}
inline const std::string& ValidationError::_internal_path() const {
  return _impl_.path_.Get();
}
inline void ValidationError::_internal_set_path(const std::string& value) {
  ;


  _impl_.path_.Set(value, GetArenaForAllocation());
}
inline std::string* ValidationError::_internal_mutable_path() {
  ;
  return _impl_.path_.Mutable( GetArenaForAllocation());
}
inline std::string* ValidationError::release_path() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.ValidationError.path)
  return _impl_.path_.Release();
}
inline void ValidationError::set_allocated_path(std::string* value) {
  _impl_.path_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.path_.IsDefault()) {
          _impl_.path_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ecosystem.v1.ValidationError.path)
}

// string message = 2 [(.google.api.field_behavior) = REQUIRED];
inline void ValidationError::clear_message() {
  _impl_.message_.ClearToEmpty();
}
inline const std::string& ValidationError::message() const {
  // @@protoc_insertion_point(field_get:keyapis.ecosystem.v1.ValidationError.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ValidationError::set_message(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ecosystem.v1.ValidationError.message)
}
inline std::string* ValidationError::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:keyapis.ecosystem.v1.ValidationError.message)
  return _s;
}
inline const std::string& ValidationError::_internal_message() const {
  return _impl_.message_.Get();
}
inline void ValidationError::_internal_set_message(const std::string& value) {
  ;


  _impl_.message_.Set(value, GetArenaForAllocation());
}
inline std::string* ValidationError::_internal_mutable_message() {
  ;
  return _impl_.message_.Mutable( GetArenaForAllocation());
}
inline std::string* ValidationError::release_message() {
  // @@protoc_insertion_point(field_release:keyapis.ecosystem.v1.ValidationError.message)
  return _impl_.message_.Release();
}
inline void ValidationError::set_allocated_message(std::string* value) {
  _impl_.message_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.message_.IsDefault()) {
          _impl_.message_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ecosystem.v1.ValidationError.message)
}

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

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


PROTOBUF_NAMESPACE_OPEN

template <>
struct is_proto_enum<::keyapis::ecosystem::v1::Service_Type> : std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fecosystem_2fv1_2fkeyapis_5fecosystem_5flego_5fadapter_5fv1_2eproto_2epb_2eh
