// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: deviceapis/device/v1/deviceapis_device_user_v1.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_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 "protoc-gen-openapiv2/options/annotations.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto

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

// Internal implementation detail -- do not use these members.
struct TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace deviceapis {
namespace device {
namespace v1 {
class DeleteUserRequest;
struct DeleteUserRequestDefaultTypeInternal;
extern DeleteUserRequestDefaultTypeInternal _DeleteUserRequest_default_instance_;
class DeleteUserResponse;
struct DeleteUserResponseDefaultTypeInternal;
extern DeleteUserResponseDefaultTypeInternal _DeleteUserResponse_default_instance_;
class GetUserListRequest;
struct GetUserListRequestDefaultTypeInternal;
extern GetUserListRequestDefaultTypeInternal _GetUserListRequest_default_instance_;
class GetUserListResponse;
struct GetUserListResponseDefaultTypeInternal;
extern GetUserListResponseDefaultTypeInternal _GetUserListResponse_default_instance_;
class PostUserNameReplaceRequest;
struct PostUserNameReplaceRequestDefaultTypeInternal;
extern PostUserNameReplaceRequestDefaultTypeInternal _PostUserNameReplaceRequest_default_instance_;
class PostUserNameReplaceRequest_ReplaceTo;
struct PostUserNameReplaceRequest_ReplaceToDefaultTypeInternal;
extern PostUserNameReplaceRequest_ReplaceToDefaultTypeInternal _PostUserNameReplaceRequest_ReplaceTo_default_instance_;
class PostUserNameReplaceResponse;
struct PostUserNameReplaceResponseDefaultTypeInternal;
extern PostUserNameReplaceResponseDefaultTypeInternal _PostUserNameReplaceResponse_default_instance_;
class PostUserPasswordReplaceRequest;
struct PostUserPasswordReplaceRequestDefaultTypeInternal;
extern PostUserPasswordReplaceRequestDefaultTypeInternal _PostUserPasswordReplaceRequest_default_instance_;
class PostUserPasswordReplaceRequest_ReplaceTo;
struct PostUserPasswordReplaceRequest_ReplaceToDefaultTypeInternal;
extern PostUserPasswordReplaceRequest_ReplaceToDefaultTypeInternal _PostUserPasswordReplaceRequest_ReplaceTo_default_instance_;
class PostUserPasswordReplaceResponse;
struct PostUserPasswordReplaceResponseDefaultTypeInternal;
extern PostUserPasswordReplaceResponseDefaultTypeInternal _PostUserPasswordReplaceResponse_default_instance_;
class PostUserPermissionReplaceRequest;
struct PostUserPermissionReplaceRequestDefaultTypeInternal;
extern PostUserPermissionReplaceRequestDefaultTypeInternal _PostUserPermissionReplaceRequest_default_instance_;
class PostUserPermissionReplaceRequest_ReplaceTo;
struct PostUserPermissionReplaceRequest_ReplaceToDefaultTypeInternal;
extern PostUserPermissionReplaceRequest_ReplaceToDefaultTypeInternal _PostUserPermissionReplaceRequest_ReplaceTo_default_instance_;
class PostUserPermissionReplaceResponse;
struct PostUserPermissionReplaceResponseDefaultTypeInternal;
extern PostUserPermissionReplaceResponseDefaultTypeInternal _PostUserPermissionReplaceResponse_default_instance_;
class SaveUserRequest;
struct SaveUserRequestDefaultTypeInternal;
extern SaveUserRequestDefaultTypeInternal _SaveUserRequest_default_instance_;
class SaveUserResponse;
struct SaveUserResponseDefaultTypeInternal;
extern SaveUserResponseDefaultTypeInternal _SaveUserResponse_default_instance_;
class User;
struct UserDefaultTypeInternal;
extern UserDefaultTypeInternal _User_default_instance_;
class User_Permission;
struct User_PermissionDefaultTypeInternal;
extern User_PermissionDefaultTypeInternal _User_Permission_default_instance_;
}  // namespace v1
}  // namespace device
}  // namespace deviceapis
PROTOBUF_NAMESPACE_OPEN
template <>
::deviceapis::device::v1::DeleteUserRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::DeleteUserRequest>(Arena*);
template <>
::deviceapis::device::v1::DeleteUserResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::DeleteUserResponse>(Arena*);
template <>
::deviceapis::device::v1::GetUserListRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::GetUserListRequest>(Arena*);
template <>
::deviceapis::device::v1::GetUserListResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::GetUserListResponse>(Arena*);
template <>
::deviceapis::device::v1::PostUserNameReplaceRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserNameReplaceRequest>(Arena*);
template <>
::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo>(Arena*);
template <>
::deviceapis::device::v1::PostUserNameReplaceResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserNameReplaceResponse>(Arena*);
template <>
::deviceapis::device::v1::PostUserPasswordReplaceRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPasswordReplaceRequest>(Arena*);
template <>
::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo>(Arena*);
template <>
::deviceapis::device::v1::PostUserPasswordReplaceResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPasswordReplaceResponse>(Arena*);
template <>
::deviceapis::device::v1::PostUserPermissionReplaceRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPermissionReplaceRequest>(Arena*);
template <>
::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo>(Arena*);
template <>
::deviceapis::device::v1::PostUserPermissionReplaceResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::PostUserPermissionReplaceResponse>(Arena*);
template <>
::deviceapis::device::v1::SaveUserRequest* Arena::CreateMaybeMessage<::deviceapis::device::v1::SaveUserRequest>(Arena*);
template <>
::deviceapis::device::v1::SaveUserResponse* Arena::CreateMaybeMessage<::deviceapis::device::v1::SaveUserResponse>(Arena*);
template <>
::deviceapis::device::v1::User* Arena::CreateMaybeMessage<::deviceapis::device::v1::User>(Arena*);
template <>
::deviceapis::device::v1::User_Permission* Arena::CreateMaybeMessage<::deviceapis::device::v1::User_Permission>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace deviceapis {
namespace device {
namespace v1 {

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


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

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kUsernameFieldNumber = 1,
  };
  // string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_username() ;
  const std::string& username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  std::string* mutable_username();
  PROTOBUF_NODISCARD std::string* release_username();
  void set_allocated_username(std::string* ptr);

  private:
  const std::string& _internal_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_username(
      const std::string& value);
  std::string* _internal_mutable_username();

  public:
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.DeleteUserRequest)
 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 username_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.DeleteUserResponse)
 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_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.GetUserListRequest)
 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_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // repeated .deviceapis.device.v1.User data = 1;
  int data_size() const;
  private:
  int _internal_data_size() const;

  public:
  void clear_data() ;
  ::deviceapis::device::v1::User* mutable_data(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User >*
      mutable_data();
  private:
  const ::deviceapis::device::v1::User& _internal_data(int index) const;
  ::deviceapis::device::v1::User* _internal_add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User>& _internal_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User>* _internal_mutable_data();
  public:
  const ::deviceapis::device::v1::User& data(int index) const;
  ::deviceapis::device::v1::User* add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User >&
      data() const;
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.GetUserListResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User > data_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo";
  }
  protected:
  explicit PostUserNameReplaceRequest_ReplaceTo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kTargetUsernameFieldNumber = 1,
  };
  // string target_username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_target_username() ;
  const std::string& target_username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_target_username(Arg_&& arg, Args_... args);
  std::string* mutable_target_username();
  PROTOBUF_NODISCARD std::string* release_target_username();
  void set_allocated_target_username(std::string* ptr);

  private:
  const std::string& _internal_target_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_target_username(
      const std::string& value);
  std::string* _internal_mutable_target_username();

  public:
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo)
 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 target_username_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostUserNameReplaceRequest_ReplaceTo ReplaceTo;

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

  enum : int {
    kUsernameFieldNumber = 1,
    kDataFieldNumber = 2,
  };
  // string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_username() ;
  const std::string& username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  std::string* mutable_username();
  PROTOBUF_NODISCARD std::string* release_username();
  void set_allocated_username(std::string* ptr);

  private:
  const std::string& _internal_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_username(
      const std::string& value);
  std::string* _internal_mutable_username();

  public:
  // .deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo& data() const;
  PROTOBUF_NODISCARD ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* release_data();
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* mutable_data();
  void set_allocated_data(::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* data);
  private:
  const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo& _internal_data() const;
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* data);
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserNameReplaceRequest)
 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 username_;
    ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserNameReplaceResponse)
 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_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo";
  }
  protected:
  explicit PostUserPasswordReplaceRequest_ReplaceTo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPasswordFieldNumber = 1,
  };
  // string password = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  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:
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo)
 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 password_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostUserPasswordReplaceRequest_ReplaceTo ReplaceTo;

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

  enum : int {
    kUsernameFieldNumber = 1,
    kDataFieldNumber = 2,
  };
  // string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_username() ;
  const std::string& username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  std::string* mutable_username();
  PROTOBUF_NODISCARD std::string* release_username();
  void set_allocated_username(std::string* ptr);

  private:
  const std::string& _internal_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_username(
      const std::string& value);
  std::string* _internal_mutable_username();

  public:
  // .deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo& data() const;
  PROTOBUF_NODISCARD ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* release_data();
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* mutable_data();
  void set_allocated_data(::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* data);
  private:
  const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo& _internal_data() const;
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* data);
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPasswordReplaceRequest)
 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 username_;
    ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPasswordReplaceResponse)
 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_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo";
  }
  protected:
  explicit PostUserPermissionReplaceRequest_ReplaceTo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPermissionFieldNumber = 1,
  };
  // repeated .deviceapis.device.v1.User.Permission permission = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  int permission_size() const;
  private:
  int _internal_permission_size() const;

  public:
  void clear_permission() ;
  ::deviceapis::device::v1::User_Permission* mutable_permission(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >*
      mutable_permission();
  private:
  const ::deviceapis::device::v1::User_Permission& _internal_permission(int index) const;
  ::deviceapis::device::v1::User_Permission* _internal_add_permission();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>& _internal_permission() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>* _internal_mutable_permission();
  public:
  const ::deviceapis::device::v1::User_Permission& permission(int index) const;
  ::deviceapis::device::v1::User_Permission* add_permission();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >&
      permission() const;
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission > permission_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef PostUserPermissionReplaceRequest_ReplaceTo ReplaceTo;

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

  enum : int {
    kUsernameFieldNumber = 1,
    kDataFieldNumber = 2,
  };
  // string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_username() ;
  const std::string& username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  std::string* mutable_username();
  PROTOBUF_NODISCARD std::string* release_username();
  void set_allocated_username(std::string* ptr);

  private:
  const std::string& _internal_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_username(
      const std::string& value);
  std::string* _internal_mutable_username();

  public:
  // .deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo& data() const;
  PROTOBUF_NODISCARD ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* release_data();
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* mutable_data();
  void set_allocated_data(::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* data);
  private:
  const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo& _internal_data() const;
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* data);
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPermissionReplaceRequest)
 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 username_;
    ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.PostUserPermissionReplaceResponse)
 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_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .deviceapis.device.v1.User data = 1 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::deviceapis::device::v1::User& data() const;
  PROTOBUF_NODISCARD ::deviceapis::device::v1::User* release_data();
  ::deviceapis::device::v1::User* mutable_data();
  void set_allocated_data(::deviceapis::device::v1::User* data);
  private:
  const ::deviceapis::device::v1::User& _internal_data() const;
  ::deviceapis::device::v1::User* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::deviceapis::device::v1::User* data);
  ::deviceapis::device::v1::User* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.SaveUserRequest)
 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_;
    ::deviceapis::device::v1::User* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

  static inline const SaveUserResponse* internal_default_instance() {
    return reinterpret_cast<const SaveUserResponse*>(
               &_SaveUserResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

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

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

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

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .deviceapis.device.v1.User data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

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

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

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

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

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

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

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

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

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

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

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "deviceapis.device.v1.User.Permission";
  }
  protected:
  explicit User_Permission(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kPermissionNameFieldNumber = 1,
    kIsEnabledFieldNumber = 2,
  };
  // string permission_name = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_permission_name() ;
  const std::string& permission_name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_permission_name(Arg_&& arg, Args_... args);
  std::string* mutable_permission_name();
  PROTOBUF_NODISCARD std::string* release_permission_name();
  void set_allocated_permission_name(std::string* ptr);

  private:
  const std::string& _internal_permission_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_permission_name(
      const std::string& value);
  std::string* _internal_mutable_permission_name();

  public:
  // bool is_enabled = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_is_enabled() ;
  bool is_enabled() const;
  void set_is_enabled(bool value);

  private:
  bool _internal_is_enabled() const;
  void _internal_set_is_enabled(bool value);

  public:
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.User.Permission)
 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 permission_name_;
    bool is_enabled_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

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

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

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

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

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

  std::string GetTypeName() const final;

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

  typedef User_Permission Permission;

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

  enum : int {
    kPermissionFieldNumber = 3,
    kUsernameFieldNumber = 1,
    kPasswordFieldNumber = 2,
  };
  // repeated .deviceapis.device.v1.User.Permission permission = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  int permission_size() const;
  private:
  int _internal_permission_size() const;

  public:
  void clear_permission() ;
  ::deviceapis::device::v1::User_Permission* mutable_permission(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >*
      mutable_permission();
  private:
  const ::deviceapis::device::v1::User_Permission& _internal_permission(int index) const;
  ::deviceapis::device::v1::User_Permission* _internal_add_permission();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>& _internal_permission() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>* _internal_mutable_permission();
  public:
  const ::deviceapis::device::v1::User_Permission& permission(int index) const;
  ::deviceapis::device::v1::User_Permission* add_permission();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >&
      permission() const;
  // string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  void clear_username() ;
  const std::string& username() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_username(Arg_&& arg, Args_... args);
  std::string* mutable_username();
  PROTOBUF_NODISCARD std::string* release_username();
  void set_allocated_username(std::string* ptr);

  private:
  const std::string& _internal_username() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_username(
      const std::string& value);
  std::string* _internal_mutable_username();

  public:
  // string password = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
  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:
  // @@protoc_insertion_point(class_scope:deviceapis.device.v1.User)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission > permission_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr username_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr password_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto;
};

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




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


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

