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

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_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/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/timestamp.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace identity {
namespace v1 {
class Captcha;
struct CaptchaDefaultTypeInternal;
extern CaptchaDefaultTypeInternal _Captcha_default_instance_;
class CaptchaAnswer;
struct CaptchaAnswerDefaultTypeInternal;
extern CaptchaAnswerDefaultTypeInternal _CaptchaAnswer_default_instance_;
class CaptchaAnswer_Error;
struct CaptchaAnswer_ErrorDefaultTypeInternal;
extern CaptchaAnswer_ErrorDefaultTypeInternal _CaptchaAnswer_Error_default_instance_;
class CaptchaAnswer_Error_WrongAnswer;
struct CaptchaAnswer_Error_WrongAnswerDefaultTypeInternal;
extern CaptchaAnswer_Error_WrongAnswerDefaultTypeInternal _CaptchaAnswer_Error_WrongAnswer_default_instance_;
class KeyError;
struct KeyErrorDefaultTypeInternal;
extern KeyErrorDefaultTypeInternal _KeyError_default_instance_;
class KeyError_UserCreation;
struct KeyError_UserCreationDefaultTypeInternal;
extern KeyError_UserCreationDefaultTypeInternal _KeyError_UserCreation_default_instance_;
class OtpCode;
struct OtpCodeDefaultTypeInternal;
extern OtpCodeDefaultTypeInternal _OtpCode_default_instance_;
class OtpCode_Error;
struct OtpCode_ErrorDefaultTypeInternal;
extern OtpCode_ErrorDefaultTypeInternal _OtpCode_Error_default_instance_;
class OtpCode_Error_AddressNotFound;
struct OtpCode_Error_AddressNotFoundDefaultTypeInternal;
extern OtpCode_Error_AddressNotFoundDefaultTypeInternal _OtpCode_Error_AddressNotFound_default_instance_;
class OtpCode_Error_InvalidCode;
struct OtpCode_Error_InvalidCodeDefaultTypeInternal;
extern OtpCode_Error_InvalidCodeDefaultTypeInternal _OtpCode_Error_InvalidCode_default_instance_;
class OtpCode_Error_LifeTimeExpired;
struct OtpCode_Error_LifeTimeExpiredDefaultTypeInternal;
extern OtpCode_Error_LifeTimeExpiredDefaultTypeInternal _OtpCode_Error_LifeTimeExpired_default_instance_;
class OtpCode_Error_NoAttempts;
struct OtpCode_Error_NoAttemptsDefaultTypeInternal;
extern OtpCode_Error_NoAttemptsDefaultTypeInternal _OtpCode_Error_NoAttempts_default_instance_;
class PostAuthorizationLoginByPasswordRequest;
struct PostAuthorizationLoginByPasswordRequestDefaultTypeInternal;
extern PostAuthorizationLoginByPasswordRequestDefaultTypeInternal _PostAuthorizationLoginByPasswordRequest_default_instance_;
class PostAuthorizationLoginByPasswordResponse;
struct PostAuthorizationLoginByPasswordResponseDefaultTypeInternal;
extern PostAuthorizationLoginByPasswordResponseDefaultTypeInternal _PostAuthorizationLoginByPasswordResponse_default_instance_;
class PostAuthorizationLoginByPasswordResponse_Error;
struct PostAuthorizationLoginByPasswordResponse_ErrorDefaultTypeInternal;
extern PostAuthorizationLoginByPasswordResponse_ErrorDefaultTypeInternal _PostAuthorizationLoginByPasswordResponse_Error_default_instance_;
class PostAuthorizationLoginRequest;
struct PostAuthorizationLoginRequestDefaultTypeInternal;
extern PostAuthorizationLoginRequestDefaultTypeInternal _PostAuthorizationLoginRequest_default_instance_;
class PostAuthorizationLoginResponse;
struct PostAuthorizationLoginResponseDefaultTypeInternal;
extern PostAuthorizationLoginResponseDefaultTypeInternal _PostAuthorizationLoginResponse_default_instance_;
class PostAuthorizationLoginResponse_Error;
struct PostAuthorizationLoginResponse_ErrorDefaultTypeInternal;
extern PostAuthorizationLoginResponse_ErrorDefaultTypeInternal _PostAuthorizationLoginResponse_Error_default_instance_;
class PostAuthorizationSendCodeRequest;
struct PostAuthorizationSendCodeRequestDefaultTypeInternal;
extern PostAuthorizationSendCodeRequestDefaultTypeInternal _PostAuthorizationSendCodeRequest_default_instance_;
class PostAuthorizationSendCodeResponse;
struct PostAuthorizationSendCodeResponseDefaultTypeInternal;
extern PostAuthorizationSendCodeResponseDefaultTypeInternal _PostAuthorizationSendCodeResponse_default_instance_;
class PostAuthorizationSendCodeResponse_Error;
struct PostAuthorizationSendCodeResponse_ErrorDefaultTypeInternal;
extern PostAuthorizationSendCodeResponse_ErrorDefaultTypeInternal _PostAuthorizationSendCodeResponse_Error_default_instance_;
class SsoError;
struct SsoErrorDefaultTypeInternal;
extern SsoErrorDefaultTypeInternal _SsoError_default_instance_;
class SsoError_IntervalExceeded;
struct SsoError_IntervalExceededDefaultTypeInternal;
extern SsoError_IntervalExceededDefaultTypeInternal _SsoError_IntervalExceeded_default_instance_;
class SsoError_UserIsBlocked;
struct SsoError_UserIsBlockedDefaultTypeInternal;
extern SsoError_UserIsBlockedDefaultTypeInternal _SsoError_UserIsBlocked_default_instance_;
class SsoError_UserIsTemporaryBlocked;
struct SsoError_UserIsTemporaryBlockedDefaultTypeInternal;
extern SsoError_UserIsTemporaryBlockedDefaultTypeInternal _SsoError_UserIsTemporaryBlocked_default_instance_;
class SsoError_UserNotFound;
struct SsoError_UserNotFoundDefaultTypeInternal;
extern SsoError_UserNotFoundDefaultTypeInternal _SsoError_UserNotFound_default_instance_;
class SsoError_WrongCredentials;
struct SsoError_WrongCredentialsDefaultTypeInternal;
extern SsoError_WrongCredentialsDefaultTypeInternal _SsoError_WrongCredentials_default_instance_;
class UserToken;
struct UserTokenDefaultTypeInternal;
extern UserTokenDefaultTypeInternal _UserToken_default_instance_;
}  // namespace v1
}  // namespace identity
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::identity::v1::Captcha* Arena::CreateMaybeMessage<::keyapis::identity::v1::Captcha>(Arena*);
template <>
::keyapis::identity::v1::CaptchaAnswer* Arena::CreateMaybeMessage<::keyapis::identity::v1::CaptchaAnswer>(Arena*);
template <>
::keyapis::identity::v1::CaptchaAnswer_Error* Arena::CreateMaybeMessage<::keyapis::identity::v1::CaptchaAnswer_Error>(Arena*);
template <>
::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* Arena::CreateMaybeMessage<::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer>(Arena*);
template <>
::keyapis::identity::v1::KeyError* Arena::CreateMaybeMessage<::keyapis::identity::v1::KeyError>(Arena*);
template <>
::keyapis::identity::v1::KeyError_UserCreation* Arena::CreateMaybeMessage<::keyapis::identity::v1::KeyError_UserCreation>(Arena*);
template <>
::keyapis::identity::v1::OtpCode* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode>(Arena*);
template <>
::keyapis::identity::v1::OtpCode_Error* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode_Error>(Arena*);
template <>
::keyapis::identity::v1::OtpCode_Error_AddressNotFound* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode_Error_AddressNotFound>(Arena*);
template <>
::keyapis::identity::v1::OtpCode_Error_InvalidCode* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode_Error_InvalidCode>(Arena*);
template <>
::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired>(Arena*);
template <>
::keyapis::identity::v1::OtpCode_Error_NoAttempts* Arena::CreateMaybeMessage<::keyapis::identity::v1::OtpCode_Error_NoAttempts>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginByPasswordRequest* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginByPasswordRequest>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginRequest* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginRequest>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginResponse* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginResponse>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationLoginResponse_Error>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationSendCodeRequest* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationSendCodeRequest>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationSendCodeResponse* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationSendCodeResponse>(Arena*);
template <>
::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* Arena::CreateMaybeMessage<::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error>(Arena*);
template <>
::keyapis::identity::v1::SsoError* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError>(Arena*);
template <>
::keyapis::identity::v1::SsoError_IntervalExceeded* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError_IntervalExceeded>(Arena*);
template <>
::keyapis::identity::v1::SsoError_UserIsBlocked* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError_UserIsBlocked>(Arena*);
template <>
::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked>(Arena*);
template <>
::keyapis::identity::v1::SsoError_UserNotFound* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError_UserNotFound>(Arena*);
template <>
::keyapis::identity::v1::SsoError_WrongCredentials* Arena::CreateMaybeMessage<::keyapis::identity::v1::SsoError_WrongCredentials>(Arena*);
template <>
::keyapis::identity::v1::UserToken* Arena::CreateMaybeMessage<::keyapis::identity::v1::UserToken>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace identity {
namespace v1 {

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


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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kAccessTokenFieldNumber = 1,
    kExpiredAtFieldNumber = 2,
  };
  // string access_token = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_access_token() ;
  const std::string& access_token() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_access_token(Arg_&& arg, Args_... args);
  std::string* mutable_access_token();
  PROTOBUF_NODISCARD std::string* release_access_token();
  void set_allocated_access_token(std::string* ptr);

  private:
  const std::string& _internal_access_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_token(
      const std::string& value);
  std::string* _internal_mutable_access_token();

  public:
  // .google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];
  bool has_expired_at() const;
  void clear_expired_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& expired_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_expired_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_expired_at();
  void set_allocated_expired_at(::PROTOBUF_NAMESPACE_ID::Timestamp* expired_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_expired_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_expired_at();
  public:
  void unsafe_arena_set_allocated_expired_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* expired_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_expired_at();
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.UserToken)
 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 access_token_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* expired_at_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kIdFieldNumber = 1,
    kUrlFieldNumber = 2,
  };
  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

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




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  std::string* mutable_url();
  PROTOBUF_NODISCARD std::string* release_url();
  void set_allocated_url(std::string* ptr);

  private:
  const std::string& _internal_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_url(
      const std::string& value);
  std::string* _internal_mutable_url();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.Captcha)
 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 id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.CaptchaAnswer.Error.WrongAnswer)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef CaptchaAnswer_Error_WrongAnswer WrongAnswer;

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

  enum : int {
    kCaptchaFieldNumber = 2,
    kWrongAnswerFieldNumber = 1,
  };
  // .keyapis.identity.v1.Captcha captcha = 2;
  bool has_captcha() const;
  void clear_captcha() ;
  const ::keyapis::identity::v1::Captcha& captcha() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::Captcha* release_captcha();
  ::keyapis::identity::v1::Captcha* mutable_captcha();
  void set_allocated_captcha(::keyapis::identity::v1::Captcha* captcha);
  private:
  const ::keyapis::identity::v1::Captcha& _internal_captcha() const;
  ::keyapis::identity::v1::Captcha* _internal_mutable_captcha();
  public:
  void unsafe_arena_set_allocated_captcha(
      ::keyapis::identity::v1::Captcha* captcha);
  ::keyapis::identity::v1::Captcha* unsafe_arena_release_captcha();
  // .keyapis.identity.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 1;
  bool has_wrong_answer() const;
  private:
  bool _internal_has_wrong_answer() const;

  public:
  void clear_wrong_answer() ;
  const ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer& wrong_answer() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* release_wrong_answer();
  ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* mutable_wrong_answer();
  void set_allocated_wrong_answer(::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* wrong_answer);
  private:
  const ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer& _internal_wrong_answer() const;
  ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* _internal_mutable_wrong_answer();
  public:
  void unsafe_arena_set_allocated_wrong_answer(
      ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* wrong_answer);
  ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* unsafe_arena_release_wrong_answer();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.CaptchaAnswer.Error)
 private:
  class _Internal;
  void set_has_wrong_answer();

  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_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::identity::v1::Captcha* captcha_;
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* wrong_answer_;
    } reason_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef CaptchaAnswer_Error Error;

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

  enum : int {
    kIdFieldNumber = 1,
    kCodeFieldNumber = 2,
  };
  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

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




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_code(Arg_&& arg, Args_... args);
  std::string* mutable_code();
  PROTOBUF_NODISCARD std::string* release_code();
  void set_allocated_code(std::string* ptr);

  private:
  const std::string& _internal_code() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_code(
      const std::string& value);
  std::string* _internal_mutable_code();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.CaptchaAnswer)
 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 id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr code_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode.Error.LifeTimeExpired)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode.Error.NoAttempts)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode.Error.AddressNotFound)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode.Error.InvalidCode)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline OtpCode_Error& operator=(const OtpCode_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline OtpCode_Error& operator=(OtpCode_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 OtpCode_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kLifeTimeExpired = 1,
    kNoAttempts = 2,
    kAddressNotFound = 3,
    kInvalidCode = 4,
    REASON_NOT_SET = 0,
  };

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef OtpCode_Error_LifeTimeExpired LifeTimeExpired;
  typedef OtpCode_Error_NoAttempts NoAttempts;
  typedef OtpCode_Error_AddressNotFound AddressNotFound;
  typedef OtpCode_Error_InvalidCode InvalidCode;

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

  enum : int {
    kLifeTimeExpiredFieldNumber = 1,
    kNoAttemptsFieldNumber = 2,
    kAddressNotFoundFieldNumber = 3,
    kInvalidCodeFieldNumber = 4,
  };
  // .keyapis.identity.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;
  bool has_life_time_expired() const;
  private:
  bool _internal_has_life_time_expired() const;

  public:
  void clear_life_time_expired() ;
  const ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired& life_time_expired() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* release_life_time_expired();
  ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* mutable_life_time_expired();
  void set_allocated_life_time_expired(::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* life_time_expired);
  private:
  const ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired& _internal_life_time_expired() const;
  ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* _internal_mutable_life_time_expired();
  public:
  void unsafe_arena_set_allocated_life_time_expired(
      ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* life_time_expired);
  ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* unsafe_arena_release_life_time_expired();
  // .keyapis.identity.v1.OtpCode.Error.NoAttempts no_attempts = 2;
  bool has_no_attempts() const;
  private:
  bool _internal_has_no_attempts() const;

  public:
  void clear_no_attempts() ;
  const ::keyapis::identity::v1::OtpCode_Error_NoAttempts& no_attempts() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode_Error_NoAttempts* release_no_attempts();
  ::keyapis::identity::v1::OtpCode_Error_NoAttempts* mutable_no_attempts();
  void set_allocated_no_attempts(::keyapis::identity::v1::OtpCode_Error_NoAttempts* no_attempts);
  private:
  const ::keyapis::identity::v1::OtpCode_Error_NoAttempts& _internal_no_attempts() const;
  ::keyapis::identity::v1::OtpCode_Error_NoAttempts* _internal_mutable_no_attempts();
  public:
  void unsafe_arena_set_allocated_no_attempts(
      ::keyapis::identity::v1::OtpCode_Error_NoAttempts* no_attempts);
  ::keyapis::identity::v1::OtpCode_Error_NoAttempts* unsafe_arena_release_no_attempts();
  // .keyapis.identity.v1.OtpCode.Error.AddressNotFound address_not_found = 3;
  bool has_address_not_found() const;
  private:
  bool _internal_has_address_not_found() const;

  public:
  void clear_address_not_found() ;
  const ::keyapis::identity::v1::OtpCode_Error_AddressNotFound& address_not_found() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* release_address_not_found();
  ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* mutable_address_not_found();
  void set_allocated_address_not_found(::keyapis::identity::v1::OtpCode_Error_AddressNotFound* address_not_found);
  private:
  const ::keyapis::identity::v1::OtpCode_Error_AddressNotFound& _internal_address_not_found() const;
  ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* _internal_mutable_address_not_found();
  public:
  void unsafe_arena_set_allocated_address_not_found(
      ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* address_not_found);
  ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* unsafe_arena_release_address_not_found();
  // .keyapis.identity.v1.OtpCode.Error.InvalidCode invalid_code = 4;
  bool has_invalid_code() const;
  private:
  bool _internal_has_invalid_code() const;

  public:
  void clear_invalid_code() ;
  const ::keyapis::identity::v1::OtpCode_Error_InvalidCode& invalid_code() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode_Error_InvalidCode* release_invalid_code();
  ::keyapis::identity::v1::OtpCode_Error_InvalidCode* mutable_invalid_code();
  void set_allocated_invalid_code(::keyapis::identity::v1::OtpCode_Error_InvalidCode* invalid_code);
  private:
  const ::keyapis::identity::v1::OtpCode_Error_InvalidCode& _internal_invalid_code() const;
  ::keyapis::identity::v1::OtpCode_Error_InvalidCode* _internal_mutable_invalid_code();
  public:
  void unsafe_arena_set_allocated_invalid_code(
      ::keyapis::identity::v1::OtpCode_Error_InvalidCode* invalid_code);
  ::keyapis::identity::v1::OtpCode_Error_InvalidCode* unsafe_arena_release_invalid_code();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode.Error)
 private:
  class _Internal;
  void set_has_life_time_expired();
  void set_has_no_attempts();
  void set_has_address_not_found();
  void set_has_invalid_code();

  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::identity::v1::OtpCode_Error_LifeTimeExpired* life_time_expired_;
      ::keyapis::identity::v1::OtpCode_Error_NoAttempts* no_attempts_;
      ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* address_not_found_;
      ::keyapis::identity::v1::OtpCode_Error_InvalidCode* invalid_code_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef OtpCode_Error Error;

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

  enum : int {
    kCodeIdFieldNumber = 1,
    kTimeoutFieldNumber = 2,
  };
  // string code_id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_code_id() ;
  const std::string& code_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_code_id(Arg_&& arg, Args_... args);
  std::string* mutable_code_id();
  PROTOBUF_NODISCARD std::string* release_code_id();
  void set_allocated_code_id(std::string* ptr);

  private:
  const std::string& _internal_code_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_code_id(
      const std::string& value);
  std::string* _internal_mutable_code_id();

  public:
  // int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_timeout() ;
  ::int32_t timeout() const;
  void set_timeout(::int32_t value);

  private:
  ::int32_t _internal_timeout() const;
  void _internal_set_timeout(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.OtpCode)
 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 code_id_;
    ::int32_t timeout_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError.UserIsTemporaryBlocked)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError.UserNotFound)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCaptchaFieldNumber = 1,
  };
  // .keyapis.identity.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];
  bool has_captcha() const;
  void clear_captcha() ;
  const ::keyapis::identity::v1::Captcha& captcha() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::Captcha* release_captcha();
  ::keyapis::identity::v1::Captcha* mutable_captcha();
  void set_allocated_captcha(::keyapis::identity::v1::Captcha* captcha);
  private:
  const ::keyapis::identity::v1::Captcha& _internal_captcha() const;
  ::keyapis::identity::v1::Captcha* _internal_mutable_captcha();
  public:
  void unsafe_arena_set_allocated_captcha(
      ::keyapis::identity::v1::Captcha* captcha);
  ::keyapis::identity::v1::Captcha* unsafe_arena_release_captcha();
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError.WrongCredentials)
 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_;
    ::keyapis::identity::v1::Captcha* captcha_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError.UserIsBlocked)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError.IntervalExceeded)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline SsoError& operator=(const SsoError& from) {
    CopyFrom(from);
    return *this;
  }
  inline SsoError& operator=(SsoError&& 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 SsoError& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kUserIsTemporaryBlocked = 1,
    kUserNotFound = 2,
    kWrongCredentials = 3,
    kUserIsBlocked = 4,
    kIntervalExceeded = 5,
    REASON_NOT_SET = 0,
  };

  static inline const SsoError* internal_default_instance() {
    return reinterpret_cast<const SsoError*>(
               &_SsoError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef SsoError_UserIsTemporaryBlocked UserIsTemporaryBlocked;
  typedef SsoError_UserNotFound UserNotFound;
  typedef SsoError_WrongCredentials WrongCredentials;
  typedef SsoError_UserIsBlocked UserIsBlocked;
  typedef SsoError_IntervalExceeded IntervalExceeded;

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

  enum : int {
    kUserIsTemporaryBlockedFieldNumber = 1,
    kUserNotFoundFieldNumber = 2,
    kWrongCredentialsFieldNumber = 3,
    kUserIsBlockedFieldNumber = 4,
    kIntervalExceededFieldNumber = 5,
  };
  // .keyapis.identity.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;
  bool has_user_is_temporary_blocked() const;
  private:
  bool _internal_has_user_is_temporary_blocked() const;

  public:
  void clear_user_is_temporary_blocked() ;
  const ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked& user_is_temporary_blocked() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* release_user_is_temporary_blocked();
  ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* mutable_user_is_temporary_blocked();
  void set_allocated_user_is_temporary_blocked(::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* user_is_temporary_blocked);
  private:
  const ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked& _internal_user_is_temporary_blocked() const;
  ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* _internal_mutable_user_is_temporary_blocked();
  public:
  void unsafe_arena_set_allocated_user_is_temporary_blocked(
      ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* user_is_temporary_blocked);
  ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* unsafe_arena_release_user_is_temporary_blocked();
  // .keyapis.identity.v1.SsoError.UserNotFound user_not_found = 2;
  bool has_user_not_found() const;
  private:
  bool _internal_has_user_not_found() const;

  public:
  void clear_user_not_found() ;
  const ::keyapis::identity::v1::SsoError_UserNotFound& user_not_found() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError_UserNotFound* release_user_not_found();
  ::keyapis::identity::v1::SsoError_UserNotFound* mutable_user_not_found();
  void set_allocated_user_not_found(::keyapis::identity::v1::SsoError_UserNotFound* user_not_found);
  private:
  const ::keyapis::identity::v1::SsoError_UserNotFound& _internal_user_not_found() const;
  ::keyapis::identity::v1::SsoError_UserNotFound* _internal_mutable_user_not_found();
  public:
  void unsafe_arena_set_allocated_user_not_found(
      ::keyapis::identity::v1::SsoError_UserNotFound* user_not_found);
  ::keyapis::identity::v1::SsoError_UserNotFound* unsafe_arena_release_user_not_found();
  // .keyapis.identity.v1.SsoError.WrongCredentials wrong_credentials = 3;
  bool has_wrong_credentials() const;
  private:
  bool _internal_has_wrong_credentials() const;

  public:
  void clear_wrong_credentials() ;
  const ::keyapis::identity::v1::SsoError_WrongCredentials& wrong_credentials() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError_WrongCredentials* release_wrong_credentials();
  ::keyapis::identity::v1::SsoError_WrongCredentials* mutable_wrong_credentials();
  void set_allocated_wrong_credentials(::keyapis::identity::v1::SsoError_WrongCredentials* wrong_credentials);
  private:
  const ::keyapis::identity::v1::SsoError_WrongCredentials& _internal_wrong_credentials() const;
  ::keyapis::identity::v1::SsoError_WrongCredentials* _internal_mutable_wrong_credentials();
  public:
  void unsafe_arena_set_allocated_wrong_credentials(
      ::keyapis::identity::v1::SsoError_WrongCredentials* wrong_credentials);
  ::keyapis::identity::v1::SsoError_WrongCredentials* unsafe_arena_release_wrong_credentials();
  // .keyapis.identity.v1.SsoError.UserIsBlocked user_is_blocked = 4;
  bool has_user_is_blocked() const;
  private:
  bool _internal_has_user_is_blocked() const;

  public:
  void clear_user_is_blocked() ;
  const ::keyapis::identity::v1::SsoError_UserIsBlocked& user_is_blocked() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError_UserIsBlocked* release_user_is_blocked();
  ::keyapis::identity::v1::SsoError_UserIsBlocked* mutable_user_is_blocked();
  void set_allocated_user_is_blocked(::keyapis::identity::v1::SsoError_UserIsBlocked* user_is_blocked);
  private:
  const ::keyapis::identity::v1::SsoError_UserIsBlocked& _internal_user_is_blocked() const;
  ::keyapis::identity::v1::SsoError_UserIsBlocked* _internal_mutable_user_is_blocked();
  public:
  void unsafe_arena_set_allocated_user_is_blocked(
      ::keyapis::identity::v1::SsoError_UserIsBlocked* user_is_blocked);
  ::keyapis::identity::v1::SsoError_UserIsBlocked* unsafe_arena_release_user_is_blocked();
  // .keyapis.identity.v1.SsoError.IntervalExceeded interval_exceeded = 5;
  bool has_interval_exceeded() const;
  private:
  bool _internal_has_interval_exceeded() const;

  public:
  void clear_interval_exceeded() ;
  const ::keyapis::identity::v1::SsoError_IntervalExceeded& interval_exceeded() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError_IntervalExceeded* release_interval_exceeded();
  ::keyapis::identity::v1::SsoError_IntervalExceeded* mutable_interval_exceeded();
  void set_allocated_interval_exceeded(::keyapis::identity::v1::SsoError_IntervalExceeded* interval_exceeded);
  private:
  const ::keyapis::identity::v1::SsoError_IntervalExceeded& _internal_interval_exceeded() const;
  ::keyapis::identity::v1::SsoError_IntervalExceeded* _internal_mutable_interval_exceeded();
  public:
  void unsafe_arena_set_allocated_interval_exceeded(
      ::keyapis::identity::v1::SsoError_IntervalExceeded* interval_exceeded);
  ::keyapis::identity::v1::SsoError_IntervalExceeded* unsafe_arena_release_interval_exceeded();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.SsoError)
 private:
  class _Internal;
  void set_has_user_is_temporary_blocked();
  void set_has_user_not_found();
  void set_has_wrong_credentials();
  void set_has_user_is_blocked();
  void set_has_interval_exceeded();

  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::identity::v1::SsoError_UserIsTemporaryBlocked* user_is_temporary_blocked_;
      ::keyapis::identity::v1::SsoError_UserNotFound* user_not_found_;
      ::keyapis::identity::v1::SsoError_WrongCredentials* wrong_credentials_;
      ::keyapis::identity::v1::SsoError_UserIsBlocked* user_is_blocked_;
      ::keyapis::identity::v1::SsoError_IntervalExceeded* interval_exceeded_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.KeyError.UserCreation)
 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_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

  static inline const KeyError* internal_default_instance() {
    return reinterpret_cast<const KeyError*>(
               &_KeyError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef KeyError_UserCreation UserCreation;

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

  enum : int {
    kUserCreationFieldNumber = 1,
  };
  // .keyapis.identity.v1.KeyError.UserCreation user_creation = 1;
  bool has_user_creation() const;
  private:
  bool _internal_has_user_creation() const;

  public:
  void clear_user_creation() ;
  const ::keyapis::identity::v1::KeyError_UserCreation& user_creation() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::KeyError_UserCreation* release_user_creation();
  ::keyapis::identity::v1::KeyError_UserCreation* mutable_user_creation();
  void set_allocated_user_creation(::keyapis::identity::v1::KeyError_UserCreation* user_creation);
  private:
  const ::keyapis::identity::v1::KeyError_UserCreation& _internal_user_creation() const;
  ::keyapis::identity::v1::KeyError_UserCreation* _internal_mutable_user_creation();
  public:
  void unsafe_arena_set_allocated_user_creation(
      ::keyapis::identity::v1::KeyError_UserCreation* user_creation);
  ::keyapis::identity::v1::KeyError_UserCreation* unsafe_arena_release_user_creation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.KeyError)
 private:
  class _Internal;
  void set_has_user_creation();

  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::identity::v1::KeyError_UserCreation* user_creation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline PostAuthorizationSendCodeRequest& operator=(const PostAuthorizationSendCodeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostAuthorizationSendCodeRequest& operator=(PostAuthorizationSendCodeRequest&& 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 PostAuthorizationSendCodeRequest& default_instance() {
    return *internal_default_instance();
  }
  enum OtpTextCase {
    kPhoneNumber = 1,
    OTP_TEXT_NOT_SET = 0,
  };

  static inline const PostAuthorizationSendCodeRequest* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationSendCodeRequest*>(
               &_PostAuthorizationSendCodeRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCaptchaAnswerFieldNumber = 2,
    kPhoneNumberFieldNumber = 1,
  };
  // .keyapis.identity.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];
  bool has_captcha_answer() const;
  void clear_captcha_answer() ;
  const ::keyapis::identity::v1::CaptchaAnswer& captcha_answer() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::CaptchaAnswer* release_captcha_answer();
  ::keyapis::identity::v1::CaptchaAnswer* mutable_captcha_answer();
  void set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer* captcha_answer);
  private:
  const ::keyapis::identity::v1::CaptchaAnswer& _internal_captcha_answer() const;
  ::keyapis::identity::v1::CaptchaAnswer* _internal_mutable_captcha_answer();
  public:
  void unsafe_arena_set_allocated_captcha_answer(
      ::keyapis::identity::v1::CaptchaAnswer* captcha_answer);
  ::keyapis::identity::v1::CaptchaAnswer* unsafe_arena_release_captcha_answer();
  // string phone_number = 1;
  bool has_phone_number() const;
  void clear_phone_number() ;
  const std::string& phone_number() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_phone_number(Arg_&& arg, Args_... args);
  std::string* mutable_phone_number();
  PROTOBUF_NODISCARD std::string* release_phone_number();
  void set_allocated_phone_number(std::string* ptr);

  private:
  const std::string& _internal_phone_number() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_phone_number(
      const std::string& value);
  std::string* _internal_mutable_phone_number();

  public:
  void clear_otp_text();
  OtpTextCase otp_text_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationSendCodeRequest)
 private:
  class _Internal;
  void set_has_phone_number();

  inline bool has_otp_text() const;
  inline void clear_has_otp_text();

  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::identity::v1::CaptchaAnswer* captcha_answer_;
    union OtpTextUnion {
      constexpr OtpTextUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr phone_number_;
    } otp_text_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

  static inline const PostAuthorizationSendCodeResponse_Error* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationSendCodeResponse_Error*>(
               &_PostAuthorizationSendCodeResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCaptchaAnswerFieldNumber = 1,
    kSsoFieldNumber = 2,
  };
  // .keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;
  bool has_captcha_answer() const;
  private:
  bool _internal_has_captcha_answer() const;

  public:
  void clear_captcha_answer() ;
  const ::keyapis::identity::v1::CaptchaAnswer_Error& captcha_answer() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::CaptchaAnswer_Error* release_captcha_answer();
  ::keyapis::identity::v1::CaptchaAnswer_Error* mutable_captcha_answer();
  void set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer);
  private:
  const ::keyapis::identity::v1::CaptchaAnswer_Error& _internal_captcha_answer() const;
  ::keyapis::identity::v1::CaptchaAnswer_Error* _internal_mutable_captcha_answer();
  public:
  void unsafe_arena_set_allocated_captcha_answer(
      ::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer);
  ::keyapis::identity::v1::CaptchaAnswer_Error* unsafe_arena_release_captcha_answer();
  // .keyapis.identity.v1.SsoError sso = 2;
  bool has_sso() const;
  private:
  bool _internal_has_sso() const;

  public:
  void clear_sso() ;
  const ::keyapis::identity::v1::SsoError& sso() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError* release_sso();
  ::keyapis::identity::v1::SsoError* mutable_sso();
  void set_allocated_sso(::keyapis::identity::v1::SsoError* sso);
  private:
  const ::keyapis::identity::v1::SsoError& _internal_sso() const;
  ::keyapis::identity::v1::SsoError* _internal_mutable_sso();
  public:
  void unsafe_arena_set_allocated_sso(
      ::keyapis::identity::v1::SsoError* sso);
  ::keyapis::identity::v1::SsoError* unsafe_arena_release_sso();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error)
 private:
  class _Internal;
  void set_has_captcha_answer();
  void set_has_sso();

  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::identity::v1::CaptchaAnswer_Error* captcha_answer_;
      ::keyapis::identity::v1::SsoError* sso_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

  static inline const PostAuthorizationSendCodeResponse* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationSendCodeResponse*>(
               &_PostAuthorizationSendCodeResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostAuthorizationSendCodeResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.identity.v1.OtpCode data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::identity::v1::OtpCode& data() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode* release_data();
  ::keyapis::identity::v1::OtpCode* mutable_data();
  void set_allocated_data(::keyapis::identity::v1::OtpCode* data);
  private:
  const ::keyapis::identity::v1::OtpCode& _internal_data() const;
  ::keyapis::identity::v1::OtpCode* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::identity::v1::OtpCode* data);
  ::keyapis::identity::v1::OtpCode* unsafe_arena_release_data();
  // .keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* release_error();
  ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* error);
  private:
  const ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error& _internal_error() const;
  ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* error);
  ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationSendCodeResponse)
 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_;
      ::keyapis::identity::v1::OtpCode* data_;
      ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCodeIdFieldNumber = 1,
    kCodeFieldNumber = 2,
  };
  // string code_id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_code_id() ;
  const std::string& code_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_code_id(Arg_&& arg, Args_... args);
  std::string* mutable_code_id();
  PROTOBUF_NODISCARD std::string* release_code_id();
  void set_allocated_code_id(std::string* ptr);

  private:
  const std::string& _internal_code_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_code_id(
      const std::string& value);
  std::string* _internal_mutable_code_id();

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




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_code(Arg_&& arg, Args_... args);
  std::string* mutable_code();
  PROTOBUF_NODISCARD std::string* release_code();
  void set_allocated_code(std::string* ptr);

  private:
  const std::string& _internal_code() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_code(
      const std::string& value);
  std::string* _internal_mutable_code();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginRequest)
 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 code_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr code_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline PostAuthorizationLoginResponse_Error& operator=(const PostAuthorizationLoginResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostAuthorizationLoginResponse_Error& operator=(PostAuthorizationLoginResponse_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 PostAuthorizationLoginResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kOtpCode = 1,
    kSso = 2,
    kKey = 3,
    REASON_NOT_SET = 0,
  };

  static inline const PostAuthorizationLoginResponse_Error* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationLoginResponse_Error*>(
               &_PostAuthorizationLoginResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    23;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kOtpCodeFieldNumber = 1,
    kSsoFieldNumber = 2,
    kKeyFieldNumber = 3,
  };
  // .keyapis.identity.v1.OtpCode.Error otp_code = 1;
  bool has_otp_code() const;
  private:
  bool _internal_has_otp_code() const;

  public:
  void clear_otp_code() ;
  const ::keyapis::identity::v1::OtpCode_Error& otp_code() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::OtpCode_Error* release_otp_code();
  ::keyapis::identity::v1::OtpCode_Error* mutable_otp_code();
  void set_allocated_otp_code(::keyapis::identity::v1::OtpCode_Error* otp_code);
  private:
  const ::keyapis::identity::v1::OtpCode_Error& _internal_otp_code() const;
  ::keyapis::identity::v1::OtpCode_Error* _internal_mutable_otp_code();
  public:
  void unsafe_arena_set_allocated_otp_code(
      ::keyapis::identity::v1::OtpCode_Error* otp_code);
  ::keyapis::identity::v1::OtpCode_Error* unsafe_arena_release_otp_code();
  // .keyapis.identity.v1.SsoError sso = 2;
  bool has_sso() const;
  private:
  bool _internal_has_sso() const;

  public:
  void clear_sso() ;
  const ::keyapis::identity::v1::SsoError& sso() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError* release_sso();
  ::keyapis::identity::v1::SsoError* mutable_sso();
  void set_allocated_sso(::keyapis::identity::v1::SsoError* sso);
  private:
  const ::keyapis::identity::v1::SsoError& _internal_sso() const;
  ::keyapis::identity::v1::SsoError* _internal_mutable_sso();
  public:
  void unsafe_arena_set_allocated_sso(
      ::keyapis::identity::v1::SsoError* sso);
  ::keyapis::identity::v1::SsoError* unsafe_arena_release_sso();
  // .keyapis.identity.v1.KeyError key = 3;
  bool has_key() const;
  private:
  bool _internal_has_key() const;

  public:
  void clear_key() ;
  const ::keyapis::identity::v1::KeyError& key() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::KeyError* release_key();
  ::keyapis::identity::v1::KeyError* mutable_key();
  void set_allocated_key(::keyapis::identity::v1::KeyError* key);
  private:
  const ::keyapis::identity::v1::KeyError& _internal_key() const;
  ::keyapis::identity::v1::KeyError* _internal_mutable_key();
  public:
  void unsafe_arena_set_allocated_key(
      ::keyapis::identity::v1::KeyError* key);
  ::keyapis::identity::v1::KeyError* unsafe_arena_release_key();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginResponse.Error)
 private:
  class _Internal;
  void set_has_otp_code();
  void set_has_sso();
  void set_has_key();

  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::identity::v1::OtpCode_Error* otp_code_;
      ::keyapis::identity::v1::SsoError* sso_;
      ::keyapis::identity::v1::KeyError* key_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

  static inline const PostAuthorizationLoginResponse* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationLoginResponse*>(
               &_PostAuthorizationLoginResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    24;

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostAuthorizationLoginResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.identity.v1.UserToken data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::identity::v1::UserToken& data() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::UserToken* release_data();
  ::keyapis::identity::v1::UserToken* mutable_data();
  void set_allocated_data(::keyapis::identity::v1::UserToken* data);
  private:
  const ::keyapis::identity::v1::UserToken& _internal_data() const;
  ::keyapis::identity::v1::UserToken* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::identity::v1::UserToken* data);
  ::keyapis::identity::v1::UserToken* unsafe_arena_release_data();
  // .keyapis.identity.v1.PostAuthorizationLoginResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* release_error();
  ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* error);
  private:
  const ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error& _internal_error() const;
  ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* error);
  ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginResponse)
 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_;
      ::keyapis::identity::v1::UserToken* data_;
      ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

  static inline const PostAuthorizationLoginByPasswordRequest* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationLoginByPasswordRequest*>(
               &_PostAuthorizationLoginByPasswordRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    25;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPasswordFieldNumber = 4,
    kCaptchaAnswerFieldNumber = 5,
    kPhoneNumberFieldNumber = 1,
    kEmailFieldNumber = 2,
    kLoginFieldNumber = 3,
  };
  // string password = 4 [(.google.api.field_behavior) = REQUIRED];
  void clear_password() ;
  const std::string& password() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_password(Arg_&& arg, Args_... args);
  std::string* mutable_password();
  PROTOBUF_NODISCARD std::string* release_password();
  void set_allocated_password(std::string* ptr);

  private:
  const std::string& _internal_password() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_password(
      const std::string& value);
  std::string* _internal_mutable_password();

  public:
  // .keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];
  bool has_captcha_answer() const;
  void clear_captcha_answer() ;
  const ::keyapis::identity::v1::CaptchaAnswer& captcha_answer() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::CaptchaAnswer* release_captcha_answer();
  ::keyapis::identity::v1::CaptchaAnswer* mutable_captcha_answer();
  void set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer* captcha_answer);
  private:
  const ::keyapis::identity::v1::CaptchaAnswer& _internal_captcha_answer() const;
  ::keyapis::identity::v1::CaptchaAnswer* _internal_mutable_captcha_answer();
  public:
  void unsafe_arena_set_allocated_captcha_answer(
      ::keyapis::identity::v1::CaptchaAnswer* captcha_answer);
  ::keyapis::identity::v1::CaptchaAnswer* unsafe_arena_release_captcha_answer();
  // string phone_number = 1;
  bool has_phone_number() const;
  void clear_phone_number() ;
  const std::string& phone_number() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_phone_number(Arg_&& arg, Args_... args);
  std::string* mutable_phone_number();
  PROTOBUF_NODISCARD std::string* release_phone_number();
  void set_allocated_phone_number(std::string* ptr);

  private:
  const std::string& _internal_phone_number() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_phone_number(
      const std::string& value);
  std::string* _internal_mutable_phone_number();

  public:
  // string email = 2;
  bool has_email() const;
  void clear_email() ;
  const std::string& email() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_email(Arg_&& arg, Args_... args);
  std::string* mutable_email();
  PROTOBUF_NODISCARD std::string* release_email();
  void set_allocated_email(std::string* ptr);

  private:
  const std::string& _internal_email() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_email(
      const std::string& value);
  std::string* _internal_mutable_email();

  public:
  // string login = 3;
  bool has_login() const;
  void clear_login() ;
  const std::string& login() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_login(Arg_&& arg, Args_... args);
  std::string* mutable_login();
  PROTOBUF_NODISCARD std::string* release_login();
  void set_allocated_login(std::string* ptr);

  private:
  const std::string& _internal_login() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_login(
      const std::string& value);
  std::string* _internal_mutable_login();

  public:
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest)
 private:
  class _Internal;
  void set_has_phone_number();
  void set_has_email();
  void set_has_login();

  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_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr password_;
    ::keyapis::identity::v1::CaptchaAnswer* captcha_answer_;
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr phone_number_;
      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr email_;
      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr login_;
    } type_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline PostAuthorizationLoginByPasswordResponse_Error& operator=(const PostAuthorizationLoginByPasswordResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostAuthorizationLoginByPasswordResponse_Error& operator=(PostAuthorizationLoginByPasswordResponse_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 PostAuthorizationLoginByPasswordResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kCaptchaAnswer = 1,
    kSso = 2,
    kKey = 3,
    REASON_NOT_SET = 0,
  };

  static inline const PostAuthorizationLoginByPasswordResponse_Error* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationLoginByPasswordResponse_Error*>(
               &_PostAuthorizationLoginByPasswordResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    26;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kCaptchaAnswerFieldNumber = 1,
    kSsoFieldNumber = 2,
    kKeyFieldNumber = 3,
  };
  // .keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;
  bool has_captcha_answer() const;
  private:
  bool _internal_has_captcha_answer() const;

  public:
  void clear_captcha_answer() ;
  const ::keyapis::identity::v1::CaptchaAnswer_Error& captcha_answer() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::CaptchaAnswer_Error* release_captcha_answer();
  ::keyapis::identity::v1::CaptchaAnswer_Error* mutable_captcha_answer();
  void set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer);
  private:
  const ::keyapis::identity::v1::CaptchaAnswer_Error& _internal_captcha_answer() const;
  ::keyapis::identity::v1::CaptchaAnswer_Error* _internal_mutable_captcha_answer();
  public:
  void unsafe_arena_set_allocated_captcha_answer(
      ::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer);
  ::keyapis::identity::v1::CaptchaAnswer_Error* unsafe_arena_release_captcha_answer();
  // .keyapis.identity.v1.SsoError sso = 2;
  bool has_sso() const;
  private:
  bool _internal_has_sso() const;

  public:
  void clear_sso() ;
  const ::keyapis::identity::v1::SsoError& sso() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::SsoError* release_sso();
  ::keyapis::identity::v1::SsoError* mutable_sso();
  void set_allocated_sso(::keyapis::identity::v1::SsoError* sso);
  private:
  const ::keyapis::identity::v1::SsoError& _internal_sso() const;
  ::keyapis::identity::v1::SsoError* _internal_mutable_sso();
  public:
  void unsafe_arena_set_allocated_sso(
      ::keyapis::identity::v1::SsoError* sso);
  ::keyapis::identity::v1::SsoError* unsafe_arena_release_sso();
  // .keyapis.identity.v1.KeyError key = 3;
  bool has_key() const;
  private:
  bool _internal_has_key() const;

  public:
  void clear_key() ;
  const ::keyapis::identity::v1::KeyError& key() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::KeyError* release_key();
  ::keyapis::identity::v1::KeyError* mutable_key();
  void set_allocated_key(::keyapis::identity::v1::KeyError* key);
  private:
  const ::keyapis::identity::v1::KeyError& _internal_key() const;
  ::keyapis::identity::v1::KeyError* _internal_mutable_key();
  public:
  void unsafe_arena_set_allocated_key(
      ::keyapis::identity::v1::KeyError* key);
  ::keyapis::identity::v1::KeyError* unsafe_arena_release_key();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error)
 private:
  class _Internal;
  void set_has_captcha_answer();
  void set_has_sso();
  void set_has_key();

  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::identity::v1::CaptchaAnswer_Error* captcha_answer_;
      ::keyapis::identity::v1::SsoError* sso_;
      ::keyapis::identity::v1::KeyError* key_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

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

  static inline const PostAuthorizationLoginByPasswordResponse* internal_default_instance() {
    return reinterpret_cast<const PostAuthorizationLoginByPasswordResponse*>(
               &_PostAuthorizationLoginByPasswordResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    27;

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostAuthorizationLoginByPasswordResponse_Error Error;

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

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.identity.v1.UserToken data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::identity::v1::UserToken& data() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::UserToken* release_data();
  ::keyapis::identity::v1::UserToken* mutable_data();
  void set_allocated_data(::keyapis::identity::v1::UserToken* data);
  private:
  const ::keyapis::identity::v1::UserToken& _internal_data() const;
  ::keyapis::identity::v1::UserToken* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::identity::v1::UserToken* data);
  ::keyapis::identity::v1::UserToken* unsafe_arena_release_data();
  // .keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* release_error();
  ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* error);
  private:
  const ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error& _internal_error() const;
  ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* error);
  ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse)
 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_;
      ::keyapis::identity::v1::UserToken* data_;
      ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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




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


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

// UserToken

// string access_token = 1 [(.google.api.field_behavior) = REQUIRED];
inline void UserToken::clear_access_token() {
  _impl_.access_token_.ClearToEmpty();
}
inline const std::string& UserToken::access_token() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.UserToken.access_token)
  return _internal_access_token();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void UserToken::set_access_token(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.access_token_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.UserToken.access_token)
}
inline std::string* UserToken::mutable_access_token() {
  std::string* _s = _internal_mutable_access_token();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.UserToken.access_token)
  return _s;
}
inline const std::string& UserToken::_internal_access_token() const {
  return _impl_.access_token_.Get();
}
inline void UserToken::_internal_set_access_token(const std::string& value) {
  ;


  _impl_.access_token_.Set(value, GetArenaForAllocation());
}
inline std::string* UserToken::_internal_mutable_access_token() {
  ;
  return _impl_.access_token_.Mutable( GetArenaForAllocation());
}
inline std::string* UserToken::release_access_token() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.UserToken.access_token)
  return _impl_.access_token_.Release();
}
inline void UserToken::set_allocated_access_token(std::string* value) {
  _impl_.access_token_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.access_token_.IsDefault()) {
          _impl_.access_token_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.UserToken.access_token)
}

// .google.protobuf.Timestamp expired_at = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool UserToken::has_expired_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.expired_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& UserToken::_internal_expired_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.expired_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& UserToken::expired_at() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.UserToken.expired_at)
  return _internal_expired_at();
}
inline void UserToken::unsafe_arena_set_allocated_expired_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* expired_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expired_at_);
  }
  _impl_.expired_at_ = expired_at;
  if (expired_at) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.UserToken.expired_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* UserToken::release_expired_at() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.expired_at_;
  _impl_.expired_at_ = 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::Timestamp* UserToken::unsafe_arena_release_expired_at() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.UserToken.expired_at)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.expired_at_;
  _impl_.expired_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* UserToken::_internal_mutable_expired_at() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.expired_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.expired_at_ = p;
  }
  return _impl_.expired_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* UserToken::mutable_expired_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_expired_at();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.UserToken.expired_at)
  return _msg;
}
inline void UserToken::set_allocated_expired_at(::PROTOBUF_NAMESPACE_ID::Timestamp* expired_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expired_at_);
  }
  if (expired_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(expired_at));
    if (message_arena != submessage_arena) {
      expired_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, expired_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.expired_at_ = expired_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.UserToken.expired_at)
}

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