// DeleteUserRequest

// string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void DeleteUserRequest::clear_username() {
  _impl_.username_.ClearToEmpty();
}
inline const std::string& DeleteUserRequest::username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.DeleteUserRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void DeleteUserRequest::set_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.DeleteUserRequest.username)
}
inline std::string* DeleteUserRequest::mutable_username() {
  std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.DeleteUserRequest.username)
  return _s;
}
inline const std::string& DeleteUserRequest::_internal_username() const {
  return _impl_.username_.Get();
}
inline void DeleteUserRequest::_internal_set_username(const std::string& value) {
  ;


  _impl_.username_.Set(value, GetArenaForAllocation());
}
inline std::string* DeleteUserRequest::_internal_mutable_username() {
  ;
  return _impl_.username_.Mutable( GetArenaForAllocation());
}
inline std::string* DeleteUserRequest::release_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.DeleteUserRequest.username)
  return _impl_.username_.Release();
}
inline void DeleteUserRequest::set_allocated_username(std::string* value) {
  _impl_.username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.username_.IsDefault()) {
          _impl_.username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.DeleteUserRequest.username)
}

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

// DeleteUserResponse

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

// GetUserListRequest

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

// GetUserListResponse

// repeated .deviceapis.device.v1.User data = 1;
inline int GetUserListResponse::_internal_data_size() const {
  return _impl_.data_.size();
}
inline int GetUserListResponse::data_size() const {
  return _internal_data_size();
}
inline void GetUserListResponse::clear_data() {
  _internal_mutable_data()->Clear();
}
inline ::deviceapis::device::v1::User* GetUserListResponse::mutable_data(int index) {
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.GetUserListResponse.data)
  return _internal_mutable_data()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User >*
GetUserListResponse::mutable_data() {
  // @@protoc_insertion_point(field_mutable_list:deviceapis.device.v1.GetUserListResponse.data)
  return _internal_mutable_data();
}
inline const ::deviceapis::device::v1::User& GetUserListResponse::_internal_data(int index) const {
  return _internal_data().Get(index);
}
inline const ::deviceapis::device::v1::User& GetUserListResponse::data(int index) const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.GetUserListResponse.data)
  return _internal_data(index);
}
inline ::deviceapis::device::v1::User* GetUserListResponse::_internal_add_data() {
  return _internal_mutable_data()->Add();
}
inline ::deviceapis::device::v1::User* GetUserListResponse::add_data() {
  ::deviceapis::device::v1::User* _add = _internal_add_data();
  // @@protoc_insertion_point(field_add:deviceapis.device.v1.GetUserListResponse.data)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User >&
GetUserListResponse::data() const {
  // @@protoc_insertion_point(field_list:deviceapis.device.v1.GetUserListResponse.data)
  return _internal_data();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User>&
GetUserListResponse::_internal_data() const {
  return _impl_.data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User>*
GetUserListResponse::_internal_mutable_data() {
  return &_impl_.data_;
}

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

// PostUserNameReplaceRequest_ReplaceTo

// string target_username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void PostUserNameReplaceRequest_ReplaceTo::clear_target_username() {
  _impl_.target_username_.ClearToEmpty();
}
inline const std::string& PostUserNameReplaceRequest_ReplaceTo::target_username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo.target_username)
  return _internal_target_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostUserNameReplaceRequest_ReplaceTo::set_target_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.target_username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo.target_username)
}
inline std::string* PostUserNameReplaceRequest_ReplaceTo::mutable_target_username() {
  std::string* _s = _internal_mutable_target_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo.target_username)
  return _s;
}
inline const std::string& PostUserNameReplaceRequest_ReplaceTo::_internal_target_username() const {
  return _impl_.target_username_.Get();
}
inline void PostUserNameReplaceRequest_ReplaceTo::_internal_set_target_username(const std::string& value) {
  ;


  _impl_.target_username_.Set(value, GetArenaForAllocation());
}
inline std::string* PostUserNameReplaceRequest_ReplaceTo::_internal_mutable_target_username() {
  ;
  return _impl_.target_username_.Mutable( GetArenaForAllocation());
}
inline std::string* PostUserNameReplaceRequest_ReplaceTo::release_target_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo.target_username)
  return _impl_.target_username_.Release();
}
inline void PostUserNameReplaceRequest_ReplaceTo::set_allocated_target_username(std::string* value) {
  _impl_.target_username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.target_username_.IsDefault()) {
          _impl_.target_username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo.target_username)
}

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