// Captcha

// string id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void Captcha::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& Captcha::id() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.Captcha.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Captcha::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.Captcha.id)
}
inline std::string* Captcha::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.Captcha.id)
  return _s;
}
inline const std::string& Captcha::_internal_id() const {
  return _impl_.id_.Get();
}
inline void Captcha::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* Captcha::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* Captcha::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.Captcha.id)
  return _impl_.id_.Release();
}
inline void Captcha::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.Captcha.id)
}

// string url = 2 [(.google.api.field_behavior) = REQUIRED];
inline void Captcha::clear_url() {
  _impl_.url_.ClearToEmpty();
}
inline const std::string& Captcha::url() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.Captcha.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Captcha::set_url(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.Captcha.url)
}
inline std::string* Captcha::mutable_url() {
  std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.Captcha.url)
  return _s;
}
inline const std::string& Captcha::_internal_url() const {
  return _impl_.url_.Get();
}
inline void Captcha::_internal_set_url(const std::string& value) {
  ;


  _impl_.url_.Set(value, GetArenaForAllocation());
}
inline std::string* Captcha::_internal_mutable_url() {
  ;
  return _impl_.url_.Mutable( GetArenaForAllocation());
}
inline std::string* Captcha::release_url() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.Captcha.url)
  return _impl_.url_.Release();
}
inline void Captcha::set_allocated_url(std::string* value) {
  _impl_.url_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.url_.IsDefault()) {
          _impl_.url_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.Captcha.url)
}

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