// PostUserNameReplaceRequest

// string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void PostUserNameReplaceRequest::clear_username() {
  _impl_.username_.ClearToEmpty();
}
inline const std::string& PostUserNameReplaceRequest::username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserNameReplaceRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostUserNameReplaceRequest::set_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.PostUserNameReplaceRequest.username)
}
inline std::string* PostUserNameReplaceRequest::mutable_username() {
  std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserNameReplaceRequest.username)
  return _s;
}
inline const std::string& PostUserNameReplaceRequest::_internal_username() const {
  return _impl_.username_.Get();
}
inline void PostUserNameReplaceRequest::_internal_set_username(const std::string& value) {
  ;


  _impl_.username_.Set(value, GetArenaForAllocation());
}
inline std::string* PostUserNameReplaceRequest::_internal_mutable_username() {
  ;
  return _impl_.username_.Mutable( GetArenaForAllocation());
}
inline std::string* PostUserNameReplaceRequest::release_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserNameReplaceRequest.username)
  return _impl_.username_.Release();
}
inline void PostUserNameReplaceRequest::set_allocated_username(std::string* value) {
  _impl_.username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.username_.IsDefault()) {
          _impl_.username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserNameReplaceRequest.username)
}

// .deviceapis.device.v1.PostUserNameReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool PostUserNameReplaceRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostUserNameReplaceRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo& PostUserNameReplaceRequest::_internal_data() const {
  const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo&>(
      ::deviceapis::device::v1::_PostUserNameReplaceRequest_ReplaceTo_default_instance_);
}
inline const ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo& PostUserNameReplaceRequest::data() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserNameReplaceRequest.data)
  return _internal_data();
}
inline void PostUserNameReplaceRequest::unsafe_arena_set_allocated_data(
    ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:deviceapis.device.v1.PostUserNameReplaceRequest.data)
}
inline ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* PostUserNameReplaceRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = 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 ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* PostUserNameReplaceRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserNameReplaceRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* PostUserNameReplaceRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* PostUserNameReplaceRequest::mutable_data() {
  ::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserNameReplaceRequest.data)
  return _msg;
}
inline void PostUserNameReplaceRequest::set_allocated_data(::deviceapis::device::v1::PostUserNameReplaceRequest_ReplaceTo* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserNameReplaceRequest.data)
}

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

// PostUserNameReplaceResponse

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

// PostUserPasswordReplaceRequest_ReplaceTo

// string password = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void PostUserPasswordReplaceRequest_ReplaceTo::clear_password() {
  _impl_.password_.ClearToEmpty();
}
inline const std::string& PostUserPasswordReplaceRequest_ReplaceTo::password() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo.password)
  return _internal_password();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostUserPasswordReplaceRequest_ReplaceTo::set_password(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.password_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo.password)
}
inline std::string* PostUserPasswordReplaceRequest_ReplaceTo::mutable_password() {
  std::string* _s = _internal_mutable_password();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo.password)
  return _s;
}
inline const std::string& PostUserPasswordReplaceRequest_ReplaceTo::_internal_password() const {
  return _impl_.password_.Get();
}
inline void PostUserPasswordReplaceRequest_ReplaceTo::_internal_set_password(const std::string& value) {
  ;


  _impl_.password_.Set(value, GetArenaForAllocation());
}
inline std::string* PostUserPasswordReplaceRequest_ReplaceTo::_internal_mutable_password() {
  ;
  return _impl_.password_.Mutable( GetArenaForAllocation());
}
inline std::string* PostUserPasswordReplaceRequest_ReplaceTo::release_password() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo.password)
  return _impl_.password_.Release();
}
inline void PostUserPasswordReplaceRequest_ReplaceTo::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:deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo.password)
}

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

// PostUserPasswordReplaceRequest