// CaptchaAnswer_Error_WrongAnswer

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

// CaptchaAnswer_Error

// .keyapis.identity.v1.CaptchaAnswer.Error.WrongAnswer wrong_answer = 1;
inline bool CaptchaAnswer_Error::has_wrong_answer() const {
  return reason_case() == kWrongAnswer;
}
inline bool CaptchaAnswer_Error::_internal_has_wrong_answer() const {
  return reason_case() == kWrongAnswer;
}
inline void CaptchaAnswer_Error::set_has_wrong_answer() {
  _impl_._oneof_case_[0] = kWrongAnswer;
}
inline void CaptchaAnswer_Error::clear_wrong_answer() {
  if (reason_case() == kWrongAnswer) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.wrong_answer_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* CaptchaAnswer_Error::release_wrong_answer() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.CaptchaAnswer.Error.wrong_answer)
  if (reason_case() == kWrongAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* temp = _impl_.reason_.wrong_answer_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.wrong_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer& CaptchaAnswer_Error::_internal_wrong_answer() const {
  return reason_case() == kWrongAnswer
      ? *_impl_.reason_.wrong_answer_
      : reinterpret_cast<::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer&>(::keyapis::identity::v1::_CaptchaAnswer_Error_WrongAnswer_default_instance_);
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer& CaptchaAnswer_Error::wrong_answer() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.CaptchaAnswer.Error.wrong_answer)
  return _internal_wrong_answer();
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* CaptchaAnswer_Error::unsafe_arena_release_wrong_answer() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.CaptchaAnswer.Error.wrong_answer)
  if (reason_case() == kWrongAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* temp = _impl_.reason_.wrong_answer_;
    _impl_.reason_.wrong_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void CaptchaAnswer_Error::unsafe_arena_set_allocated_wrong_answer(::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* wrong_answer) {
  clear_reason();
  if (wrong_answer) {
    set_has_wrong_answer();
    _impl_.reason_.wrong_answer_ = wrong_answer;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.CaptchaAnswer.Error.wrong_answer)
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* CaptchaAnswer_Error::_internal_mutable_wrong_answer() {
  if (reason_case() != kWrongAnswer) {
    clear_reason();
    set_has_wrong_answer();
    _impl_.reason_.wrong_answer_ = CreateMaybeMessage< ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer >(GetArenaForAllocation());
  }
  return _impl_.reason_.wrong_answer_;
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* CaptchaAnswer_Error::mutable_wrong_answer() {
  ::keyapis::identity::v1::CaptchaAnswer_Error_WrongAnswer* _msg = _internal_mutable_wrong_answer();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.CaptchaAnswer.Error.wrong_answer)
  return _msg;
}

// .keyapis.identity.v1.Captcha captcha = 2;
inline bool CaptchaAnswer_Error::has_captcha() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.captcha_ != nullptr);
  return value;
}
inline void CaptchaAnswer_Error::clear_captcha() {
  if (_impl_.captcha_ != nullptr) _impl_.captcha_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::identity::v1::Captcha& CaptchaAnswer_Error::_internal_captcha() const {
  const ::keyapis::identity::v1::Captcha* p = _impl_.captcha_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::identity::v1::Captcha&>(
      ::keyapis::identity::v1::_Captcha_default_instance_);
}
inline const ::keyapis::identity::v1::Captcha& CaptchaAnswer_Error::captcha() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.CaptchaAnswer.Error.captcha)
  return _internal_captcha();
}
inline void CaptchaAnswer_Error::unsafe_arena_set_allocated_captcha(
    ::keyapis::identity::v1::Captcha* captcha) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.captcha_);
  }
  _impl_.captcha_ = captcha;
  if (captcha) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.CaptchaAnswer.Error.captcha)
}
inline ::keyapis::identity::v1::Captcha* CaptchaAnswer_Error::release_captcha() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::Captcha* temp = _impl_.captcha_;
  _impl_.captcha_ = 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::identity::v1::Captcha* CaptchaAnswer_Error::unsafe_arena_release_captcha() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.CaptchaAnswer.Error.captcha)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::Captcha* temp = _impl_.captcha_;
  _impl_.captcha_ = nullptr;
  return temp;
}
inline ::keyapis::identity::v1::Captcha* CaptchaAnswer_Error::_internal_mutable_captcha() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.captcha_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::identity::v1::Captcha>(GetArenaForAllocation());
    _impl_.captcha_ = p;
  }
  return _impl_.captcha_;
}
inline ::keyapis::identity::v1::Captcha* CaptchaAnswer_Error::mutable_captcha() {
  ::keyapis::identity::v1::Captcha* _msg = _internal_mutable_captcha();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.CaptchaAnswer.Error.captcha)
  return _msg;
}
inline void CaptchaAnswer_Error::set_allocated_captcha(::keyapis::identity::v1::Captcha* captcha) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.captcha_;
  }
  if (captcha) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(captcha);
    if (message_arena != submessage_arena) {
      captcha = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, captcha, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.captcha_ = captcha;
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.CaptchaAnswer.Error.captcha)
}

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

// CaptchaAnswer

// string id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void CaptchaAnswer::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& CaptchaAnswer::id() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.CaptchaAnswer.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CaptchaAnswer::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.CaptchaAnswer.id)
}
inline std::string* CaptchaAnswer::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.CaptchaAnswer.id)
  return _s;
}
inline const std::string& CaptchaAnswer::_internal_id() const {
  return _impl_.id_.Get();
}
inline void CaptchaAnswer::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* CaptchaAnswer::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* CaptchaAnswer::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.CaptchaAnswer.id)
  return _impl_.id_.Release();
}
inline void CaptchaAnswer::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.CaptchaAnswer.id)
}

// string code = 2 [(.google.api.field_behavior) = REQUIRED];
inline void CaptchaAnswer::clear_code() {
  _impl_.code_.ClearToEmpty();
}
inline const std::string& CaptchaAnswer::code() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.CaptchaAnswer.code)
  return _internal_code();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CaptchaAnswer::set_code(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.code_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.CaptchaAnswer.code)
}
inline std::string* CaptchaAnswer::mutable_code() {
  std::string* _s = _internal_mutable_code();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.CaptchaAnswer.code)
  return _s;
}
inline const std::string& CaptchaAnswer::_internal_code() const {
  return _impl_.code_.Get();
}
inline void CaptchaAnswer::_internal_set_code(const std::string& value) {
  ;


  _impl_.code_.Set(value, GetArenaForAllocation());
}
inline std::string* CaptchaAnswer::_internal_mutable_code() {
  ;
  return _impl_.code_.Mutable( GetArenaForAllocation());
}
inline std::string* CaptchaAnswer::release_code() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.CaptchaAnswer.code)
  return _impl_.code_.Release();
}
inline void CaptchaAnswer::set_allocated_code(std::string* value) {
  _impl_.code_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.code_.IsDefault()) {
          _impl_.code_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.CaptchaAnswer.code)
}

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

// OtpCode_Error_LifeTimeExpired

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

// OtpCode_Error_NoAttempts

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

// OtpCode_Error_AddressNotFound

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

// OtpCode_Error_InvalidCode

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

// OtpCode_Error

// .keyapis.identity.v1.OtpCode.Error.LifeTimeExpired life_time_expired = 1;
inline bool OtpCode_Error::has_life_time_expired() const {
  return reason_case() == kLifeTimeExpired;
}
inline bool OtpCode_Error::_internal_has_life_time_expired() const {
  return reason_case() == kLifeTimeExpired;
}
inline void OtpCode_Error::set_has_life_time_expired() {
  _impl_._oneof_case_[0] = kLifeTimeExpired;
}
inline void OtpCode_Error::clear_life_time_expired() {
  if (reason_case() == kLifeTimeExpired) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.life_time_expired_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* OtpCode_Error::release_life_time_expired() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.OtpCode.Error.life_time_expired)
  if (reason_case() == kLifeTimeExpired) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* temp = _impl_.reason_.life_time_expired_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.life_time_expired_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired& OtpCode_Error::_internal_life_time_expired() const {
  return reason_case() == kLifeTimeExpired
      ? *_impl_.reason_.life_time_expired_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired&>(::keyapis::identity::v1::_OtpCode_Error_LifeTimeExpired_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired& OtpCode_Error::life_time_expired() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.Error.life_time_expired)
  return _internal_life_time_expired();
}
inline ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* OtpCode_Error::unsafe_arena_release_life_time_expired() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.OtpCode.Error.life_time_expired)
  if (reason_case() == kLifeTimeExpired) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* temp = _impl_.reason_.life_time_expired_;
    _impl_.reason_.life_time_expired_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void OtpCode_Error::unsafe_arena_set_allocated_life_time_expired(::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* life_time_expired) {
  clear_reason();
  if (life_time_expired) {
    set_has_life_time_expired();
    _impl_.reason_.life_time_expired_ = life_time_expired;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.OtpCode.Error.life_time_expired)
}
inline ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* OtpCode_Error::_internal_mutable_life_time_expired() {
  if (reason_case() != kLifeTimeExpired) {
    clear_reason();
    set_has_life_time_expired();
    _impl_.reason_.life_time_expired_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired >(GetArenaForAllocation());
  }
  return _impl_.reason_.life_time_expired_;
}
inline ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* OtpCode_Error::mutable_life_time_expired() {
  ::keyapis::identity::v1::OtpCode_Error_LifeTimeExpired* _msg = _internal_mutable_life_time_expired();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.OtpCode.Error.life_time_expired)
  return _msg;
}

// .keyapis.identity.v1.OtpCode.Error.NoAttempts no_attempts = 2;
inline bool OtpCode_Error::has_no_attempts() const {
  return reason_case() == kNoAttempts;
}
inline bool OtpCode_Error::_internal_has_no_attempts() const {
  return reason_case() == kNoAttempts;
}
inline void OtpCode_Error::set_has_no_attempts() {
  _impl_._oneof_case_[0] = kNoAttempts;
}
inline void OtpCode_Error::clear_no_attempts() {
  if (reason_case() == kNoAttempts) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.no_attempts_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::OtpCode_Error_NoAttempts* OtpCode_Error::release_no_attempts() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.OtpCode.Error.no_attempts)
  if (reason_case() == kNoAttempts) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_NoAttempts* temp = _impl_.reason_.no_attempts_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.no_attempts_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::OtpCode_Error_NoAttempts& OtpCode_Error::_internal_no_attempts() const {
  return reason_case() == kNoAttempts
      ? *_impl_.reason_.no_attempts_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode_Error_NoAttempts&>(::keyapis::identity::v1::_OtpCode_Error_NoAttempts_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode_Error_NoAttempts& OtpCode_Error::no_attempts() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.Error.no_attempts)
  return _internal_no_attempts();
}
inline ::keyapis::identity::v1::OtpCode_Error_NoAttempts* OtpCode_Error::unsafe_arena_release_no_attempts() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.OtpCode.Error.no_attempts)
  if (reason_case() == kNoAttempts) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_NoAttempts* temp = _impl_.reason_.no_attempts_;
    _impl_.reason_.no_attempts_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void OtpCode_Error::unsafe_arena_set_allocated_no_attempts(::keyapis::identity::v1::OtpCode_Error_NoAttempts* no_attempts) {
  clear_reason();
  if (no_attempts) {
    set_has_no_attempts();
    _impl_.reason_.no_attempts_ = no_attempts;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.OtpCode.Error.no_attempts)
}
inline ::keyapis::identity::v1::OtpCode_Error_NoAttempts* OtpCode_Error::_internal_mutable_no_attempts() {
  if (reason_case() != kNoAttempts) {
    clear_reason();
    set_has_no_attempts();
    _impl_.reason_.no_attempts_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode_Error_NoAttempts >(GetArenaForAllocation());
  }
  return _impl_.reason_.no_attempts_;
}
inline ::keyapis::identity::v1::OtpCode_Error_NoAttempts* OtpCode_Error::mutable_no_attempts() {
  ::keyapis::identity::v1::OtpCode_Error_NoAttempts* _msg = _internal_mutable_no_attempts();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.OtpCode.Error.no_attempts)
  return _msg;
}

// .keyapis.identity.v1.OtpCode.Error.AddressNotFound address_not_found = 3;
inline bool OtpCode_Error::has_address_not_found() const {
  return reason_case() == kAddressNotFound;
}
inline bool OtpCode_Error::_internal_has_address_not_found() const {
  return reason_case() == kAddressNotFound;
}
inline void OtpCode_Error::set_has_address_not_found() {
  _impl_._oneof_case_[0] = kAddressNotFound;
}
inline void OtpCode_Error::clear_address_not_found() {
  if (reason_case() == kAddressNotFound) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.address_not_found_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* OtpCode_Error::release_address_not_found() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.OtpCode.Error.address_not_found)
  if (reason_case() == kAddressNotFound) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* temp = _impl_.reason_.address_not_found_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.address_not_found_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::OtpCode_Error_AddressNotFound& OtpCode_Error::_internal_address_not_found() const {
  return reason_case() == kAddressNotFound
      ? *_impl_.reason_.address_not_found_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode_Error_AddressNotFound&>(::keyapis::identity::v1::_OtpCode_Error_AddressNotFound_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode_Error_AddressNotFound& OtpCode_Error::address_not_found() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.Error.address_not_found)
  return _internal_address_not_found();
}
inline ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* OtpCode_Error::unsafe_arena_release_address_not_found() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.OtpCode.Error.address_not_found)
  if (reason_case() == kAddressNotFound) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* temp = _impl_.reason_.address_not_found_;
    _impl_.reason_.address_not_found_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void OtpCode_Error::unsafe_arena_set_allocated_address_not_found(::keyapis::identity::v1::OtpCode_Error_AddressNotFound* address_not_found) {
  clear_reason();
  if (address_not_found) {
    set_has_address_not_found();
    _impl_.reason_.address_not_found_ = address_not_found;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.OtpCode.Error.address_not_found)
}
inline ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* OtpCode_Error::_internal_mutable_address_not_found() {
  if (reason_case() != kAddressNotFound) {
    clear_reason();
    set_has_address_not_found();
    _impl_.reason_.address_not_found_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode_Error_AddressNotFound >(GetArenaForAllocation());
  }
  return _impl_.reason_.address_not_found_;
}
inline ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* OtpCode_Error::mutable_address_not_found() {
  ::keyapis::identity::v1::OtpCode_Error_AddressNotFound* _msg = _internal_mutable_address_not_found();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.OtpCode.Error.address_not_found)
  return _msg;
}

// .keyapis.identity.v1.OtpCode.Error.InvalidCode invalid_code = 4;
inline bool OtpCode_Error::has_invalid_code() const {
  return reason_case() == kInvalidCode;
}
inline bool OtpCode_Error::_internal_has_invalid_code() const {
  return reason_case() == kInvalidCode;
}
inline void OtpCode_Error::set_has_invalid_code() {
  _impl_._oneof_case_[0] = kInvalidCode;
}
inline void OtpCode_Error::clear_invalid_code() {
  if (reason_case() == kInvalidCode) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.invalid_code_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::OtpCode_Error_InvalidCode* OtpCode_Error::release_invalid_code() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.OtpCode.Error.invalid_code)
  if (reason_case() == kInvalidCode) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_InvalidCode* temp = _impl_.reason_.invalid_code_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.invalid_code_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::OtpCode_Error_InvalidCode& OtpCode_Error::_internal_invalid_code() const {
  return reason_case() == kInvalidCode
      ? *_impl_.reason_.invalid_code_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode_Error_InvalidCode&>(::keyapis::identity::v1::_OtpCode_Error_InvalidCode_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode_Error_InvalidCode& OtpCode_Error::invalid_code() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.Error.invalid_code)
  return _internal_invalid_code();
}
inline ::keyapis::identity::v1::OtpCode_Error_InvalidCode* OtpCode_Error::unsafe_arena_release_invalid_code() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.OtpCode.Error.invalid_code)
  if (reason_case() == kInvalidCode) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error_InvalidCode* temp = _impl_.reason_.invalid_code_;
    _impl_.reason_.invalid_code_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void OtpCode_Error::unsafe_arena_set_allocated_invalid_code(::keyapis::identity::v1::OtpCode_Error_InvalidCode* invalid_code) {
  clear_reason();
  if (invalid_code) {
    set_has_invalid_code();
    _impl_.reason_.invalid_code_ = invalid_code;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.OtpCode.Error.invalid_code)
}
inline ::keyapis::identity::v1::OtpCode_Error_InvalidCode* OtpCode_Error::_internal_mutable_invalid_code() {
  if (reason_case() != kInvalidCode) {
    clear_reason();
    set_has_invalid_code();
    _impl_.reason_.invalid_code_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode_Error_InvalidCode >(GetArenaForAllocation());
  }
  return _impl_.reason_.invalid_code_;
}
inline ::keyapis::identity::v1::OtpCode_Error_InvalidCode* OtpCode_Error::mutable_invalid_code() {
  ::keyapis::identity::v1::OtpCode_Error_InvalidCode* _msg = _internal_mutable_invalid_code();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.OtpCode.Error.invalid_code)
  return _msg;
}

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

// OtpCode

// string code_id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void OtpCode::clear_code_id() {
  _impl_.code_id_.ClearToEmpty();
}
inline const std::string& OtpCode::code_id() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.code_id)
  return _internal_code_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void OtpCode::set_code_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.code_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.OtpCode.code_id)
}
inline std::string* OtpCode::mutable_code_id() {
  std::string* _s = _internal_mutable_code_id();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.OtpCode.code_id)
  return _s;
}
inline const std::string& OtpCode::_internal_code_id() const {
  return _impl_.code_id_.Get();
}
inline void OtpCode::_internal_set_code_id(const std::string& value) {
  ;


  _impl_.code_id_.Set(value, GetArenaForAllocation());
}
inline std::string* OtpCode::_internal_mutable_code_id() {
  ;
  return _impl_.code_id_.Mutable( GetArenaForAllocation());
}
inline std::string* OtpCode::release_code_id() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.OtpCode.code_id)
  return _impl_.code_id_.Release();
}
inline void OtpCode::set_allocated_code_id(std::string* value) {
  _impl_.code_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.code_id_.IsDefault()) {
          _impl_.code_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.OtpCode.code_id)
}

// int32 timeout = 2 [(.google.api.field_behavior) = REQUIRED];
inline void OtpCode::clear_timeout() {
  _impl_.timeout_ = 0;
}
inline ::int32_t OtpCode::timeout() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.OtpCode.timeout)
  return _internal_timeout();
}
inline void OtpCode::set_timeout(::int32_t value) {
  _internal_set_timeout(value);
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.OtpCode.timeout)
}
inline ::int32_t OtpCode::_internal_timeout() const {
  return _impl_.timeout_;
}
inline void OtpCode::_internal_set_timeout(::int32_t value) {
  ;
  _impl_.timeout_ = value;
}

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

// SsoError_UserIsTemporaryBlocked

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

// SsoError_UserNotFound

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

// SsoError_WrongCredentials

// .keyapis.identity.v1.Captcha captcha = 1 [(.google.api.field_behavior) = OPTIONAL];
inline bool SsoError_WrongCredentials::has_captcha() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.captcha_ != nullptr);
  return value;
}
inline void SsoError_WrongCredentials::clear_captcha() {
  if (_impl_.captcha_ != nullptr) _impl_.captcha_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::identity::v1::Captcha& SsoError_WrongCredentials::_internal_captcha() const {
  const ::keyapis::identity::v1::Captcha* p = _impl_.captcha_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::identity::v1::Captcha&>(
      ::keyapis::identity::v1::_Captcha_default_instance_);
}
inline const ::keyapis::identity::v1::Captcha& SsoError_WrongCredentials::captcha() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.WrongCredentials.captcha)
  return _internal_captcha();
}
inline void SsoError_WrongCredentials::unsafe_arena_set_allocated_captcha(
    ::keyapis::identity::v1::Captcha* captcha) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.captcha_);
  }
  _impl_.captcha_ = captcha;
  if (captcha) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.WrongCredentials.captcha)
}
inline ::keyapis::identity::v1::Captcha* SsoError_WrongCredentials::release_captcha() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::Captcha* temp = _impl_.captcha_;
  _impl_.captcha_ = 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::identity::v1::Captcha* SsoError_WrongCredentials::unsafe_arena_release_captcha() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.WrongCredentials.captcha)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::Captcha* temp = _impl_.captcha_;
  _impl_.captcha_ = nullptr;
  return temp;
}
inline ::keyapis::identity::v1::Captcha* SsoError_WrongCredentials::_internal_mutable_captcha() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.captcha_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::identity::v1::Captcha>(GetArenaForAllocation());
    _impl_.captcha_ = p;
  }
  return _impl_.captcha_;
}
inline ::keyapis::identity::v1::Captcha* SsoError_WrongCredentials::mutable_captcha() {
  ::keyapis::identity::v1::Captcha* _msg = _internal_mutable_captcha();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.WrongCredentials.captcha)
  return _msg;
}
inline void SsoError_WrongCredentials::set_allocated_captcha(::keyapis::identity::v1::Captcha* captcha) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.captcha_;
  }
  if (captcha) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(captcha);
    if (message_arena != submessage_arena) {
      captcha = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, captcha, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.captcha_ = captcha;
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.SsoError.WrongCredentials.captcha)
}

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

// SsoError_UserIsBlocked

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

// SsoError_IntervalExceeded

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

// SsoError

// .keyapis.identity.v1.SsoError.UserIsTemporaryBlocked user_is_temporary_blocked = 1;
inline bool SsoError::has_user_is_temporary_blocked() const {
  return reason_case() == kUserIsTemporaryBlocked;
}
inline bool SsoError::_internal_has_user_is_temporary_blocked() const {
  return reason_case() == kUserIsTemporaryBlocked;
}
inline void SsoError::set_has_user_is_temporary_blocked() {
  _impl_._oneof_case_[0] = kUserIsTemporaryBlocked;
}
inline void SsoError::clear_user_is_temporary_blocked() {
  if (reason_case() == kUserIsTemporaryBlocked) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.user_is_temporary_blocked_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* SsoError::release_user_is_temporary_blocked() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.user_is_temporary_blocked)
  if (reason_case() == kUserIsTemporaryBlocked) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* temp = _impl_.reason_.user_is_temporary_blocked_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.user_is_temporary_blocked_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked& SsoError::_internal_user_is_temporary_blocked() const {
  return reason_case() == kUserIsTemporaryBlocked
      ? *_impl_.reason_.user_is_temporary_blocked_
      : reinterpret_cast<::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked&>(::keyapis::identity::v1::_SsoError_UserIsTemporaryBlocked_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked& SsoError::user_is_temporary_blocked() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.user_is_temporary_blocked)
  return _internal_user_is_temporary_blocked();
}
inline ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* SsoError::unsafe_arena_release_user_is_temporary_blocked() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.SsoError.user_is_temporary_blocked)
  if (reason_case() == kUserIsTemporaryBlocked) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* temp = _impl_.reason_.user_is_temporary_blocked_;
    _impl_.reason_.user_is_temporary_blocked_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void SsoError::unsafe_arena_set_allocated_user_is_temporary_blocked(::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* user_is_temporary_blocked) {
  clear_reason();
  if (user_is_temporary_blocked) {
    set_has_user_is_temporary_blocked();
    _impl_.reason_.user_is_temporary_blocked_ = user_is_temporary_blocked;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.user_is_temporary_blocked)
}
inline ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* SsoError::_internal_mutable_user_is_temporary_blocked() {
  if (reason_case() != kUserIsTemporaryBlocked) {
    clear_reason();
    set_has_user_is_temporary_blocked();
    _impl_.reason_.user_is_temporary_blocked_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked >(GetArenaForAllocation());
  }
  return _impl_.reason_.user_is_temporary_blocked_;
}
inline ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* SsoError::mutable_user_is_temporary_blocked() {
  ::keyapis::identity::v1::SsoError_UserIsTemporaryBlocked* _msg = _internal_mutable_user_is_temporary_blocked();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.user_is_temporary_blocked)
  return _msg;
}

// .keyapis.identity.v1.SsoError.UserNotFound user_not_found = 2;
inline bool SsoError::has_user_not_found() const {
  return reason_case() == kUserNotFound;
}
inline bool SsoError::_internal_has_user_not_found() const {
  return reason_case() == kUserNotFound;
}
inline void SsoError::set_has_user_not_found() {
  _impl_._oneof_case_[0] = kUserNotFound;
}
inline void SsoError::clear_user_not_found() {
  if (reason_case() == kUserNotFound) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.user_not_found_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError_UserNotFound* SsoError::release_user_not_found() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.user_not_found)
  if (reason_case() == kUserNotFound) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserNotFound* temp = _impl_.reason_.user_not_found_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.user_not_found_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError_UserNotFound& SsoError::_internal_user_not_found() const {
  return reason_case() == kUserNotFound
      ? *_impl_.reason_.user_not_found_
      : reinterpret_cast<::keyapis::identity::v1::SsoError_UserNotFound&>(::keyapis::identity::v1::_SsoError_UserNotFound_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError_UserNotFound& SsoError::user_not_found() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.user_not_found)
  return _internal_user_not_found();
}
inline ::keyapis::identity::v1::SsoError_UserNotFound* SsoError::unsafe_arena_release_user_not_found() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.SsoError.user_not_found)
  if (reason_case() == kUserNotFound) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserNotFound* temp = _impl_.reason_.user_not_found_;
    _impl_.reason_.user_not_found_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void SsoError::unsafe_arena_set_allocated_user_not_found(::keyapis::identity::v1::SsoError_UserNotFound* user_not_found) {
  clear_reason();
  if (user_not_found) {
    set_has_user_not_found();
    _impl_.reason_.user_not_found_ = user_not_found;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.user_not_found)
}
inline ::keyapis::identity::v1::SsoError_UserNotFound* SsoError::_internal_mutable_user_not_found() {
  if (reason_case() != kUserNotFound) {
    clear_reason();
    set_has_user_not_found();
    _impl_.reason_.user_not_found_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError_UserNotFound >(GetArenaForAllocation());
  }
  return _impl_.reason_.user_not_found_;
}
inline ::keyapis::identity::v1::SsoError_UserNotFound* SsoError::mutable_user_not_found() {
  ::keyapis::identity::v1::SsoError_UserNotFound* _msg = _internal_mutable_user_not_found();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.user_not_found)
  return _msg;
}

// .keyapis.identity.v1.SsoError.WrongCredentials wrong_credentials = 3;
inline bool SsoError::has_wrong_credentials() const {
  return reason_case() == kWrongCredentials;
}
inline bool SsoError::_internal_has_wrong_credentials() const {
  return reason_case() == kWrongCredentials;
}
inline void SsoError::set_has_wrong_credentials() {
  _impl_._oneof_case_[0] = kWrongCredentials;
}
inline void SsoError::clear_wrong_credentials() {
  if (reason_case() == kWrongCredentials) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.wrong_credentials_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError_WrongCredentials* SsoError::release_wrong_credentials() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.wrong_credentials)
  if (reason_case() == kWrongCredentials) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_WrongCredentials* temp = _impl_.reason_.wrong_credentials_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.wrong_credentials_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError_WrongCredentials& SsoError::_internal_wrong_credentials() const {
  return reason_case() == kWrongCredentials
      ? *_impl_.reason_.wrong_credentials_
      : reinterpret_cast<::keyapis::identity::v1::SsoError_WrongCredentials&>(::keyapis::identity::v1::_SsoError_WrongCredentials_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError_WrongCredentials& SsoError::wrong_credentials() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.wrong_credentials)
  return _internal_wrong_credentials();
}
inline ::keyapis::identity::v1::SsoError_WrongCredentials* SsoError::unsafe_arena_release_wrong_credentials() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.SsoError.wrong_credentials)
  if (reason_case() == kWrongCredentials) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_WrongCredentials* temp = _impl_.reason_.wrong_credentials_;
    _impl_.reason_.wrong_credentials_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void SsoError::unsafe_arena_set_allocated_wrong_credentials(::keyapis::identity::v1::SsoError_WrongCredentials* wrong_credentials) {
  clear_reason();
  if (wrong_credentials) {
    set_has_wrong_credentials();
    _impl_.reason_.wrong_credentials_ = wrong_credentials;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.wrong_credentials)
}
inline ::keyapis::identity::v1::SsoError_WrongCredentials* SsoError::_internal_mutable_wrong_credentials() {
  if (reason_case() != kWrongCredentials) {
    clear_reason();
    set_has_wrong_credentials();
    _impl_.reason_.wrong_credentials_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError_WrongCredentials >(GetArenaForAllocation());
  }
  return _impl_.reason_.wrong_credentials_;
}
inline ::keyapis::identity::v1::SsoError_WrongCredentials* SsoError::mutable_wrong_credentials() {
  ::keyapis::identity::v1::SsoError_WrongCredentials* _msg = _internal_mutable_wrong_credentials();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.wrong_credentials)
  return _msg;
}

// .keyapis.identity.v1.SsoError.UserIsBlocked user_is_blocked = 4;
inline bool SsoError::has_user_is_blocked() const {
  return reason_case() == kUserIsBlocked;
}
inline bool SsoError::_internal_has_user_is_blocked() const {
  return reason_case() == kUserIsBlocked;
}
inline void SsoError::set_has_user_is_blocked() {
  _impl_._oneof_case_[0] = kUserIsBlocked;
}
inline void SsoError::clear_user_is_blocked() {
  if (reason_case() == kUserIsBlocked) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.user_is_blocked_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError_UserIsBlocked* SsoError::release_user_is_blocked() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.user_is_blocked)
  if (reason_case() == kUserIsBlocked) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserIsBlocked* temp = _impl_.reason_.user_is_blocked_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.user_is_blocked_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError_UserIsBlocked& SsoError::_internal_user_is_blocked() const {
  return reason_case() == kUserIsBlocked
      ? *_impl_.reason_.user_is_blocked_
      : reinterpret_cast<::keyapis::identity::v1::SsoError_UserIsBlocked&>(::keyapis::identity::v1::_SsoError_UserIsBlocked_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError_UserIsBlocked& SsoError::user_is_blocked() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.user_is_blocked)
  return _internal_user_is_blocked();
}
inline ::keyapis::identity::v1::SsoError_UserIsBlocked* SsoError::unsafe_arena_release_user_is_blocked() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.SsoError.user_is_blocked)
  if (reason_case() == kUserIsBlocked) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_UserIsBlocked* temp = _impl_.reason_.user_is_blocked_;
    _impl_.reason_.user_is_blocked_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void SsoError::unsafe_arena_set_allocated_user_is_blocked(::keyapis::identity::v1::SsoError_UserIsBlocked* user_is_blocked) {
  clear_reason();
  if (user_is_blocked) {
    set_has_user_is_blocked();
    _impl_.reason_.user_is_blocked_ = user_is_blocked;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.user_is_blocked)
}
inline ::keyapis::identity::v1::SsoError_UserIsBlocked* SsoError::_internal_mutable_user_is_blocked() {
  if (reason_case() != kUserIsBlocked) {
    clear_reason();
    set_has_user_is_blocked();
    _impl_.reason_.user_is_blocked_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError_UserIsBlocked >(GetArenaForAllocation());
  }
  return _impl_.reason_.user_is_blocked_;
}
inline ::keyapis::identity::v1::SsoError_UserIsBlocked* SsoError::mutable_user_is_blocked() {
  ::keyapis::identity::v1::SsoError_UserIsBlocked* _msg = _internal_mutable_user_is_blocked();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.user_is_blocked)
  return _msg;
}