// string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void PostUserPasswordReplaceRequest::clear_username() {
  _impl_.username_.ClearToEmpty();
}
inline const std::string& PostUserPasswordReplaceRequest::username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPasswordReplaceRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostUserPasswordReplaceRequest::set_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.PostUserPasswordReplaceRequest.username)
}
inline std::string* PostUserPasswordReplaceRequest::mutable_username() {
  std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPasswordReplaceRequest.username)
  return _s;
}
inline const std::string& PostUserPasswordReplaceRequest::_internal_username() const {
  return _impl_.username_.Get();
}
inline void PostUserPasswordReplaceRequest::_internal_set_username(const std::string& value) {
  ;


  _impl_.username_.Set(value, GetArenaForAllocation());
}
inline std::string* PostUserPasswordReplaceRequest::_internal_mutable_username() {
  ;
  return _impl_.username_.Mutable( GetArenaForAllocation());
}
inline std::string* PostUserPasswordReplaceRequest::release_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserPasswordReplaceRequest.username)
  return _impl_.username_.Release();
}
inline void PostUserPasswordReplaceRequest::set_allocated_username(std::string* value) {
  _impl_.username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.username_.IsDefault()) {
          _impl_.username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserPasswordReplaceRequest.username)
}

// .deviceapis.device.v1.PostUserPasswordReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool PostUserPasswordReplaceRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostUserPasswordReplaceRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo& PostUserPasswordReplaceRequest::_internal_data() const {
  const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo&>(
      ::deviceapis::device::v1::_PostUserPasswordReplaceRequest_ReplaceTo_default_instance_);
}
inline const ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo& PostUserPasswordReplaceRequest::data() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPasswordReplaceRequest.data)
  return _internal_data();
}
inline void PostUserPasswordReplaceRequest::unsafe_arena_set_allocated_data(
    ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:deviceapis.device.v1.PostUserPasswordReplaceRequest.data)
}
inline ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* PostUserPasswordReplaceRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = 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 ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* PostUserPasswordReplaceRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserPasswordReplaceRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* PostUserPasswordReplaceRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* PostUserPasswordReplaceRequest::mutable_data() {
  ::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPasswordReplaceRequest.data)
  return _msg;
}
inline void PostUserPasswordReplaceRequest::set_allocated_data(::deviceapis::device::v1::PostUserPasswordReplaceRequest_ReplaceTo* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserPasswordReplaceRequest.data)
}

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

// PostUserPasswordReplaceResponse

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

// PostUserPermissionReplaceRequest_ReplaceTo

// repeated .deviceapis.device.v1.User.Permission permission = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline int PostUserPermissionReplaceRequest_ReplaceTo::_internal_permission_size() const {
  return _impl_.permission_.size();
}
inline int PostUserPermissionReplaceRequest_ReplaceTo::permission_size() const {
  return _internal_permission_size();
}
inline void PostUserPermissionReplaceRequest_ReplaceTo::clear_permission() {
  _internal_mutable_permission()->Clear();
}
inline ::deviceapis::device::v1::User_Permission* PostUserPermissionReplaceRequest_ReplaceTo::mutable_permission(int index) {
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo.permission)
  return _internal_mutable_permission()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >*
PostUserPermissionReplaceRequest_ReplaceTo::mutable_permission() {
  // @@protoc_insertion_point(field_mutable_list:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo.permission)
  return _internal_mutable_permission();
}
inline const ::deviceapis::device::v1::User_Permission& PostUserPermissionReplaceRequest_ReplaceTo::_internal_permission(int index) const {
  return _internal_permission().Get(index);
}
inline const ::deviceapis::device::v1::User_Permission& PostUserPermissionReplaceRequest_ReplaceTo::permission(int index) const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo.permission)
  return _internal_permission(index);
}
inline ::deviceapis::device::v1::User_Permission* PostUserPermissionReplaceRequest_ReplaceTo::_internal_add_permission() {
  return _internal_mutable_permission()->Add();
}
inline ::deviceapis::device::v1::User_Permission* PostUserPermissionReplaceRequest_ReplaceTo::add_permission() {
  ::deviceapis::device::v1::User_Permission* _add = _internal_add_permission();
  // @@protoc_insertion_point(field_add:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo.permission)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >&
PostUserPermissionReplaceRequest_ReplaceTo::permission() const {
  // @@protoc_insertion_point(field_list:deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo.permission)
  return _internal_permission();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>&
PostUserPermissionReplaceRequest_ReplaceTo::_internal_permission() const {
  return _impl_.permission_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>*
PostUserPermissionReplaceRequest_ReplaceTo::_internal_mutable_permission() {
  return &_impl_.permission_;
}

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

// PostUserPermissionReplaceRequest

// string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void PostUserPermissionReplaceRequest::clear_username() {
  _impl_.username_.ClearToEmpty();
}
inline const std::string& PostUserPermissionReplaceRequest::username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPermissionReplaceRequest.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostUserPermissionReplaceRequest::set_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.PostUserPermissionReplaceRequest.username)
}
inline std::string* PostUserPermissionReplaceRequest::mutable_username() {
  std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPermissionReplaceRequest.username)
  return _s;
}
inline const std::string& PostUserPermissionReplaceRequest::_internal_username() const {
  return _impl_.username_.Get();
}
inline void PostUserPermissionReplaceRequest::_internal_set_username(const std::string& value) {
  ;


  _impl_.username_.Set(value, GetArenaForAllocation());
}
inline std::string* PostUserPermissionReplaceRequest::_internal_mutable_username() {
  ;
  return _impl_.username_.Mutable( GetArenaForAllocation());
}
inline std::string* PostUserPermissionReplaceRequest::release_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserPermissionReplaceRequest.username)
  return _impl_.username_.Release();
}
inline void PostUserPermissionReplaceRequest::set_allocated_username(std::string* value) {
  _impl_.username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.username_.IsDefault()) {
          _impl_.username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserPermissionReplaceRequest.username)
}