// .keyapis.identity.v1.SsoError.IntervalExceeded interval_exceeded = 5;
inline bool SsoError::has_interval_exceeded() const {
  return reason_case() == kIntervalExceeded;
}
inline bool SsoError::_internal_has_interval_exceeded() const {
  return reason_case() == kIntervalExceeded;
}
inline void SsoError::set_has_interval_exceeded() {
  _impl_._oneof_case_[0] = kIntervalExceeded;
}
inline void SsoError::clear_interval_exceeded() {
  if (reason_case() == kIntervalExceeded) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.interval_exceeded_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError_IntervalExceeded* SsoError::release_interval_exceeded() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.SsoError.interval_exceeded)
  if (reason_case() == kIntervalExceeded) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_IntervalExceeded* temp = _impl_.reason_.interval_exceeded_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.interval_exceeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError_IntervalExceeded& SsoError::_internal_interval_exceeded() const {
  return reason_case() == kIntervalExceeded
      ? *_impl_.reason_.interval_exceeded_
      : reinterpret_cast<::keyapis::identity::v1::SsoError_IntervalExceeded&>(::keyapis::identity::v1::_SsoError_IntervalExceeded_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError_IntervalExceeded& SsoError::interval_exceeded() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.SsoError.interval_exceeded)
  return _internal_interval_exceeded();
}
inline ::keyapis::identity::v1::SsoError_IntervalExceeded* SsoError::unsafe_arena_release_interval_exceeded() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.SsoError.interval_exceeded)
  if (reason_case() == kIntervalExceeded) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError_IntervalExceeded* temp = _impl_.reason_.interval_exceeded_;
    _impl_.reason_.interval_exceeded_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void SsoError::unsafe_arena_set_allocated_interval_exceeded(::keyapis::identity::v1::SsoError_IntervalExceeded* interval_exceeded) {
  clear_reason();
  if (interval_exceeded) {
    set_has_interval_exceeded();
    _impl_.reason_.interval_exceeded_ = interval_exceeded;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.SsoError.interval_exceeded)
}
inline ::keyapis::identity::v1::SsoError_IntervalExceeded* SsoError::_internal_mutable_interval_exceeded() {
  if (reason_case() != kIntervalExceeded) {
    clear_reason();
    set_has_interval_exceeded();
    _impl_.reason_.interval_exceeded_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError_IntervalExceeded >(GetArenaForAllocation());
  }
  return _impl_.reason_.interval_exceeded_;
}
inline ::keyapis::identity::v1::SsoError_IntervalExceeded* SsoError::mutable_interval_exceeded() {
  ::keyapis::identity::v1::SsoError_IntervalExceeded* _msg = _internal_mutable_interval_exceeded();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.SsoError.interval_exceeded)
  return _msg;
}

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

// KeyError_UserCreation

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

// KeyError

// .keyapis.identity.v1.KeyError.UserCreation user_creation = 1;
inline bool KeyError::has_user_creation() const {
  return reason_case() == kUserCreation;
}
inline bool KeyError::_internal_has_user_creation() const {
  return reason_case() == kUserCreation;
}
inline void KeyError::set_has_user_creation() {
  _impl_._oneof_case_[0] = kUserCreation;
}
inline void KeyError::clear_user_creation() {
  if (reason_case() == kUserCreation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.user_creation_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::KeyError_UserCreation* KeyError::release_user_creation() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.KeyError.user_creation)
  if (reason_case() == kUserCreation) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError_UserCreation* temp = _impl_.reason_.user_creation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.user_creation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::KeyError_UserCreation& KeyError::_internal_user_creation() const {
  return reason_case() == kUserCreation
      ? *_impl_.reason_.user_creation_
      : reinterpret_cast<::keyapis::identity::v1::KeyError_UserCreation&>(::keyapis::identity::v1::_KeyError_UserCreation_default_instance_);
}
inline const ::keyapis::identity::v1::KeyError_UserCreation& KeyError::user_creation() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.KeyError.user_creation)
  return _internal_user_creation();
}
inline ::keyapis::identity::v1::KeyError_UserCreation* KeyError::unsafe_arena_release_user_creation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.KeyError.user_creation)
  if (reason_case() == kUserCreation) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError_UserCreation* temp = _impl_.reason_.user_creation_;
    _impl_.reason_.user_creation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void KeyError::unsafe_arena_set_allocated_user_creation(::keyapis::identity::v1::KeyError_UserCreation* user_creation) {
  clear_reason();
  if (user_creation) {
    set_has_user_creation();
    _impl_.reason_.user_creation_ = user_creation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.KeyError.user_creation)
}
inline ::keyapis::identity::v1::KeyError_UserCreation* KeyError::_internal_mutable_user_creation() {
  if (reason_case() != kUserCreation) {
    clear_reason();
    set_has_user_creation();
    _impl_.reason_.user_creation_ = CreateMaybeMessage< ::keyapis::identity::v1::KeyError_UserCreation >(GetArenaForAllocation());
  }
  return _impl_.reason_.user_creation_;
}
inline ::keyapis::identity::v1::KeyError_UserCreation* KeyError::mutable_user_creation() {
  ::keyapis::identity::v1::KeyError_UserCreation* _msg = _internal_mutable_user_creation();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.KeyError.user_creation)
  return _msg;
}

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

// PostAuthorizationSendCodeRequest

// string phone_number = 1;
inline bool PostAuthorizationSendCodeRequest::has_phone_number() const {
  return otp_text_case() == kPhoneNumber;
}
inline void PostAuthorizationSendCodeRequest::set_has_phone_number() {
  _impl_._oneof_case_[0] = kPhoneNumber;
}
inline void PostAuthorizationSendCodeRequest::clear_phone_number() {
  if (otp_text_case() == kPhoneNumber) {
    _impl_.otp_text_.phone_number_.Destroy();
    clear_has_otp_text();
  }
}
inline const std::string& PostAuthorizationSendCodeRequest::phone_number() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeRequest.phone_number)
  return _internal_phone_number();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationSendCodeRequest::set_phone_number(Arg_&& arg,
                                                     Args_... args) {
  if (otp_text_case() != kPhoneNumber) {
    clear_otp_text();

    set_has_phone_number();
    _impl_.otp_text_.phone_number_.InitDefault();
  }
  _impl_.otp_text_.phone_number_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationSendCodeRequest.phone_number)
}
inline std::string* PostAuthorizationSendCodeRequest::mutable_phone_number() {
  std::string* _s = _internal_mutable_phone_number();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeRequest.phone_number)
  return _s;
}
inline const std::string& PostAuthorizationSendCodeRequest::_internal_phone_number() const {
  if (otp_text_case() != kPhoneNumber) {
    return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.otp_text_.phone_number_.Get();
}
inline void PostAuthorizationSendCodeRequest::_internal_set_phone_number(const std::string& value) {
  if (otp_text_case() != kPhoneNumber) {
    clear_otp_text();

    set_has_phone_number();
    _impl_.otp_text_.phone_number_.InitDefault();
  }


  _impl_.otp_text_.phone_number_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationSendCodeRequest::_internal_mutable_phone_number() {
  if (otp_text_case() != kPhoneNumber) {
    clear_otp_text();

    set_has_phone_number();
    _impl_.otp_text_.phone_number_.InitDefault();
  }
  return _impl_.otp_text_.phone_number_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationSendCodeRequest::release_phone_number() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeRequest.phone_number)
  if (otp_text_case() != kPhoneNumber) {
    return nullptr;
  }
  clear_has_otp_text();
  return _impl_.otp_text_.phone_number_.Release();
}
inline void PostAuthorizationSendCodeRequest::set_allocated_phone_number(std::string* value) {
  if (has_otp_text()) {
    clear_otp_text();
  }
  if (value != nullptr) {
    set_has_phone_number();
    _impl_.otp_text_.phone_number_.InitAllocated(value, GetArenaForAllocation());
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeRequest.phone_number)
}

// .keyapis.identity.v1.CaptchaAnswer captcha_answer = 2 [(.google.api.field_behavior) = OPTIONAL];
inline bool PostAuthorizationSendCodeRequest::has_captcha_answer() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.captcha_answer_ != nullptr);
  return value;
}
inline void PostAuthorizationSendCodeRequest::clear_captcha_answer() {
  if (_impl_.captcha_answer_ != nullptr) _impl_.captcha_answer_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::identity::v1::CaptchaAnswer& PostAuthorizationSendCodeRequest::_internal_captcha_answer() const {
  const ::keyapis::identity::v1::CaptchaAnswer* p = _impl_.captcha_answer_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::identity::v1::CaptchaAnswer&>(
      ::keyapis::identity::v1::_CaptchaAnswer_default_instance_);
}
inline const ::keyapis::identity::v1::CaptchaAnswer& PostAuthorizationSendCodeRequest::captcha_answer() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeRequest.captcha_answer)
  return _internal_captcha_answer();
}
inline void PostAuthorizationSendCodeRequest::unsafe_arena_set_allocated_captcha_answer(
    ::keyapis::identity::v1::CaptchaAnswer* captcha_answer) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.captcha_answer_);
  }
  _impl_.captcha_answer_ = captcha_answer;
  if (captcha_answer) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeRequest.captcha_answer)
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationSendCodeRequest::release_captcha_answer() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::CaptchaAnswer* temp = _impl_.captcha_answer_;
  _impl_.captcha_answer_ = 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::identity::v1::CaptchaAnswer* PostAuthorizationSendCodeRequest::unsafe_arena_release_captcha_answer() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeRequest.captcha_answer)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::CaptchaAnswer* temp = _impl_.captcha_answer_;
  _impl_.captcha_answer_ = nullptr;
  return temp;
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationSendCodeRequest::_internal_mutable_captcha_answer() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.captcha_answer_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::identity::v1::CaptchaAnswer>(GetArenaForAllocation());
    _impl_.captcha_answer_ = p;
  }
  return _impl_.captcha_answer_;
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationSendCodeRequest::mutable_captcha_answer() {
  ::keyapis::identity::v1::CaptchaAnswer* _msg = _internal_mutable_captcha_answer();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeRequest.captcha_answer)
  return _msg;
}
inline void PostAuthorizationSendCodeRequest::set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer* captcha_answer) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.captcha_answer_;
  }
  if (captcha_answer) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(captcha_answer);
    if (message_arena != submessage_arena) {
      captcha_answer = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, captcha_answer, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.captcha_answer_ = captcha_answer;
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeRequest.captcha_answer)
}

inline bool PostAuthorizationSendCodeRequest::has_otp_text() const {
  return otp_text_case() != OTP_TEXT_NOT_SET;
}
inline void PostAuthorizationSendCodeRequest::clear_has_otp_text() {
  _impl_._oneof_case_[0] = OTP_TEXT_NOT_SET;
}
inline PostAuthorizationSendCodeRequest::OtpTextCase PostAuthorizationSendCodeRequest::otp_text_case() const {
  return PostAuthorizationSendCodeRequest::OtpTextCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// PostAuthorizationSendCodeResponse_Error

// .keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;
inline bool PostAuthorizationSendCodeResponse_Error::has_captcha_answer() const {
  return reason_case() == kCaptchaAnswer;
}
inline bool PostAuthorizationSendCodeResponse_Error::_internal_has_captcha_answer() const {
  return reason_case() == kCaptchaAnswer;
}
inline void PostAuthorizationSendCodeResponse_Error::set_has_captcha_answer() {
  _impl_._oneof_case_[0] = kCaptchaAnswer;
}
inline void PostAuthorizationSendCodeResponse_Error::clear_captcha_answer() {
  if (reason_case() == kCaptchaAnswer) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.captcha_answer_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationSendCodeResponse_Error::release_captcha_answer() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.captcha_answer)
  if (reason_case() == kCaptchaAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error* temp = _impl_.reason_.captcha_answer_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.captcha_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error& PostAuthorizationSendCodeResponse_Error::_internal_captcha_answer() const {
  return reason_case() == kCaptchaAnswer
      ? *_impl_.reason_.captcha_answer_
      : reinterpret_cast<::keyapis::identity::v1::CaptchaAnswer_Error&>(::keyapis::identity::v1::_CaptchaAnswer_Error_default_instance_);
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error& PostAuthorizationSendCodeResponse_Error::captcha_answer() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.captcha_answer)
  return _internal_captcha_answer();
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationSendCodeResponse_Error::unsafe_arena_release_captcha_answer() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.captcha_answer)
  if (reason_case() == kCaptchaAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error* temp = _impl_.reason_.captcha_answer_;
    _impl_.reason_.captcha_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationSendCodeResponse_Error::unsafe_arena_set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer) {
  clear_reason();
  if (captcha_answer) {
    set_has_captcha_answer();
    _impl_.reason_.captcha_answer_ = captcha_answer;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.captcha_answer)
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationSendCodeResponse_Error::_internal_mutable_captcha_answer() {
  if (reason_case() != kCaptchaAnswer) {
    clear_reason();
    set_has_captcha_answer();
    _impl_.reason_.captcha_answer_ = CreateMaybeMessage< ::keyapis::identity::v1::CaptchaAnswer_Error >(GetArenaForAllocation());
  }
  return _impl_.reason_.captcha_answer_;
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationSendCodeResponse_Error::mutable_captcha_answer() {
  ::keyapis::identity::v1::CaptchaAnswer_Error* _msg = _internal_mutable_captcha_answer();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.captcha_answer)
  return _msg;
}

// .keyapis.identity.v1.SsoError sso = 2;
inline bool PostAuthorizationSendCodeResponse_Error::has_sso() const {
  return reason_case() == kSso;
}
inline bool PostAuthorizationSendCodeResponse_Error::_internal_has_sso() const {
  return reason_case() == kSso;
}
inline void PostAuthorizationSendCodeResponse_Error::set_has_sso() {
  _impl_._oneof_case_[0] = kSso;
}
inline void PostAuthorizationSendCodeResponse_Error::clear_sso() {
  if (reason_case() == kSso) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.sso_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationSendCodeResponse_Error::release_sso() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationSendCodeResponse_Error::_internal_sso() const {
  return reason_case() == kSso
      ? *_impl_.reason_.sso_
      : reinterpret_cast<::keyapis::identity::v1::SsoError&>(::keyapis::identity::v1::_SsoError_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationSendCodeResponse_Error::sso() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.sso)
  return _internal_sso();
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationSendCodeResponse_Error::unsafe_arena_release_sso() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationSendCodeResponse_Error::unsafe_arena_set_allocated_sso(::keyapis::identity::v1::SsoError* sso) {
  clear_reason();
  if (sso) {
    set_has_sso();
    _impl_.reason_.sso_ = sso;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.sso)
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationSendCodeResponse_Error::_internal_mutable_sso() {
  if (reason_case() != kSso) {
    clear_reason();
    set_has_sso();
    _impl_.reason_.sso_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError >(GetArenaForAllocation());
  }
  return _impl_.reason_.sso_;
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationSendCodeResponse_Error::mutable_sso() {
  ::keyapis::identity::v1::SsoError* _msg = _internal_mutable_sso();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error.sso)
  return _msg;
}

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

// PostAuthorizationSendCodeResponse

// .keyapis.identity.v1.OtpCode data = 1;
inline bool PostAuthorizationSendCodeResponse::has_data() const {
  return type_case() == kData;
}
inline bool PostAuthorizationSendCodeResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void PostAuthorizationSendCodeResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void PostAuthorizationSendCodeResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::OtpCode* PostAuthorizationSendCodeResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::OtpCode* 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::identity::v1::OtpCode& PostAuthorizationSendCodeResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode&>(::keyapis::identity::v1::_OtpCode_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode& PostAuthorizationSendCodeResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeResponse.data)
  return _internal_data();
}
inline ::keyapis::identity::v1::OtpCode* PostAuthorizationSendCodeResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::OtpCode* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationSendCodeResponse::unsafe_arena_set_allocated_data(::keyapis::identity::v1::OtpCode* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeResponse.data)
}
inline ::keyapis::identity::v1::OtpCode* PostAuthorizationSendCodeResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::identity::v1::OtpCode* PostAuthorizationSendCodeResponse::mutable_data() {
  ::keyapis::identity::v1::OtpCode* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeResponse.data)
  return _msg;
}

// .keyapis.identity.v1.PostAuthorizationSendCodeResponse.Error error = 2;
inline bool PostAuthorizationSendCodeResponse::has_error() const {
  return type_case() == kError;
}
inline bool PostAuthorizationSendCodeResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void PostAuthorizationSendCodeResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void PostAuthorizationSendCodeResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* PostAuthorizationSendCodeResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_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::identity::v1::PostAuthorizationSendCodeResponse_Error& PostAuthorizationSendCodeResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error&>(::keyapis::identity::v1::_PostAuthorizationSendCodeResponse_Error_default_instance_);
}
inline const ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error& PostAuthorizationSendCodeResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationSendCodeResponse.error)
  return _internal_error();
}
inline ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* PostAuthorizationSendCodeResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationSendCodeResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationSendCodeResponse::unsafe_arena_set_allocated_error(::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationSendCodeResponse.error)
}
inline ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* PostAuthorizationSendCodeResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* PostAuthorizationSendCodeResponse::mutable_error() {
  ::keyapis::identity::v1::PostAuthorizationSendCodeResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationSendCodeResponse.error)
  return _msg;
}

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