// .deviceapis.device.v1.PostUserPermissionReplaceRequest.ReplaceTo data = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool PostUserPermissionReplaceRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostUserPermissionReplaceRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo& PostUserPermissionReplaceRequest::_internal_data() const {
  const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo&>(
      ::deviceapis::device::v1::_PostUserPermissionReplaceRequest_ReplaceTo_default_instance_);
}
inline const ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo& PostUserPermissionReplaceRequest::data() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.PostUserPermissionReplaceRequest.data)
  return _internal_data();
}
inline void PostUserPermissionReplaceRequest::unsafe_arena_set_allocated_data(
    ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:deviceapis.device.v1.PostUserPermissionReplaceRequest.data)
}
inline ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* PostUserPermissionReplaceRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = 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 ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* PostUserPermissionReplaceRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.PostUserPermissionReplaceRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* PostUserPermissionReplaceRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* PostUserPermissionReplaceRequest::mutable_data() {
  ::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.PostUserPermissionReplaceRequest.data)
  return _msg;
}
inline void PostUserPermissionReplaceRequest::set_allocated_data(::deviceapis::device::v1::PostUserPermissionReplaceRequest_ReplaceTo* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.PostUserPermissionReplaceRequest.data)
}

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

// PostUserPermissionReplaceResponse

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

// SaveUserRequest

// .deviceapis.device.v1.User data = 1 [(.google.api.field_behavior) = REQUIRED];
inline bool SaveUserRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void SaveUserRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::deviceapis::device::v1::User& SaveUserRequest::_internal_data() const {
  const ::deviceapis::device::v1::User* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::deviceapis::device::v1::User&>(
      ::deviceapis::device::v1::_User_default_instance_);
}
inline const ::deviceapis::device::v1::User& SaveUserRequest::data() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.SaveUserRequest.data)
  return _internal_data();
}
inline void SaveUserRequest::unsafe_arena_set_allocated_data(
    ::deviceapis::device::v1::User* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:deviceapis.device.v1.SaveUserRequest.data)
}
inline ::deviceapis::device::v1::User* SaveUserRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::User* temp = _impl_.data_;
  _impl_.data_ = 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 ::deviceapis::device::v1::User* SaveUserRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.SaveUserRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::deviceapis::device::v1::User* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::deviceapis::device::v1::User* SaveUserRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::deviceapis::device::v1::User>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::deviceapis::device::v1::User* SaveUserRequest::mutable_data() {
  ::deviceapis::device::v1::User* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.SaveUserRequest.data)
  return _msg;
}
inline void SaveUserRequest::set_allocated_data(::deviceapis::device::v1::User* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.SaveUserRequest.data)
}

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

// SaveUserResponse

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

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

// User_Permission

// string permission_name = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void User_Permission::clear_permission_name() {
  _impl_.permission_name_.ClearToEmpty();
}
inline const std::string& User_Permission::permission_name() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.User.Permission.permission_name)
  return _internal_permission_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void User_Permission::set_permission_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.permission_name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.User.Permission.permission_name)
}
inline std::string* User_Permission::mutable_permission_name() {
  std::string* _s = _internal_mutable_permission_name();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.User.Permission.permission_name)
  return _s;
}
inline const std::string& User_Permission::_internal_permission_name() const {
  return _impl_.permission_name_.Get();
}
inline void User_Permission::_internal_set_permission_name(const std::string& value) {
  ;


  _impl_.permission_name_.Set(value, GetArenaForAllocation());
}
inline std::string* User_Permission::_internal_mutable_permission_name() {
  ;
  return _impl_.permission_name_.Mutable( GetArenaForAllocation());
}
inline std::string* User_Permission::release_permission_name() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.User.Permission.permission_name)
  return _impl_.permission_name_.Release();
}
inline void User_Permission::set_allocated_permission_name(std::string* value) {
  _impl_.permission_name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.permission_name_.IsDefault()) {
          _impl_.permission_name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.User.Permission.permission_name)
}