// PostAuthorizationLoginRequest

// string code_id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void PostAuthorizationLoginRequest::clear_code_id() {
  _impl_.code_id_.ClearToEmpty();
}
inline const std::string& PostAuthorizationLoginRequest::code_id() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginRequest.code_id)
  return _internal_code_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginRequest::set_code_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.code_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginRequest.code_id)
}
inline std::string* PostAuthorizationLoginRequest::mutable_code_id() {
  std::string* _s = _internal_mutable_code_id();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginRequest.code_id)
  return _s;
}
inline const std::string& PostAuthorizationLoginRequest::_internal_code_id() const {
  return _impl_.code_id_.Get();
}
inline void PostAuthorizationLoginRequest::_internal_set_code_id(const std::string& value) {
  ;


  _impl_.code_id_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginRequest::_internal_mutable_code_id() {
  ;
  return _impl_.code_id_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginRequest::release_code_id() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginRequest.code_id)
  return _impl_.code_id_.Release();
}
inline void PostAuthorizationLoginRequest::set_allocated_code_id(std::string* value) {
  _impl_.code_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.code_id_.IsDefault()) {
          _impl_.code_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginRequest.code_id)
}

// string code = 2 [(.google.api.field_behavior) = REQUIRED];
inline void PostAuthorizationLoginRequest::clear_code() {
  _impl_.code_.ClearToEmpty();
}
inline const std::string& PostAuthorizationLoginRequest::code() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginRequest.code)
  return _internal_code();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginRequest::set_code(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.code_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginRequest.code)
}
inline std::string* PostAuthorizationLoginRequest::mutable_code() {
  std::string* _s = _internal_mutable_code();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginRequest.code)
  return _s;
}
inline const std::string& PostAuthorizationLoginRequest::_internal_code() const {
  return _impl_.code_.Get();
}
inline void PostAuthorizationLoginRequest::_internal_set_code(const std::string& value) {
  ;


  _impl_.code_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginRequest::_internal_mutable_code() {
  ;
  return _impl_.code_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginRequest::release_code() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginRequest.code)
  return _impl_.code_.Release();
}
inline void PostAuthorizationLoginRequest::set_allocated_code(std::string* value) {
  _impl_.code_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.code_.IsDefault()) {
          _impl_.code_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginRequest.code)
}

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

// PostAuthorizationLoginResponse_Error

// .keyapis.identity.v1.OtpCode.Error otp_code = 1;
inline bool PostAuthorizationLoginResponse_Error::has_otp_code() const {
  return reason_case() == kOtpCode;
}
inline bool PostAuthorizationLoginResponse_Error::_internal_has_otp_code() const {
  return reason_case() == kOtpCode;
}
inline void PostAuthorizationLoginResponse_Error::set_has_otp_code() {
  _impl_._oneof_case_[0] = kOtpCode;
}
inline void PostAuthorizationLoginResponse_Error::clear_otp_code() {
  if (reason_case() == kOtpCode) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.otp_code_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::OtpCode_Error* PostAuthorizationLoginResponse_Error::release_otp_code() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.otp_code)
  if (reason_case() == kOtpCode) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error* temp = _impl_.reason_.otp_code_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.otp_code_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::OtpCode_Error& PostAuthorizationLoginResponse_Error::_internal_otp_code() const {
  return reason_case() == kOtpCode
      ? *_impl_.reason_.otp_code_
      : reinterpret_cast<::keyapis::identity::v1::OtpCode_Error&>(::keyapis::identity::v1::_OtpCode_Error_default_instance_);
}
inline const ::keyapis::identity::v1::OtpCode_Error& PostAuthorizationLoginResponse_Error::otp_code() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.otp_code)
  return _internal_otp_code();
}
inline ::keyapis::identity::v1::OtpCode_Error* PostAuthorizationLoginResponse_Error::unsafe_arena_release_otp_code() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.otp_code)
  if (reason_case() == kOtpCode) {
    clear_has_reason();
    ::keyapis::identity::v1::OtpCode_Error* temp = _impl_.reason_.otp_code_;
    _impl_.reason_.otp_code_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginResponse_Error::unsafe_arena_set_allocated_otp_code(::keyapis::identity::v1::OtpCode_Error* otp_code) {
  clear_reason();
  if (otp_code) {
    set_has_otp_code();
    _impl_.reason_.otp_code_ = otp_code;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.otp_code)
}
inline ::keyapis::identity::v1::OtpCode_Error* PostAuthorizationLoginResponse_Error::_internal_mutable_otp_code() {
  if (reason_case() != kOtpCode) {
    clear_reason();
    set_has_otp_code();
    _impl_.reason_.otp_code_ = CreateMaybeMessage< ::keyapis::identity::v1::OtpCode_Error >(GetArenaForAllocation());
  }
  return _impl_.reason_.otp_code_;
}
inline ::keyapis::identity::v1::OtpCode_Error* PostAuthorizationLoginResponse_Error::mutable_otp_code() {
  ::keyapis::identity::v1::OtpCode_Error* _msg = _internal_mutable_otp_code();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.otp_code)
  return _msg;
}

// .keyapis.identity.v1.SsoError sso = 2;
inline bool PostAuthorizationLoginResponse_Error::has_sso() const {
  return reason_case() == kSso;
}
inline bool PostAuthorizationLoginResponse_Error::_internal_has_sso() const {
  return reason_case() == kSso;
}
inline void PostAuthorizationLoginResponse_Error::set_has_sso() {
  _impl_._oneof_case_[0] = kSso;
}
inline void PostAuthorizationLoginResponse_Error::clear_sso() {
  if (reason_case() == kSso) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.sso_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginResponse_Error::release_sso() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationLoginResponse_Error::_internal_sso() const {
  return reason_case() == kSso
      ? *_impl_.reason_.sso_
      : reinterpret_cast<::keyapis::identity::v1::SsoError&>(::keyapis::identity::v1::_SsoError_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationLoginResponse_Error::sso() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.sso)
  return _internal_sso();
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginResponse_Error::unsafe_arena_release_sso() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginResponse_Error::unsafe_arena_set_allocated_sso(::keyapis::identity::v1::SsoError* sso) {
  clear_reason();
  if (sso) {
    set_has_sso();
    _impl_.reason_.sso_ = sso;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.sso)
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginResponse_Error::_internal_mutable_sso() {
  if (reason_case() != kSso) {
    clear_reason();
    set_has_sso();
    _impl_.reason_.sso_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError >(GetArenaForAllocation());
  }
  return _impl_.reason_.sso_;
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginResponse_Error::mutable_sso() {
  ::keyapis::identity::v1::SsoError* _msg = _internal_mutable_sso();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.sso)
  return _msg;
}

// .keyapis.identity.v1.KeyError key = 3;
inline bool PostAuthorizationLoginResponse_Error::has_key() const {
  return reason_case() == kKey;
}
inline bool PostAuthorizationLoginResponse_Error::_internal_has_key() const {
  return reason_case() == kKey;
}
inline void PostAuthorizationLoginResponse_Error::set_has_key() {
  _impl_._oneof_case_[0] = kKey;
}
inline void PostAuthorizationLoginResponse_Error::clear_key() {
  if (reason_case() == kKey) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.key_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginResponse_Error::release_key() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.key)
  if (reason_case() == kKey) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError* temp = _impl_.reason_.key_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.key_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::KeyError& PostAuthorizationLoginResponse_Error::_internal_key() const {
  return reason_case() == kKey
      ? *_impl_.reason_.key_
      : reinterpret_cast<::keyapis::identity::v1::KeyError&>(::keyapis::identity::v1::_KeyError_default_instance_);
}
inline const ::keyapis::identity::v1::KeyError& PostAuthorizationLoginResponse_Error::key() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.key)
  return _internal_key();
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginResponse_Error::unsafe_arena_release_key() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.key)
  if (reason_case() == kKey) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError* temp = _impl_.reason_.key_;
    _impl_.reason_.key_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginResponse_Error::unsafe_arena_set_allocated_key(::keyapis::identity::v1::KeyError* key) {
  clear_reason();
  if (key) {
    set_has_key();
    _impl_.reason_.key_ = key;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.key)
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginResponse_Error::_internal_mutable_key() {
  if (reason_case() != kKey) {
    clear_reason();
    set_has_key();
    _impl_.reason_.key_ = CreateMaybeMessage< ::keyapis::identity::v1::KeyError >(GetArenaForAllocation());
  }
  return _impl_.reason_.key_;
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginResponse_Error::mutable_key() {
  ::keyapis::identity::v1::KeyError* _msg = _internal_mutable_key();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginResponse.Error.key)
  return _msg;
}

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

// PostAuthorizationLoginResponse

// .keyapis.identity.v1.UserToken data = 1;
inline bool PostAuthorizationLoginResponse::has_data() const {
  return type_case() == kData;
}
inline bool PostAuthorizationLoginResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void PostAuthorizationLoginResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void PostAuthorizationLoginResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::UserToken* 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::identity::v1::UserToken& PostAuthorizationLoginResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::identity::v1::UserToken&>(::keyapis::identity::v1::_UserToken_default_instance_);
}
inline const ::keyapis::identity::v1::UserToken& PostAuthorizationLoginResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginResponse.data)
  return _internal_data();
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::UserToken* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginResponse::unsafe_arena_set_allocated_data(::keyapis::identity::v1::UserToken* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginResponse.data)
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::identity::v1::UserToken >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginResponse::mutable_data() {
  ::keyapis::identity::v1::UserToken* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginResponse.data)
  return _msg;
}

// .keyapis.identity.v1.PostAuthorizationLoginResponse.Error error = 2;
inline bool PostAuthorizationLoginResponse::has_error() const {
  return type_case() == kError;
}
inline bool PostAuthorizationLoginResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void PostAuthorizationLoginResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void PostAuthorizationLoginResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* PostAuthorizationLoginResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationLoginResponse_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::identity::v1::PostAuthorizationLoginResponse_Error& PostAuthorizationLoginResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::identity::v1::PostAuthorizationLoginResponse_Error&>(::keyapis::identity::v1::_PostAuthorizationLoginResponse_Error_default_instance_);
}
inline const ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error& PostAuthorizationLoginResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginResponse.error)
  return _internal_error();
}
inline ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* PostAuthorizationLoginResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginResponse::unsafe_arena_set_allocated_error(::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginResponse.error)
}
inline ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* PostAuthorizationLoginResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* PostAuthorizationLoginResponse::mutable_error() {
  ::keyapis::identity::v1::PostAuthorizationLoginResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginResponse.error)
  return _msg;
}

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

// PostAuthorizationLoginByPasswordRequest