// bool is_enabled = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void User_Permission::clear_is_enabled() {
  _impl_.is_enabled_ = false;
}
inline bool User_Permission::is_enabled() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.User.Permission.is_enabled)
  return _internal_is_enabled();
}
inline void User_Permission::set_is_enabled(bool value) {
  _internal_set_is_enabled(value);
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.User.Permission.is_enabled)
}
inline bool User_Permission::_internal_is_enabled() const {
  return _impl_.is_enabled_;
}
inline void User_Permission::_internal_set_is_enabled(bool value) {
  ;
  _impl_.is_enabled_ = value;
}

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

// User

// string username = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void User::clear_username() {
  _impl_.username_.ClearToEmpty();
}
inline const std::string& User::username() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.User.username)
  return _internal_username();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void User::set_username(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.username_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.User.username)
}
inline std::string* User::mutable_username() {
  std::string* _s = _internal_mutable_username();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.User.username)
  return _s;
}
inline const std::string& User::_internal_username() const {
  return _impl_.username_.Get();
}
inline void User::_internal_set_username(const std::string& value) {
  ;


  _impl_.username_.Set(value, GetArenaForAllocation());
}
inline std::string* User::_internal_mutable_username() {
  ;
  return _impl_.username_.Mutable( GetArenaForAllocation());
}
inline std::string* User::release_username() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.User.username)
  return _impl_.username_.Release();
}
inline void User::set_allocated_username(std::string* value) {
  _impl_.username_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.username_.IsDefault()) {
          _impl_.username_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:deviceapis.device.v1.User.username)
}

// string password = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline void User::clear_password() {
  _impl_.password_.ClearToEmpty();
}
inline const std::string& User::password() const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.User.password)
  return _internal_password();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void User::set_password(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.password_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:deviceapis.device.v1.User.password)
}
inline std::string* User::mutable_password() {
  std::string* _s = _internal_mutable_password();
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.User.password)
  return _s;
}
inline const std::string& User::_internal_password() const {
  return _impl_.password_.Get();
}
inline void User::_internal_set_password(const std::string& value) {
  ;


  _impl_.password_.Set(value, GetArenaForAllocation());
}
inline std::string* User::_internal_mutable_password() {
  ;
  return _impl_.password_.Mutable( GetArenaForAllocation());
}
inline std::string* User::release_password() {
  // @@protoc_insertion_point(field_release:deviceapis.device.v1.User.password)
  return _impl_.password_.Release();
}
inline void User::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:deviceapis.device.v1.User.password)
}

// repeated .deviceapis.device.v1.User.Permission permission = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
inline int User::_internal_permission_size() const {
  return _impl_.permission_.size();
}
inline int User::permission_size() const {
  return _internal_permission_size();
}
inline void User::clear_permission() {
  _internal_mutable_permission()->Clear();
}
inline ::deviceapis::device::v1::User_Permission* User::mutable_permission(int index) {
  // @@protoc_insertion_point(field_mutable:deviceapis.device.v1.User.permission)
  return _internal_mutable_permission()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >*
User::mutable_permission() {
  // @@protoc_insertion_point(field_mutable_list:deviceapis.device.v1.User.permission)
  return _internal_mutable_permission();
}
inline const ::deviceapis::device::v1::User_Permission& User::_internal_permission(int index) const {
  return _internal_permission().Get(index);
}
inline const ::deviceapis::device::v1::User_Permission& User::permission(int index) const {
  // @@protoc_insertion_point(field_get:deviceapis.device.v1.User.permission)
  return _internal_permission(index);
}
inline ::deviceapis::device::v1::User_Permission* User::_internal_add_permission() {
  return _internal_mutable_permission()->Add();
}
inline ::deviceapis::device::v1::User_Permission* User::add_permission() {
  ::deviceapis::device::v1::User_Permission* _add = _internal_add_permission();
  // @@protoc_insertion_point(field_add:deviceapis.device.v1.User.permission)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::deviceapis::device::v1::User_Permission >&
User::permission() const {
  // @@protoc_insertion_point(field_list:deviceapis.device.v1.User.permission)
  return _internal_permission();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>&
User::_internal_permission() const {
  return _impl_.permission_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::deviceapis::device::v1::User_Permission>*
User::_internal_mutable_permission() {
  return &_impl_.permission_;
}

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

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace device
}  // namespace deviceapis


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_deviceapis_2fdevice_2fv1_2fdeviceapis_5fdevice_5fuser_5fv1_2eproto_2epb_2eh