// string phone_number = 1;
inline bool PostAuthorizationLoginByPasswordRequest::has_phone_number() const {
  return type_case() == kPhoneNumber;
}
inline void PostAuthorizationLoginByPasswordRequest::set_has_phone_number() {
  _impl_._oneof_case_[0] = kPhoneNumber;
}
inline void PostAuthorizationLoginByPasswordRequest::clear_phone_number() {
  if (type_case() == kPhoneNumber) {
    _impl_.type_.phone_number_.Destroy();
    clear_has_type();
  }
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::phone_number() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.phone_number)
  return _internal_phone_number();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginByPasswordRequest::set_phone_number(Arg_&& arg,
                                                     Args_... args) {
  if (type_case() != kPhoneNumber) {
    clear_type();

    set_has_phone_number();
    _impl_.type_.phone_number_.InitDefault();
  }
  _impl_.type_.phone_number_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.phone_number)
}
inline std::string* PostAuthorizationLoginByPasswordRequest::mutable_phone_number() {
  std::string* _s = _internal_mutable_phone_number();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.phone_number)
  return _s;
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::_internal_phone_number() const {
  if (type_case() != kPhoneNumber) {
    return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.type_.phone_number_.Get();
}
inline void PostAuthorizationLoginByPasswordRequest::_internal_set_phone_number(const std::string& value) {
  if (type_case() != kPhoneNumber) {
    clear_type();

    set_has_phone_number();
    _impl_.type_.phone_number_.InitDefault();
  }


  _impl_.type_.phone_number_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::_internal_mutable_phone_number() {
  if (type_case() != kPhoneNumber) {
    clear_type();

    set_has_phone_number();
    _impl_.type_.phone_number_.InitDefault();
  }
  return _impl_.type_.phone_number_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::release_phone_number() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.phone_number)
  if (type_case() != kPhoneNumber) {
    return nullptr;
  }
  clear_has_type();
  return _impl_.type_.phone_number_.Release();
}
inline void PostAuthorizationLoginByPasswordRequest::set_allocated_phone_number(std::string* value) {
  if (has_type()) {
    clear_type();
  }
  if (value != nullptr) {
    set_has_phone_number();
    _impl_.type_.phone_number_.InitAllocated(value, GetArenaForAllocation());
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.phone_number)
}

// string email = 2;
inline bool PostAuthorizationLoginByPasswordRequest::has_email() const {
  return type_case() == kEmail;
}
inline void PostAuthorizationLoginByPasswordRequest::set_has_email() {
  _impl_._oneof_case_[0] = kEmail;
}
inline void PostAuthorizationLoginByPasswordRequest::clear_email() {
  if (type_case() == kEmail) {
    _impl_.type_.email_.Destroy();
    clear_has_type();
  }
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::email() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.email)
  return _internal_email();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginByPasswordRequest::set_email(Arg_&& arg,
                                                     Args_... args) {
  if (type_case() != kEmail) {
    clear_type();

    set_has_email();
    _impl_.type_.email_.InitDefault();
  }
  _impl_.type_.email_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.email)
}
inline std::string* PostAuthorizationLoginByPasswordRequest::mutable_email() {
  std::string* _s = _internal_mutable_email();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.email)
  return _s;
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::_internal_email() const {
  if (type_case() != kEmail) {
    return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.type_.email_.Get();
}
inline void PostAuthorizationLoginByPasswordRequest::_internal_set_email(const std::string& value) {
  if (type_case() != kEmail) {
    clear_type();

    set_has_email();
    _impl_.type_.email_.InitDefault();
  }


  _impl_.type_.email_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::_internal_mutable_email() {
  if (type_case() != kEmail) {
    clear_type();

    set_has_email();
    _impl_.type_.email_.InitDefault();
  }
  return _impl_.type_.email_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::release_email() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.email)
  if (type_case() != kEmail) {
    return nullptr;
  }
  clear_has_type();
  return _impl_.type_.email_.Release();
}
inline void PostAuthorizationLoginByPasswordRequest::set_allocated_email(std::string* value) {
  if (has_type()) {
    clear_type();
  }
  if (value != nullptr) {
    set_has_email();
    _impl_.type_.email_.InitAllocated(value, GetArenaForAllocation());
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.email)
}

// string login = 3;
inline bool PostAuthorizationLoginByPasswordRequest::has_login() const {
  return type_case() == kLogin;
}
inline void PostAuthorizationLoginByPasswordRequest::set_has_login() {
  _impl_._oneof_case_[0] = kLogin;
}
inline void PostAuthorizationLoginByPasswordRequest::clear_login() {
  if (type_case() == kLogin) {
    _impl_.type_.login_.Destroy();
    clear_has_type();
  }
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::login() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.login)
  return _internal_login();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginByPasswordRequest::set_login(Arg_&& arg,
                                                     Args_... args) {
  if (type_case() != kLogin) {
    clear_type();

    set_has_login();
    _impl_.type_.login_.InitDefault();
  }
  _impl_.type_.login_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.login)
}
inline std::string* PostAuthorizationLoginByPasswordRequest::mutable_login() {
  std::string* _s = _internal_mutable_login();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.login)
  return _s;
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::_internal_login() const {
  if (type_case() != kLogin) {
    return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.type_.login_.Get();
}
inline void PostAuthorizationLoginByPasswordRequest::_internal_set_login(const std::string& value) {
  if (type_case() != kLogin) {
    clear_type();

    set_has_login();
    _impl_.type_.login_.InitDefault();
  }


  _impl_.type_.login_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::_internal_mutable_login() {
  if (type_case() != kLogin) {
    clear_type();

    set_has_login();
    _impl_.type_.login_.InitDefault();
  }
  return _impl_.type_.login_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::release_login() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.login)
  if (type_case() != kLogin) {
    return nullptr;
  }
  clear_has_type();
  return _impl_.type_.login_.Release();
}
inline void PostAuthorizationLoginByPasswordRequest::set_allocated_login(std::string* value) {
  if (has_type()) {
    clear_type();
  }
  if (value != nullptr) {
    set_has_login();
    _impl_.type_.login_.InitAllocated(value, GetArenaForAllocation());
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.login)
}

// string password = 4 [(.google.api.field_behavior) = REQUIRED];
inline void PostAuthorizationLoginByPasswordRequest::clear_password() {
  _impl_.password_.ClearToEmpty();
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::password() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.password)
  return _internal_password();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostAuthorizationLoginByPasswordRequest::set_password(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.password_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.password)
}
inline std::string* PostAuthorizationLoginByPasswordRequest::mutable_password() {
  std::string* _s = _internal_mutable_password();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.password)
  return _s;
}
inline const std::string& PostAuthorizationLoginByPasswordRequest::_internal_password() const {
  return _impl_.password_.Get();
}
inline void PostAuthorizationLoginByPasswordRequest::_internal_set_password(const std::string& value) {
  ;


  _impl_.password_.Set(value, GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::_internal_mutable_password() {
  ;
  return _impl_.password_.Mutable( GetArenaForAllocation());
}
inline std::string* PostAuthorizationLoginByPasswordRequest::release_password() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.password)
  return _impl_.password_.Release();
}
inline void PostAuthorizationLoginByPasswordRequest::set_allocated_password(std::string* value) {
  _impl_.password_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.password_.IsDefault()) {
          _impl_.password_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.password)
}

// .keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];
inline bool PostAuthorizationLoginByPasswordRequest::has_captcha_answer() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.captcha_answer_ != nullptr);
  return value;
}
inline void PostAuthorizationLoginByPasswordRequest::clear_captcha_answer() {
  if (_impl_.captcha_answer_ != nullptr) _impl_.captcha_answer_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::identity::v1::CaptchaAnswer& PostAuthorizationLoginByPasswordRequest::_internal_captcha_answer() const {
  const ::keyapis::identity::v1::CaptchaAnswer* p = _impl_.captcha_answer_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::identity::v1::CaptchaAnswer&>(
      ::keyapis::identity::v1::_CaptchaAnswer_default_instance_);
}
inline const ::keyapis::identity::v1::CaptchaAnswer& PostAuthorizationLoginByPasswordRequest::captcha_answer() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.captcha_answer)
  return _internal_captcha_answer();
}
inline void PostAuthorizationLoginByPasswordRequest::unsafe_arena_set_allocated_captcha_answer(
    ::keyapis::identity::v1::CaptchaAnswer* captcha_answer) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.captcha_answer_);
  }
  _impl_.captcha_answer_ = captcha_answer;
  if (captcha_answer) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.captcha_answer)
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationLoginByPasswordRequest::release_captcha_answer() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::CaptchaAnswer* temp = _impl_.captcha_answer_;
  _impl_.captcha_answer_ = 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::identity::v1::CaptchaAnswer* PostAuthorizationLoginByPasswordRequest::unsafe_arena_release_captcha_answer() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.captcha_answer)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::identity::v1::CaptchaAnswer* temp = _impl_.captcha_answer_;
  _impl_.captcha_answer_ = nullptr;
  return temp;
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationLoginByPasswordRequest::_internal_mutable_captcha_answer() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.captcha_answer_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::identity::v1::CaptchaAnswer>(GetArenaForAllocation());
    _impl_.captcha_answer_ = p;
  }
  return _impl_.captcha_answer_;
}
inline ::keyapis::identity::v1::CaptchaAnswer* PostAuthorizationLoginByPasswordRequest::mutable_captcha_answer() {
  ::keyapis::identity::v1::CaptchaAnswer* _msg = _internal_mutable_captcha_answer();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.captcha_answer)
  return _msg;
}
inline void PostAuthorizationLoginByPasswordRequest::set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer* captcha_answer) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.captcha_answer_;
  }
  if (captcha_answer) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(captcha_answer);
    if (message_arena != submessage_arena) {
      captcha_answer = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, captcha_answer, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.captcha_answer_ = captcha_answer;
  // @@protoc_insertion_point(field_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordRequest.captcha_answer)
}

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

// PostAuthorizationLoginByPasswordResponse_Error

// .keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;
inline bool PostAuthorizationLoginByPasswordResponse_Error::has_captcha_answer() const {
  return reason_case() == kCaptchaAnswer;
}
inline bool PostAuthorizationLoginByPasswordResponse_Error::_internal_has_captcha_answer() const {
  return reason_case() == kCaptchaAnswer;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::set_has_captcha_answer() {
  _impl_._oneof_case_[0] = kCaptchaAnswer;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::clear_captcha_answer() {
  if (reason_case() == kCaptchaAnswer) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.captcha_answer_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationLoginByPasswordResponse_Error::release_captcha_answer() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.captcha_answer)
  if (reason_case() == kCaptchaAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error* temp = _impl_.reason_.captcha_answer_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.captcha_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error& PostAuthorizationLoginByPasswordResponse_Error::_internal_captcha_answer() const {
  return reason_case() == kCaptchaAnswer
      ? *_impl_.reason_.captcha_answer_
      : reinterpret_cast<::keyapis::identity::v1::CaptchaAnswer_Error&>(::keyapis::identity::v1::_CaptchaAnswer_Error_default_instance_);
}
inline const ::keyapis::identity::v1::CaptchaAnswer_Error& PostAuthorizationLoginByPasswordResponse_Error::captcha_answer() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.captcha_answer)
  return _internal_captcha_answer();
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_release_captcha_answer() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.captcha_answer)
  if (reason_case() == kCaptchaAnswer) {
    clear_has_reason();
    ::keyapis::identity::v1::CaptchaAnswer_Error* temp = _impl_.reason_.captcha_answer_;
    _impl_.reason_.captcha_answer_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_set_allocated_captcha_answer(::keyapis::identity::v1::CaptchaAnswer_Error* captcha_answer) {
  clear_reason();
  if (captcha_answer) {
    set_has_captcha_answer();
    _impl_.reason_.captcha_answer_ = captcha_answer;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.captcha_answer)
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationLoginByPasswordResponse_Error::_internal_mutable_captcha_answer() {
  if (reason_case() != kCaptchaAnswer) {
    clear_reason();
    set_has_captcha_answer();
    _impl_.reason_.captcha_answer_ = CreateMaybeMessage< ::keyapis::identity::v1::CaptchaAnswer_Error >(GetArenaForAllocation());
  }
  return _impl_.reason_.captcha_answer_;
}
inline ::keyapis::identity::v1::CaptchaAnswer_Error* PostAuthorizationLoginByPasswordResponse_Error::mutable_captcha_answer() {
  ::keyapis::identity::v1::CaptchaAnswer_Error* _msg = _internal_mutable_captcha_answer();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.captcha_answer)
  return _msg;
}

// .keyapis.identity.v1.SsoError sso = 2;
inline bool PostAuthorizationLoginByPasswordResponse_Error::has_sso() const {
  return reason_case() == kSso;
}
inline bool PostAuthorizationLoginByPasswordResponse_Error::_internal_has_sso() const {
  return reason_case() == kSso;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::set_has_sso() {
  _impl_._oneof_case_[0] = kSso;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::clear_sso() {
  if (reason_case() == kSso) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.sso_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginByPasswordResponse_Error::release_sso() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationLoginByPasswordResponse_Error::_internal_sso() const {
  return reason_case() == kSso
      ? *_impl_.reason_.sso_
      : reinterpret_cast<::keyapis::identity::v1::SsoError&>(::keyapis::identity::v1::_SsoError_default_instance_);
}
inline const ::keyapis::identity::v1::SsoError& PostAuthorizationLoginByPasswordResponse_Error::sso() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.sso)
  return _internal_sso();
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_release_sso() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.sso)
  if (reason_case() == kSso) {
    clear_has_reason();
    ::keyapis::identity::v1::SsoError* temp = _impl_.reason_.sso_;
    _impl_.reason_.sso_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_set_allocated_sso(::keyapis::identity::v1::SsoError* sso) {
  clear_reason();
  if (sso) {
    set_has_sso();
    _impl_.reason_.sso_ = sso;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.sso)
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginByPasswordResponse_Error::_internal_mutable_sso() {
  if (reason_case() != kSso) {
    clear_reason();
    set_has_sso();
    _impl_.reason_.sso_ = CreateMaybeMessage< ::keyapis::identity::v1::SsoError >(GetArenaForAllocation());
  }
  return _impl_.reason_.sso_;
}
inline ::keyapis::identity::v1::SsoError* PostAuthorizationLoginByPasswordResponse_Error::mutable_sso() {
  ::keyapis::identity::v1::SsoError* _msg = _internal_mutable_sso();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.sso)
  return _msg;
}

// .keyapis.identity.v1.KeyError key = 3;
inline bool PostAuthorizationLoginByPasswordResponse_Error::has_key() const {
  return reason_case() == kKey;
}
inline bool PostAuthorizationLoginByPasswordResponse_Error::_internal_has_key() const {
  return reason_case() == kKey;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::set_has_key() {
  _impl_._oneof_case_[0] = kKey;
}
inline void PostAuthorizationLoginByPasswordResponse_Error::clear_key() {
  if (reason_case() == kKey) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.key_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginByPasswordResponse_Error::release_key() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.key)
  if (reason_case() == kKey) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError* temp = _impl_.reason_.key_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.key_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::identity::v1::KeyError& PostAuthorizationLoginByPasswordResponse_Error::_internal_key() const {
  return reason_case() == kKey
      ? *_impl_.reason_.key_
      : reinterpret_cast<::keyapis::identity::v1::KeyError&>(::keyapis::identity::v1::_KeyError_default_instance_);
}
inline const ::keyapis::identity::v1::KeyError& PostAuthorizationLoginByPasswordResponse_Error::key() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.key)
  return _internal_key();
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_release_key() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.key)
  if (reason_case() == kKey) {
    clear_has_reason();
    ::keyapis::identity::v1::KeyError* temp = _impl_.reason_.key_;
    _impl_.reason_.key_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginByPasswordResponse_Error::unsafe_arena_set_allocated_key(::keyapis::identity::v1::KeyError* key) {
  clear_reason();
  if (key) {
    set_has_key();
    _impl_.reason_.key_ = key;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.key)
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginByPasswordResponse_Error::_internal_mutable_key() {
  if (reason_case() != kKey) {
    clear_reason();
    set_has_key();
    _impl_.reason_.key_ = CreateMaybeMessage< ::keyapis::identity::v1::KeyError >(GetArenaForAllocation());
  }
  return _impl_.reason_.key_;
}
inline ::keyapis::identity::v1::KeyError* PostAuthorizationLoginByPasswordResponse_Error::mutable_key() {
  ::keyapis::identity::v1::KeyError* _msg = _internal_mutable_key();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error.key)
  return _msg;
}

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

// PostAuthorizationLoginByPasswordResponse

// .keyapis.identity.v1.UserToken data = 1;
inline bool PostAuthorizationLoginByPasswordResponse::has_data() const {
  return type_case() == kData;
}
inline bool PostAuthorizationLoginByPasswordResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void PostAuthorizationLoginByPasswordResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void PostAuthorizationLoginByPasswordResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginByPasswordResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::UserToken* 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::identity::v1::UserToken& PostAuthorizationLoginByPasswordResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::identity::v1::UserToken&>(::keyapis::identity::v1::_UserToken_default_instance_);
}
inline const ::keyapis::identity::v1::UserToken& PostAuthorizationLoginByPasswordResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.data)
  return _internal_data();
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginByPasswordResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::identity::v1::UserToken* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginByPasswordResponse::unsafe_arena_set_allocated_data(::keyapis::identity::v1::UserToken* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.data)
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginByPasswordResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::identity::v1::UserToken >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::identity::v1::UserToken* PostAuthorizationLoginByPasswordResponse::mutable_data() {
  ::keyapis::identity::v1::UserToken* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.data)
  return _msg;
}

// .keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.Error error = 2;
inline bool PostAuthorizationLoginByPasswordResponse::has_error() const {
  return type_case() == kError;
}
inline bool PostAuthorizationLoginByPasswordResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void PostAuthorizationLoginByPasswordResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void PostAuthorizationLoginByPasswordResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* PostAuthorizationLoginByPasswordResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_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::identity::v1::PostAuthorizationLoginByPasswordResponse_Error& PostAuthorizationLoginByPasswordResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error&>(::keyapis::identity::v1::_PostAuthorizationLoginByPasswordResponse_Error_default_instance_);
}
inline const ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error& PostAuthorizationLoginByPasswordResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.error)
  return _internal_error();
}
inline ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* PostAuthorizationLoginByPasswordResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostAuthorizationLoginByPasswordResponse::unsafe_arena_set_allocated_error(::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.error)
}
inline ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* PostAuthorizationLoginByPasswordResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* PostAuthorizationLoginByPasswordResponse::mutable_error() {
  ::keyapis::identity::v1::PostAuthorizationLoginByPasswordResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.identity.v1.PostAuthorizationLoginByPasswordResponse.error)
  return _msg;
}

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

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


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fidentity_2fv1_2fkeyapis_5fidentity_5fauthorization_5fv1_2eproto_2epb_2eh
