// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: client/v3beta/dto/relationship/relationship_dto.proto

#include "client/v3beta/dto/relationship/relationship_dto.pb.h"

#include <algorithm>

#include <herogoogle/protobuf/io/coded_stream.h>
#include <herogoogle/protobuf/extension_set.h>
#include <herogoogle/protobuf/wire_format_lite.h>
#include <herogoogle/protobuf/descriptor.h>
#include <herogoogle/protobuf/generated_message_reflection.h>
#include <herogoogle/protobuf/reflection_ops.h>
#include <herogoogle/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)


PROTOBUF_PRAGMA_INIT_SEG
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace relationship {
constexpr FriendApplyRequest::FriendApplyRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , userkey_(nullptr){}
struct FriendApplyRequestDefaultTypeInternal {
  constexpr FriendApplyRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyRequestDefaultTypeInternal() {}
  union {
    FriendApplyRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyRequestDefaultTypeInternal _FriendApplyRequest_default_instance_;
constexpr FriendApplyResponse::FriendApplyResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct FriendApplyResponseDefaultTypeInternal {
  constexpr FriendApplyResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyResponseDefaultTypeInternal() {}
  union {
    FriendApplyResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyResponseDefaultTypeInternal _FriendApplyResponse_default_instance_;
constexpr RSFriendApplyAgreeRequest::RSFriendApplyAgreeRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : tokens_()
  , base_(nullptr){}
struct RSFriendApplyAgreeRequestDefaultTypeInternal {
  constexpr RSFriendApplyAgreeRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~RSFriendApplyAgreeRequestDefaultTypeInternal() {}
  union {
    RSFriendApplyAgreeRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RSFriendApplyAgreeRequestDefaultTypeInternal _RSFriendApplyAgreeRequest_default_instance_;
constexpr RSFriendApplyAgreeResponse::RSFriendApplyAgreeResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct RSFriendApplyAgreeResponseDefaultTypeInternal {
  constexpr RSFriendApplyAgreeResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~RSFriendApplyAgreeResponseDefaultTypeInternal() {}
  union {
    RSFriendApplyAgreeResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RSFriendApplyAgreeResponseDefaultTypeInternal _RSFriendApplyAgreeResponse_default_instance_;
constexpr RSFriendApplyDisagreeRequest::RSFriendApplyDisagreeRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : tokens_()
  , base_(nullptr){}
struct RSFriendApplyDisagreeRequestDefaultTypeInternal {
  constexpr RSFriendApplyDisagreeRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~RSFriendApplyDisagreeRequestDefaultTypeInternal() {}
  union {
    RSFriendApplyDisagreeRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RSFriendApplyDisagreeRequestDefaultTypeInternal _RSFriendApplyDisagreeRequest_default_instance_;
constexpr RSFriendApplyDisagreeResponse::RSFriendApplyDisagreeResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct RSFriendApplyDisagreeResponseDefaultTypeInternal {
  constexpr RSFriendApplyDisagreeResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~RSFriendApplyDisagreeResponseDefaultTypeInternal() {}
  union {
    RSFriendApplyDisagreeResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RSFriendApplyDisagreeResponseDefaultTypeInternal _RSFriendApplyDisagreeResponse_default_instance_;
constexpr FriendApplyResultItem::FriendApplyResultItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : token_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , message_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , code_(0){}
struct FriendApplyResultItemDefaultTypeInternal {
  constexpr FriendApplyResultItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyResultItemDefaultTypeInternal() {}
  union {
    FriendApplyResultItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyResultItemDefaultTypeInternal _FriendApplyResultItem_default_instance_;
constexpr FriendListRequest::FriendListRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr){}
struct FriendListRequestDefaultTypeInternal {
  constexpr FriendListRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendListRequestDefaultTypeInternal() {}
  union {
    FriendListRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendListRequestDefaultTypeInternal _FriendListRequest_default_instance_;
constexpr FriendListResponse::FriendListResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct FriendListResponseDefaultTypeInternal {
  constexpr FriendListResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendListResponseDefaultTypeInternal() {}
  union {
    FriendListResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendListResponseDefaultTypeInternal _FriendListResponse_default_instance_;
constexpr UserFriendItem::UserFriendItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : user_(nullptr)
  , friend__(nullptr){}
struct UserFriendItemDefaultTypeInternal {
  constexpr UserFriendItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserFriendItemDefaultTypeInternal() {}
  union {
    UserFriendItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserFriendItemDefaultTypeInternal _UserFriendItem_default_instance_;
constexpr FriendDeleteRequest::FriendDeleteRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , userkey_(nullptr){}
struct FriendDeleteRequestDefaultTypeInternal {
  constexpr FriendDeleteRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendDeleteRequestDefaultTypeInternal() {}
  union {
    FriendDeleteRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendDeleteRequestDefaultTypeInternal _FriendDeleteRequest_default_instance_;
constexpr FriendDeleteResponse::FriendDeleteResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct FriendDeleteResponseDefaultTypeInternal {
  constexpr FriendDeleteResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendDeleteResponseDefaultTypeInternal() {}
  union {
    FriendDeleteResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendDeleteResponseDefaultTypeInternal _FriendDeleteResponse_default_instance_;
constexpr FriendBatchDeleteRequest::FriendBatchDeleteRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : userkey_()
  , base_(nullptr){}
struct FriendBatchDeleteRequestDefaultTypeInternal {
  constexpr FriendBatchDeleteRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendBatchDeleteRequestDefaultTypeInternal() {}
  union {
    FriendBatchDeleteRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendBatchDeleteRequestDefaultTypeInternal _FriendBatchDeleteRequest_default_instance_;
constexpr FriendBatchDeleteResponse::FriendBatchDeleteResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct FriendBatchDeleteResponseDefaultTypeInternal {
  constexpr FriendBatchDeleteResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendBatchDeleteResponseDefaultTypeInternal() {}
  union {
    FriendBatchDeleteResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendBatchDeleteResponseDefaultTypeInternal _FriendBatchDeleteResponse_default_instance_;
constexpr FriendDeleteResultItem::FriendDeleteResultItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : message_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , userkey_(nullptr)
  , code_(0){}
struct FriendDeleteResultItemDefaultTypeInternal {
  constexpr FriendDeleteResultItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendDeleteResultItemDefaultTypeInternal() {}
  union {
    FriendDeleteResultItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendDeleteResultItemDefaultTypeInternal _FriendDeleteResultItem_default_instance_;
constexpr BlockedAddRequest::BlockedAddRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , userkey_(nullptr){}
struct BlockedAddRequestDefaultTypeInternal {
  constexpr BlockedAddRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedAddRequestDefaultTypeInternal() {}
  union {
    BlockedAddRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedAddRequestDefaultTypeInternal _BlockedAddRequest_default_instance_;
constexpr BlockedAddResponse::BlockedAddResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : blocked_(nullptr){}
struct BlockedAddResponseDefaultTypeInternal {
  constexpr BlockedAddResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedAddResponseDefaultTypeInternal() {}
  union {
    BlockedAddResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedAddResponseDefaultTypeInternal _BlockedAddResponse_default_instance_;
constexpr BlockedDeleteRequest::BlockedDeleteRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , userkey_(nullptr){}
struct BlockedDeleteRequestDefaultTypeInternal {
  constexpr BlockedDeleteRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedDeleteRequestDefaultTypeInternal() {}
  union {
    BlockedDeleteRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedDeleteRequestDefaultTypeInternal _BlockedDeleteRequest_default_instance_;
constexpr BlockedDeleteResponse::BlockedDeleteResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct BlockedDeleteResponseDefaultTypeInternal {
  constexpr BlockedDeleteResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedDeleteResponseDefaultTypeInternal() {}
  union {
    BlockedDeleteResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedDeleteResponseDefaultTypeInternal _BlockedDeleteResponse_default_instance_;
constexpr BlockedListRequest::BlockedListRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr){}
struct BlockedListRequestDefaultTypeInternal {
  constexpr BlockedListRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedListRequestDefaultTypeInternal() {}
  union {
    BlockedListRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedListRequestDefaultTypeInternal _BlockedListRequest_default_instance_;
constexpr BlockedListResponse::BlockedListResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct BlockedListResponseDefaultTypeInternal {
  constexpr BlockedListResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~BlockedListResponseDefaultTypeInternal() {}
  union {
    BlockedListResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BlockedListResponseDefaultTypeInternal _BlockedListResponse_default_instance_;
constexpr UserBlockedItem::UserBlockedItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : user_(nullptr)
  , blocked_(nullptr){}
struct UserBlockedItemDefaultTypeInternal {
  constexpr UserBlockedItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserBlockedItemDefaultTypeInternal() {}
  union {
    UserBlockedItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserBlockedItemDefaultTypeInternal _UserBlockedItem_default_instance_;
constexpr FriendApplyListRequest::FriendApplyListRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr){}
struct FriendApplyListRequestDefaultTypeInternal {
  constexpr FriendApplyListRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyListRequestDefaultTypeInternal() {}
  union {
    FriendApplyListRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyListRequestDefaultTypeInternal _FriendApplyListRequest_default_instance_;
constexpr FriendApplyListResponse::FriendApplyListResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct FriendApplyListResponseDefaultTypeInternal {
  constexpr FriendApplyListResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyListResponseDefaultTypeInternal() {}
  union {
    FriendApplyListResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyListResponseDefaultTypeInternal _FriendApplyListResponse_default_instance_;
constexpr FriendApplyListResponseItem::FriendApplyListResponseItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : acttoken_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , user_(nullptr)
  , applytime_(int64_t{0}){}
struct FriendApplyListResponseItemDefaultTypeInternal {
  constexpr FriendApplyListResponseItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendApplyListResponseItemDefaultTypeInternal() {}
  union {
    FriendApplyListResponseItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendApplyListResponseItemDefaultTypeInternal _FriendApplyListResponseItem_default_instance_;
constexpr FriendUpdateRequest_ExtraEntry_DoNotUse::FriendUpdateRequest_ExtraEntry_DoNotUse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct FriendUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal {
  constexpr FriendUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal() {}
  union {
    FriendUpdateRequest_ExtraEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal _FriendUpdateRequest_ExtraEntry_DoNotUse_default_instance_;
constexpr FriendUpdateRequest::FriendUpdateRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : extra_(::herogoogle::protobuf::internal::ConstantInitialized{})
  , base_(nullptr)
  , userkey_(nullptr){}
struct FriendUpdateRequestDefaultTypeInternal {
  constexpr FriendUpdateRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendUpdateRequestDefaultTypeInternal() {}
  union {
    FriendUpdateRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendUpdateRequestDefaultTypeInternal _FriendUpdateRequest_default_instance_;
constexpr FriendUpdateResponse::FriendUpdateResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct FriendUpdateResponseDefaultTypeInternal {
  constexpr FriendUpdateResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FriendUpdateResponseDefaultTypeInternal() {}
  union {
    FriendUpdateResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FriendUpdateResponseDefaultTypeInternal _FriendUpdateResponse_default_instance_;
}  // namespace relationship
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
static ::herogoogle::protobuf::Metadata file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[28];
static constexpr ::herogoogle::protobuf::EnumDescriptor const** file_level_enum_descriptors_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto = nullptr;
static constexpr ::herogoogle::protobuf::ServiceDescriptor const** file_level_service_descriptors_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto = nullptr;

const ::herogoogle::protobuf::uint32 TableStruct_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest, tokens_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest, tokens_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyResultItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyResultItem, token_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyResultItem, code_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyResultItem, message_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendListRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendListRequest, base_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendListResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendListResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserFriendItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserFriendItem, user_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserFriendItem, friend__),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem, userkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem, code_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem, message_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedAddRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedAddRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedAddRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedAddResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedAddResponse, blocked_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedDeleteResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedListRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedListRequest, base_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedListResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::BlockedListResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserBlockedItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserBlockedItem, user_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::UserBlockedItem, blocked_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListRequest, base_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem, user_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem, applytime_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem, acttoken_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest, userkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest, extra_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::relationship::FriendUpdateResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
};
static const ::herogoogle::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyRequest)},
  { 8, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyResponse)},
  { 14, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest)},
  { 22, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse)},
  { 29, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest)},
  { 37, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse)},
  { 44, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyResultItem)},
  { 53, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendListRequest)},
  { 60, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendListResponse)},
  { 67, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::UserFriendItem)},
  { 75, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendDeleteRequest)},
  { 83, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendDeleteResponse)},
  { 89, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest)},
  { 97, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse)},
  { 104, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem)},
  { 113, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedAddRequest)},
  { 121, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedAddResponse)},
  { 128, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest)},
  { 136, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedDeleteResponse)},
  { 142, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedListRequest)},
  { 149, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::BlockedListResponse)},
  { 156, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::UserBlockedItem)},
  { 164, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyListRequest)},
  { 171, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyListResponse)},
  { 178, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem)},
  { 187, 195, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse)},
  { 197, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendUpdateRequest)},
  { 206, -1, -1, sizeof(::heroim::client::v3beta::dto::relationship::FriendUpdateResponse)},
};

static ::herogoogle::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_RSFriendApplyAgreeRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_RSFriendApplyAgreeResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_RSFriendApplyDisagreeRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_RSFriendApplyDisagreeResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyResultItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendListRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendListResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_UserFriendItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendDeleteRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendDeleteResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendBatchDeleteRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendBatchDeleteResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendDeleteResultItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedAddRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedAddResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedDeleteRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedDeleteResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedListRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_BlockedListResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_UserBlockedItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyListRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyListResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendApplyListResponseItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendUpdateRequest_ExtraEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendUpdateRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::relationship::_FriendUpdateResponse_default_instance_),
};
#ifdef _MSC_VER
#  pragma warning(disable : 4125)
#endif  /* _MSC_VER */
const char descriptor_table_protodef_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n5client/v3beta/dto/relationship/relatio"
  "nship_dto.proto\022%heroim.client.v3beta.dt"
  "o.relationship\032-client/v3beta/dto/user/m"
  "odel/user_model.proto\032=client/v3beta/dto"
  "/relationship/model/relationship_model.p"
  "roto\032\"client/v3beta/dto/shared/api.proto"
  "\"\216\001\n\022FriendApplyRequest\0229\n\004base\030\001 \001(\0132+."
  "heroim.client.v3beta.dto.shared.APIReque"
  "st\022=\n\007userKey\030\002 \001(\0132,.heroim.client.v3be"
  "ta.dto.user.model.UserKey\"\025\n\023FriendApply"
  "Response\"f\n\031RSFriendApplyAgreeRequest\0229\n"
  "\004base\030\001 \001(\0132+.heroim.client.v3beta.dto.s"
  "hared.APIRequest\022\016\n\006tokens\030\002 \003(\t\"h\n\032RSFr"
  "iendApplyAgreeResponse\022J\n\004list\030\001 \003(\0132<.h"
  "eroim.client.v3beta.dto.relationship.Fri"
  "endApplyResultItem\"i\n\034RSFriendApplyDisag"
  "reeRequest\0229\n\004base\030\001 \001(\0132+.heroim.client"
  ".v3beta.dto.shared.APIRequest\022\016\n\006tokens\030"
  "\002 \003(\t\"k\n\035RSFriendApplyDisagreeResponse\022J"
  "\n\004list\030\001 \003(\0132<.heroim.client.v3beta.dto."
  "relationship.FriendApplyResultItem\"E\n\025Fr"
  "iendApplyResultItem\022\r\n\005token\030\001 \001(\t\022\014\n\004co"
  "de\030\002 \001(\005\022\017\n\007message\030\003 \001(\t\"N\n\021FriendListR"
  "equest\0229\n\004base\030\001 \001(\0132+.heroim.client.v3b"
  "eta.dto.shared.APIRequest\"Y\n\022FriendListR"
  "esponse\022C\n\004list\030\001 \003(\01325.heroim.client.v3"
  "beta.dto.relationship.UserFriendItem\"\222\001\n"
  "\016UserFriendItem\0227\n\004User\030\001 \001(\0132).heroim.c"
  "lient.v3beta.dto.user.model.User\022G\n\006frie"
  "nd\030\002 \001(\01327.heroim.client.v3beta.dto.rela"
  "tionship.model.UserFriend\"\217\001\n\023FriendDele"
  "teRequest\0229\n\004base\030\001 \001(\0132+.heroim.client."
  "v3beta.dto.shared.APIRequest\022=\n\007userKey\030"
  "\002 \001(\0132,.heroim.client.v3beta.dto.user.mo"
  "del.UserKey\"\026\n\024FriendDeleteResponse\"\224\001\n\030"
  "FriendBatchDeleteRequest\0229\n\004base\030\001 \001(\0132+"
  ".heroim.client.v3beta.dto.shared.APIRequ"
  "est\022=\n\007userKey\030\002 \003(\0132,.heroim.client.v3b"
  "eta.dto.user.model.UserKey\"h\n\031FriendBatc"
  "hDeleteResponse\022K\n\004list\030\001 \003(\0132=.heroim.c"
  "lient.v3beta.dto.relationship.FriendDele"
  "teResultItem\"v\n\026FriendDeleteResultItem\022="
  "\n\007userKey\030\001 \001(\0132,.heroim.client.v3beta.d"
  "to.user.model.UserKey\022\014\n\004code\030\002 \001(\005\022\017\n\007m"
  "essage\030\003 \001(\t\"\215\001\n\021BlockedAddRequest\0229\n\004ba"
  "se\030\001 \001(\0132+.heroim.client.v3beta.dto.shar"
  "ed.APIRequest\022=\n\007userKey\030\002 \001(\0132,.heroim."
  "client.v3beta.dto.user.model.UserKey\"]\n\022"
  "BlockedAddResponse\022G\n\007blocked\030\001 \001(\01326.he"
  "roim.client.v3beta.dto.relationship.User"
  "BlockedItem\"\220\001\n\024BlockedDeleteRequest\0229\n\004"
  "base\030\001 \001(\0132+.heroim.client.v3beta.dto.sh"
  "ared.APIRequest\022=\n\007userKey\030\002 \001(\0132,.heroi"
  "m.client.v3beta.dto.user.model.UserKey\"\027"
  "\n\025BlockedDeleteResponse\"O\n\022BlockedListRe"
  "quest\0229\n\004base\030\001 \001(\0132+.heroim.client.v3be"
  "ta.dto.shared.APIRequest\"[\n\023BlockedListR"
  "esponse\022D\n\004list\030\001 \003(\01326.heroim.client.v3"
  "beta.dto.relationship.UserBlockedItem\"\225\001"
  "\n\017UserBlockedItem\0227\n\004User\030\001 \001(\0132).heroim"
  ".client.v3beta.dto.user.model.User\022I\n\007bl"
  "ocked\030\002 \001(\01328.heroim.client.v3beta.dto.r"
  "elationship.model.UserBlocked\"S\n\026FriendA"
  "pplyListRequest\0229\n\004base\030\001 \001(\0132+.heroim.c"
  "lient.v3beta.dto.shared.APIRequest\"k\n\027Fr"
  "iendApplyListResponse\022P\n\004list\030\001 \003(\0132B.he"
  "roim.client.v3beta.dto.relationship.Frie"
  "ndApplyListResponseItem\"{\n\033FriendApplyLi"
  "stResponseItem\0227\n\004user\030\001 \001(\0132).heroim.cl"
  "ient.v3beta.dto.user.model.User\022\021\n\tapply"
  "Time\030\002 \001(\003\022\020\n\010actToken\030\003 \001(\t\"\223\002\n\023FriendU"
  "pdateRequest\0229\n\004base\030\001 \001(\0132+.heroim.clie"
  "nt.v3beta.dto.shared.APIRequest\022=\n\007userK"
  "ey\030\002 \001(\0132,.heroim.client.v3beta.dto.user"
  ".model.UserKey\022T\n\005extra\030\003 \003(\0132E.heroim.c"
  "lient.v3beta.dto.relationship.FriendUpda"
  "teRequest.ExtraEntry\032,\n\nExtraEntry\022\013\n\003ke"
  "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\026\n\024FriendUpda"
  "teResponseB`\n)com.hero.csdk.api.v3beta.d"
  "to.relationshipP\001Z)heroim/api/client/v3b"
  "eta/dto/relationship\242\002\005IMSdkb\006proto3"
  ;
static const ::herogoogle::protobuf::internal::DescriptorTable*const descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_deps[3] = {
  &::descriptor_table_client_2fv3beta_2fdto_2frelationship_2fmodel_2frelationship_5fmodel_2eproto,
  &::descriptor_table_client_2fv3beta_2fdto_2fshared_2fapi_2eproto,
  &::descriptor_table_client_2fv3beta_2fdto_2fuser_2fmodel_2fuser_5fmodel_2eproto,
};
static ::herogoogle::protobuf::internal::once_flag descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once;
const ::herogoogle::protobuf::internal::DescriptorTable descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto = {
  false, false, 3236, descriptor_table_protodef_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto, "client/v3beta/dto/relationship/relationship_dto.proto", 
  &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once, descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_deps, 3, 28,
  schemas, file_default_instances, TableStruct_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto::offsets,
  file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto, file_level_enum_descriptors_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto, file_level_service_descriptors_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::herogoogle::protobuf::internal::DescriptorTable* descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter() {
  return &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::herogoogle::protobuf::internal::AddDescriptorsRunner dynamic_init_dummy_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto(&descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto);
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace relationship {

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

class FriendApplyRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendApplyRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const FriendApplyRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendApplyRequest::_Internal::base(const FriendApplyRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
FriendApplyRequest::_Internal::userkey(const FriendApplyRequest* msg) {
  return *msg->userkey_;
}
void FriendApplyRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void FriendApplyRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
FriendApplyRequest::FriendApplyRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
}
FriendApplyRequest::FriendApplyRequest(const FriendApplyRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
}

void FriendApplyRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

FriendApplyRequest::~FriendApplyRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendApplyRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void FriendApplyRequest::ArenaDtor(void* object) {
  FriendApplyRequest* _this = reinterpret_cast< FriendApplyRequest* >(object);
  (void)_this;
}
void FriendApplyRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendApplyRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendApplyRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendApplyRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendApplyRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  return target;
}

size_t FriendApplyRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendApplyRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendApplyRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyRequest::GetClassData() const { return &_class_data_; }

void FriendApplyRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendApplyRequest *>(to)->MergeFrom(
      static_cast<const FriendApplyRequest &>(from));
}


void FriendApplyRequest::MergeFrom(const FriendApplyRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendApplyRequest::CopyFrom(const FriendApplyRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendApplyRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendApplyRequest::IsInitialized() const {
  return true;
}

void FriendApplyRequest::InternalSwap(FriendApplyRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FriendApplyRequest, userkey_)
      + sizeof(FriendApplyRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(FriendApplyRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata FriendApplyRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[0]);
}

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

class FriendApplyResponse::_Internal {
 public:
};

FriendApplyResponse::FriendApplyResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyResponse)
}
FriendApplyResponse::FriendApplyResponse(const FriendApplyResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyResponse)
}





const ::herogoogle::protobuf::Message::ClassData FriendApplyResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata FriendApplyResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[1]);
}

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

class RSFriendApplyAgreeRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const RSFriendApplyAgreeRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
RSFriendApplyAgreeRequest::_Internal::base(const RSFriendApplyAgreeRequest* msg) {
  return *msg->base_;
}
void RSFriendApplyAgreeRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
RSFriendApplyAgreeRequest::RSFriendApplyAgreeRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  tokens_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
}
RSFriendApplyAgreeRequest::RSFriendApplyAgreeRequest(const RSFriendApplyAgreeRequest& from)
  : ::herogoogle::protobuf::Message(),
      tokens_(from.tokens_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
}

void RSFriendApplyAgreeRequest::SharedCtor() {
base_ = nullptr;
}

RSFriendApplyAgreeRequest::~RSFriendApplyAgreeRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void RSFriendApplyAgreeRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void RSFriendApplyAgreeRequest::ArenaDtor(void* object) {
  RSFriendApplyAgreeRequest* _this = reinterpret_cast< RSFriendApplyAgreeRequest* >(object);
  (void)_this;
}
void RSFriendApplyAgreeRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void RSFriendApplyAgreeRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RSFriendApplyAgreeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  tokens_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* RSFriendApplyAgreeRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string tokens = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_tokens();
            ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest.tokens"));
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* RSFriendApplyAgreeRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // repeated string tokens = 2;
  for (int i = 0, n = this->_internal_tokens_size(); i < n; i++) {
    const auto& s = this->_internal_tokens(i);
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest.tokens");
    target = stream->WriteString(2, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  return target;
}

size_t RSFriendApplyAgreeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string tokens = 2;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(tokens_.size());
  for (int i = 0, n = tokens_.size(); i < n; i++) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
      tokens_.Get(i));
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData RSFriendApplyAgreeRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    RSFriendApplyAgreeRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*RSFriendApplyAgreeRequest::GetClassData() const { return &_class_data_; }

void RSFriendApplyAgreeRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<RSFriendApplyAgreeRequest *>(to)->MergeFrom(
      static_cast<const RSFriendApplyAgreeRequest &>(from));
}


void RSFriendApplyAgreeRequest::MergeFrom(const RSFriendApplyAgreeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  tokens_.MergeFrom(from.tokens_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void RSFriendApplyAgreeRequest::CopyFrom(const RSFriendApplyAgreeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RSFriendApplyAgreeRequest::IsInitialized() const {
  return true;
}

void RSFriendApplyAgreeRequest::InternalSwap(RSFriendApplyAgreeRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  tokens_.InternalSwap(&other->tokens_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata RSFriendApplyAgreeRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[2]);
}

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

class RSFriendApplyAgreeResponse::_Internal {
 public:
};

RSFriendApplyAgreeResponse::RSFriendApplyAgreeResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
}
RSFriendApplyAgreeResponse::RSFriendApplyAgreeResponse(const RSFriendApplyAgreeResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
}

void RSFriendApplyAgreeResponse::SharedCtor() {
}

RSFriendApplyAgreeResponse::~RSFriendApplyAgreeResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void RSFriendApplyAgreeResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void RSFriendApplyAgreeResponse::ArenaDtor(void* object) {
  RSFriendApplyAgreeResponse* _this = reinterpret_cast< RSFriendApplyAgreeResponse* >(object);
  (void)_this;
}
void RSFriendApplyAgreeResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void RSFriendApplyAgreeResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RSFriendApplyAgreeResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* RSFriendApplyAgreeResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* RSFriendApplyAgreeResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  return target;
}

size_t RSFriendApplyAgreeResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData RSFriendApplyAgreeResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    RSFriendApplyAgreeResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*RSFriendApplyAgreeResponse::GetClassData() const { return &_class_data_; }

void RSFriendApplyAgreeResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<RSFriendApplyAgreeResponse *>(to)->MergeFrom(
      static_cast<const RSFriendApplyAgreeResponse &>(from));
}


void RSFriendApplyAgreeResponse::MergeFrom(const RSFriendApplyAgreeResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void RSFriendApplyAgreeResponse::CopyFrom(const RSFriendApplyAgreeResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyAgreeResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RSFriendApplyAgreeResponse::IsInitialized() const {
  return true;
}

void RSFriendApplyAgreeResponse::InternalSwap(RSFriendApplyAgreeResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata RSFriendApplyAgreeResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[3]);
}

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

class RSFriendApplyDisagreeRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const RSFriendApplyDisagreeRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
RSFriendApplyDisagreeRequest::_Internal::base(const RSFriendApplyDisagreeRequest* msg) {
  return *msg->base_;
}
void RSFriendApplyDisagreeRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
RSFriendApplyDisagreeRequest::RSFriendApplyDisagreeRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  tokens_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
}
RSFriendApplyDisagreeRequest::RSFriendApplyDisagreeRequest(const RSFriendApplyDisagreeRequest& from)
  : ::herogoogle::protobuf::Message(),
      tokens_(from.tokens_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
}

void RSFriendApplyDisagreeRequest::SharedCtor() {
base_ = nullptr;
}

RSFriendApplyDisagreeRequest::~RSFriendApplyDisagreeRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void RSFriendApplyDisagreeRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void RSFriendApplyDisagreeRequest::ArenaDtor(void* object) {
  RSFriendApplyDisagreeRequest* _this = reinterpret_cast< RSFriendApplyDisagreeRequest* >(object);
  (void)_this;
}
void RSFriendApplyDisagreeRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void RSFriendApplyDisagreeRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RSFriendApplyDisagreeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  tokens_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* RSFriendApplyDisagreeRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string tokens = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_tokens();
            ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest.tokens"));
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* RSFriendApplyDisagreeRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // repeated string tokens = 2;
  for (int i = 0, n = this->_internal_tokens_size(); i < n; i++) {
    const auto& s = this->_internal_tokens(i);
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest.tokens");
    target = stream->WriteString(2, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  return target;
}

size_t RSFriendApplyDisagreeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string tokens = 2;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(tokens_.size());
  for (int i = 0, n = tokens_.size(); i < n; i++) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
      tokens_.Get(i));
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData RSFriendApplyDisagreeRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    RSFriendApplyDisagreeRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*RSFriendApplyDisagreeRequest::GetClassData() const { return &_class_data_; }

void RSFriendApplyDisagreeRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<RSFriendApplyDisagreeRequest *>(to)->MergeFrom(
      static_cast<const RSFriendApplyDisagreeRequest &>(from));
}


void RSFriendApplyDisagreeRequest::MergeFrom(const RSFriendApplyDisagreeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  tokens_.MergeFrom(from.tokens_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void RSFriendApplyDisagreeRequest::CopyFrom(const RSFriendApplyDisagreeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RSFriendApplyDisagreeRequest::IsInitialized() const {
  return true;
}

void RSFriendApplyDisagreeRequest::InternalSwap(RSFriendApplyDisagreeRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  tokens_.InternalSwap(&other->tokens_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata RSFriendApplyDisagreeRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[4]);
}

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

class RSFriendApplyDisagreeResponse::_Internal {
 public:
};

RSFriendApplyDisagreeResponse::RSFriendApplyDisagreeResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
}
RSFriendApplyDisagreeResponse::RSFriendApplyDisagreeResponse(const RSFriendApplyDisagreeResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
}

void RSFriendApplyDisagreeResponse::SharedCtor() {
}

RSFriendApplyDisagreeResponse::~RSFriendApplyDisagreeResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void RSFriendApplyDisagreeResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void RSFriendApplyDisagreeResponse::ArenaDtor(void* object) {
  RSFriendApplyDisagreeResponse* _this = reinterpret_cast< RSFriendApplyDisagreeResponse* >(object);
  (void)_this;
}
void RSFriendApplyDisagreeResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void RSFriendApplyDisagreeResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RSFriendApplyDisagreeResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* RSFriendApplyDisagreeResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* RSFriendApplyDisagreeResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  return target;
}

size_t RSFriendApplyDisagreeResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyResultItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData RSFriendApplyDisagreeResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    RSFriendApplyDisagreeResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*RSFriendApplyDisagreeResponse::GetClassData() const { return &_class_data_; }

void RSFriendApplyDisagreeResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<RSFriendApplyDisagreeResponse *>(to)->MergeFrom(
      static_cast<const RSFriendApplyDisagreeResponse &>(from));
}


void RSFriendApplyDisagreeResponse::MergeFrom(const RSFriendApplyDisagreeResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void RSFriendApplyDisagreeResponse::CopyFrom(const RSFriendApplyDisagreeResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.RSFriendApplyDisagreeResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RSFriendApplyDisagreeResponse::IsInitialized() const {
  return true;
}

void RSFriendApplyDisagreeResponse::InternalSwap(RSFriendApplyDisagreeResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata RSFriendApplyDisagreeResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[5]);
}

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

class FriendApplyResultItem::_Internal {
 public:
};

FriendApplyResultItem::FriendApplyResultItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
}
FriendApplyResultItem::FriendApplyResultItem(const FriendApplyResultItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  token_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_token().empty()) {
    token_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_token(), 
      GetArenaForAllocation());
  }
  message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_message().empty()) {
    message_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_message(), 
      GetArenaForAllocation());
  }
  code_ = from.code_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
}

void FriendApplyResultItem::SharedCtor() {
token_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
code_ = 0;
}

FriendApplyResultItem::~FriendApplyResultItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendApplyResultItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  token_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  message_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
}

void FriendApplyResultItem::ArenaDtor(void* object) {
  FriendApplyResultItem* _this = reinterpret_cast< FriendApplyResultItem* >(object);
  (void)_this;
}
void FriendApplyResultItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendApplyResultItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendApplyResultItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  token_.ClearToEmpty();
  message_.ClearToEmpty();
  code_ = 0;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendApplyResultItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string token = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          auto str = _internal_mutable_token();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.FriendApplyResultItem.token"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 code = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          code_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string message = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_message();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.FriendApplyResultItem.message"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendApplyResultItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string token = 1;
  if (!this->_internal_token().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_token().data(), static_cast<int>(this->_internal_token().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.FriendApplyResultItem.token");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_token(), target);
  }

  // int32 code = 2;
  if (this->_internal_code() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_code(), target);
  }

  // string message = 3;
  if (!this->_internal_message().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_message().data(), static_cast<int>(this->_internal_message().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.FriendApplyResultItem.message");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_message(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  return target;
}

size_t FriendApplyResultItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string token = 1;
  if (!this->_internal_token().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_token());
  }

  // string message = 3;
  if (!this->_internal_message().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_message());
  }

  // int32 code = 2;
  if (this->_internal_code() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_code());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendApplyResultItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendApplyResultItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyResultItem::GetClassData() const { return &_class_data_; }

void FriendApplyResultItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendApplyResultItem *>(to)->MergeFrom(
      static_cast<const FriendApplyResultItem &>(from));
}


void FriendApplyResultItem::MergeFrom(const FriendApplyResultItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_token().empty()) {
    _internal_set_token(from._internal_token());
  }
  if (!from._internal_message().empty()) {
    _internal_set_message(from._internal_message());
  }
  if (from._internal_code() != 0) {
    _internal_set_code(from._internal_code());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendApplyResultItem::CopyFrom(const FriendApplyResultItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendApplyResultItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendApplyResultItem::IsInitialized() const {
  return true;
}

void FriendApplyResultItem::InternalSwap(FriendApplyResultItem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &token_, lhs_arena,
      &other->token_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &message_, lhs_arena,
      &other->message_, rhs_arena
  );
  swap(code_, other->code_);
}

::herogoogle::protobuf::Metadata FriendApplyResultItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[6]);
}

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

class FriendListRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendListRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendListRequest::_Internal::base(const FriendListRequest* msg) {
  return *msg->base_;
}
void FriendListRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
FriendListRequest::FriendListRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendListRequest)
}
FriendListRequest::FriendListRequest(const FriendListRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendListRequest)
}

void FriendListRequest::SharedCtor() {
base_ = nullptr;
}

FriendListRequest::~FriendListRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendListRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendListRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void FriendListRequest::ArenaDtor(void* object) {
  FriendListRequest* _this = reinterpret_cast< FriendListRequest* >(object);
  (void)_this;
}
void FriendListRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendListRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendListRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendListRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendListRequest)
  return target;
}

size_t FriendListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendListRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendListRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendListRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendListRequest::GetClassData() const { return &_class_data_; }

void FriendListRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendListRequest *>(to)->MergeFrom(
      static_cast<const FriendListRequest &>(from));
}


void FriendListRequest::MergeFrom(const FriendListRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendListRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendListRequest::CopyFrom(const FriendListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendListRequest::IsInitialized() const {
  return true;
}

void FriendListRequest::InternalSwap(FriendListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata FriendListRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[7]);
}

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

class FriendListResponse::_Internal {
 public:
};

FriendListResponse::FriendListResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendListResponse)
}
FriendListResponse::FriendListResponse(const FriendListResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendListResponse)
}

void FriendListResponse::SharedCtor() {
}

FriendListResponse::~FriendListResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendListResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendListResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void FriendListResponse::ArenaDtor(void* object) {
  FriendListResponse* _this = reinterpret_cast< FriendListResponse* >(object);
  (void)_this;
}
void FriendListResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendListResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendListResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.UserFriendItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendListResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.UserFriendItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendListResponse)
  return target;
}

size_t FriendListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendListResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.UserFriendItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendListResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendListResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendListResponse::GetClassData() const { return &_class_data_; }

void FriendListResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendListResponse *>(to)->MergeFrom(
      static_cast<const FriendListResponse &>(from));
}


void FriendListResponse::MergeFrom(const FriendListResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendListResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendListResponse::CopyFrom(const FriendListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendListResponse::IsInitialized() const {
  return true;
}

void FriendListResponse::InternalSwap(FriendListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata FriendListResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[8]);
}

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

class UserFriendItem::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::User& user(const UserFriendItem* msg);
  static const ::heroim::client::v3beta::dto::relationship::model::UserFriend& friend_(const UserFriendItem* msg);
};

const ::heroim::client::v3beta::dto::user::model::User&
UserFriendItem::_Internal::user(const UserFriendItem* msg) {
  return *msg->user_;
}
const ::heroim::client::v3beta::dto::relationship::model::UserFriend&
UserFriendItem::_Internal::friend_(const UserFriendItem* msg) {
  return *msg->friend__;
}
void UserFriendItem::clear_user() {
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
}
void UserFriendItem::clear_friend_() {
  if (GetArenaForAllocation() == nullptr && friend__ != nullptr) {
    delete friend__;
  }
  friend__ = nullptr;
}
UserFriendItem::UserFriendItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.UserFriendItem)
}
UserFriendItem::UserFriendItem(const UserFriendItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_user()) {
    user_ = new ::heroim::client::v3beta::dto::user::model::User(*from.user_);
  } else {
    user_ = nullptr;
  }
  if (from._internal_has_friend_()) {
    friend__ = new ::heroim::client::v3beta::dto::relationship::model::UserFriend(*from.friend__);
  } else {
    friend__ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.UserFriendItem)
}

void UserFriendItem::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&user_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&friend__) -
    reinterpret_cast<char*>(&user_)) + sizeof(friend__));
}

UserFriendItem::~UserFriendItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.UserFriendItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserFriendItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete user_;
  if (this != internal_default_instance()) delete friend__;
}

void UserFriendItem::ArenaDtor(void* object) {
  UserFriendItem* _this = reinterpret_cast< UserFriendItem* >(object);
  (void)_this;
}
void UserFriendItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserFriendItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserFriendItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.UserFriendItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  if (GetArenaForAllocation() == nullptr && friend__ != nullptr) {
    delete friend__;
  }
  friend__ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserFriendItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.User User = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.relationship.model.UserFriend friend = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_friend_(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserFriendItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.UserFriendItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User User = 1;
  if (this->_internal_has_user()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // .heroim.client.v3beta.dto.relationship.model.UserFriend friend = 2;
  if (this->_internal_has_friend_()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::friend_(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.UserFriendItem)
  return target;
}

size_t UserFriendItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.UserFriendItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User User = 1;
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *user_);
  }

  // .heroim.client.v3beta.dto.relationship.model.UserFriend friend = 2;
  if (this->_internal_has_friend_()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *friend__);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserFriendItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserFriendItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserFriendItem::GetClassData() const { return &_class_data_; }

void UserFriendItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserFriendItem *>(to)->MergeFrom(
      static_cast<const UserFriendItem &>(from));
}


void UserFriendItem::MergeFrom(const UserFriendItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.UserFriendItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_user()) {
    _internal_mutable_user()->::heroim::client::v3beta::dto::user::model::User::MergeFrom(from._internal_user());
  }
  if (from._internal_has_friend_()) {
    _internal_mutable_friend_()->::heroim::client::v3beta::dto::relationship::model::UserFriend::MergeFrom(from._internal_friend_());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserFriendItem::CopyFrom(const UserFriendItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.UserFriendItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserFriendItem::IsInitialized() const {
  return true;
}

void UserFriendItem::InternalSwap(UserFriendItem* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserFriendItem, friend__)
      + sizeof(UserFriendItem::friend__)
      - PROTOBUF_FIELD_OFFSET(UserFriendItem, user_)>(
          reinterpret_cast<char*>(&user_),
          reinterpret_cast<char*>(&other->user_));
}

::herogoogle::protobuf::Metadata UserFriendItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[9]);
}

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

class FriendDeleteRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendDeleteRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const FriendDeleteRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendDeleteRequest::_Internal::base(const FriendDeleteRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
FriendDeleteRequest::_Internal::userkey(const FriendDeleteRequest* msg) {
  return *msg->userkey_;
}
void FriendDeleteRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void FriendDeleteRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
FriendDeleteRequest::FriendDeleteRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
}
FriendDeleteRequest::FriendDeleteRequest(const FriendDeleteRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
}

void FriendDeleteRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

FriendDeleteRequest::~FriendDeleteRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendDeleteRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void FriendDeleteRequest::ArenaDtor(void* object) {
  FriendDeleteRequest* _this = reinterpret_cast< FriendDeleteRequest* >(object);
  (void)_this;
}
void FriendDeleteRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendDeleteRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendDeleteRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendDeleteRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendDeleteRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  return target;
}

size_t FriendDeleteRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendDeleteRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendDeleteRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendDeleteRequest::GetClassData() const { return &_class_data_; }

void FriendDeleteRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendDeleteRequest *>(to)->MergeFrom(
      static_cast<const FriendDeleteRequest &>(from));
}


void FriendDeleteRequest::MergeFrom(const FriendDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendDeleteRequest::CopyFrom(const FriendDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendDeleteRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendDeleteRequest::IsInitialized() const {
  return true;
}

void FriendDeleteRequest::InternalSwap(FriendDeleteRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FriendDeleteRequest, userkey_)
      + sizeof(FriendDeleteRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(FriendDeleteRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata FriendDeleteRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[10]);
}

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

class FriendDeleteResponse::_Internal {
 public:
};

FriendDeleteResponse::FriendDeleteResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteResponse)
}
FriendDeleteResponse::FriendDeleteResponse(const FriendDeleteResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteResponse)
}





const ::herogoogle::protobuf::Message::ClassData FriendDeleteResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*FriendDeleteResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata FriendDeleteResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[11]);
}

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

class FriendBatchDeleteRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendBatchDeleteRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendBatchDeleteRequest::_Internal::base(const FriendBatchDeleteRequest* msg) {
  return *msg->base_;
}
void FriendBatchDeleteRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void FriendBatchDeleteRequest::clear_userkey() {
  userkey_.Clear();
}
FriendBatchDeleteRequest::FriendBatchDeleteRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  userkey_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
}
FriendBatchDeleteRequest::FriendBatchDeleteRequest(const FriendBatchDeleteRequest& from)
  : ::herogoogle::protobuf::Message(),
      userkey_(from.userkey_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
}

void FriendBatchDeleteRequest::SharedCtor() {
base_ = nullptr;
}

FriendBatchDeleteRequest::~FriendBatchDeleteRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendBatchDeleteRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void FriendBatchDeleteRequest::ArenaDtor(void* object) {
  FriendBatchDeleteRequest* _this = reinterpret_cast< FriendBatchDeleteRequest* >(object);
  (void)_this;
}
void FriendBatchDeleteRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendBatchDeleteRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendBatchDeleteRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  userkey_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendBatchDeleteRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_userkey(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendBatchDeleteRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // repeated .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_userkey_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_userkey(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  return target;
}

size_t FriendBatchDeleteRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  total_size += 1UL * this->_internal_userkey_size();
  for (const auto& msg : this->userkey_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendBatchDeleteRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendBatchDeleteRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendBatchDeleteRequest::GetClassData() const { return &_class_data_; }

void FriendBatchDeleteRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendBatchDeleteRequest *>(to)->MergeFrom(
      static_cast<const FriendBatchDeleteRequest &>(from));
}


void FriendBatchDeleteRequest::MergeFrom(const FriendBatchDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  userkey_.MergeFrom(from.userkey_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendBatchDeleteRequest::CopyFrom(const FriendBatchDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendBatchDeleteRequest::IsInitialized() const {
  return true;
}

void FriendBatchDeleteRequest::InternalSwap(FriendBatchDeleteRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  userkey_.InternalSwap(&other->userkey_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata FriendBatchDeleteRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[12]);
}

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

class FriendBatchDeleteResponse::_Internal {
 public:
};

FriendBatchDeleteResponse::FriendBatchDeleteResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
}
FriendBatchDeleteResponse::FriendBatchDeleteResponse(const FriendBatchDeleteResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
}

void FriendBatchDeleteResponse::SharedCtor() {
}

FriendBatchDeleteResponse::~FriendBatchDeleteResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendBatchDeleteResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void FriendBatchDeleteResponse::ArenaDtor(void* object) {
  FriendBatchDeleteResponse* _this = reinterpret_cast< FriendBatchDeleteResponse* >(object);
  (void)_this;
}
void FriendBatchDeleteResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendBatchDeleteResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendBatchDeleteResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendBatchDeleteResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.FriendDeleteResultItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendBatchDeleteResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendDeleteResultItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  return target;
}

size_t FriendBatchDeleteResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendDeleteResultItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendBatchDeleteResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendBatchDeleteResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendBatchDeleteResponse::GetClassData() const { return &_class_data_; }

void FriendBatchDeleteResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendBatchDeleteResponse *>(to)->MergeFrom(
      static_cast<const FriendBatchDeleteResponse &>(from));
}


void FriendBatchDeleteResponse::MergeFrom(const FriendBatchDeleteResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendBatchDeleteResponse::CopyFrom(const FriendBatchDeleteResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendBatchDeleteResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendBatchDeleteResponse::IsInitialized() const {
  return true;
}

void FriendBatchDeleteResponse::InternalSwap(FriendBatchDeleteResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata FriendBatchDeleteResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[13]);
}

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

class FriendDeleteResultItem::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const FriendDeleteResultItem* msg);
};

const ::heroim::client::v3beta::dto::user::model::UserKey&
FriendDeleteResultItem::_Internal::userkey(const FriendDeleteResultItem* msg) {
  return *msg->userkey_;
}
void FriendDeleteResultItem::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
FriendDeleteResultItem::FriendDeleteResultItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
}
FriendDeleteResultItem::FriendDeleteResultItem(const FriendDeleteResultItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_message().empty()) {
    message_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_message(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  code_ = from.code_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
}

void FriendDeleteResultItem::SharedCtor() {
message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&userkey_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&code_) -
    reinterpret_cast<char*>(&userkey_)) + sizeof(code_));
}

FriendDeleteResultItem::~FriendDeleteResultItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendDeleteResultItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  message_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete userkey_;
}

void FriendDeleteResultItem::ArenaDtor(void* object) {
  FriendDeleteResultItem* _this = reinterpret_cast< FriendDeleteResultItem* >(object);
  (void)_this;
}
void FriendDeleteResultItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendDeleteResultItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendDeleteResultItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  message_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  code_ = 0;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendDeleteResultItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 code = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          code_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string message = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_message();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.FriendDeleteResultItem.message"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendDeleteResultItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::userkey(this), target, stream);
  }

  // int32 code = 2;
  if (this->_internal_code() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_code(), target);
  }

  // string message = 3;
  if (!this->_internal_message().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_message().data(), static_cast<int>(this->_internal_message().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.FriendDeleteResultItem.message");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_message(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  return target;
}

size_t FriendDeleteResultItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string message = 3;
  if (!this->_internal_message().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_message());
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  // int32 code = 2;
  if (this->_internal_code() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_code());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendDeleteResultItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendDeleteResultItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendDeleteResultItem::GetClassData() const { return &_class_data_; }

void FriendDeleteResultItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendDeleteResultItem *>(to)->MergeFrom(
      static_cast<const FriendDeleteResultItem &>(from));
}


void FriendDeleteResultItem::MergeFrom(const FriendDeleteResultItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_message().empty()) {
    _internal_set_message(from._internal_message());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  if (from._internal_code() != 0) {
    _internal_set_code(from._internal_code());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendDeleteResultItem::CopyFrom(const FriendDeleteResultItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendDeleteResultItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendDeleteResultItem::IsInitialized() const {
  return true;
}

void FriendDeleteResultItem::InternalSwap(FriendDeleteResultItem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &message_, lhs_arena,
      &other->message_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FriendDeleteResultItem, code_)
      + sizeof(FriendDeleteResultItem::code_)
      - PROTOBUF_FIELD_OFFSET(FriendDeleteResultItem, userkey_)>(
          reinterpret_cast<char*>(&userkey_),
          reinterpret_cast<char*>(&other->userkey_));
}

::herogoogle::protobuf::Metadata FriendDeleteResultItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[14]);
}

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

class BlockedAddRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const BlockedAddRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const BlockedAddRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
BlockedAddRequest::_Internal::base(const BlockedAddRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
BlockedAddRequest::_Internal::userkey(const BlockedAddRequest* msg) {
  return *msg->userkey_;
}
void BlockedAddRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void BlockedAddRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
BlockedAddRequest::BlockedAddRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
}
BlockedAddRequest::BlockedAddRequest(const BlockedAddRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
}

void BlockedAddRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

BlockedAddRequest::~BlockedAddRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void BlockedAddRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void BlockedAddRequest::ArenaDtor(void* object) {
  BlockedAddRequest* _this = reinterpret_cast< BlockedAddRequest* >(object);
  (void)_this;
}
void BlockedAddRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void BlockedAddRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BlockedAddRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* BlockedAddRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* BlockedAddRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  return target;
}

size_t BlockedAddRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData BlockedAddRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    BlockedAddRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*BlockedAddRequest::GetClassData() const { return &_class_data_; }

void BlockedAddRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<BlockedAddRequest *>(to)->MergeFrom(
      static_cast<const BlockedAddRequest &>(from));
}


void BlockedAddRequest::MergeFrom(const BlockedAddRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockedAddRequest::CopyFrom(const BlockedAddRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.BlockedAddRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BlockedAddRequest::IsInitialized() const {
  return true;
}

void BlockedAddRequest::InternalSwap(BlockedAddRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BlockedAddRequest, userkey_)
      + sizeof(BlockedAddRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(BlockedAddRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata BlockedAddRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[15]);
}

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

class BlockedAddResponse::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::relationship::UserBlockedItem& blocked(const BlockedAddResponse* msg);
};

const ::heroim::client::v3beta::dto::relationship::UserBlockedItem&
BlockedAddResponse::_Internal::blocked(const BlockedAddResponse* msg) {
  return *msg->blocked_;
}
BlockedAddResponse::BlockedAddResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
}
BlockedAddResponse::BlockedAddResponse(const BlockedAddResponse& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_blocked()) {
    blocked_ = new ::heroim::client::v3beta::dto::relationship::UserBlockedItem(*from.blocked_);
  } else {
    blocked_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
}

void BlockedAddResponse::SharedCtor() {
blocked_ = nullptr;
}

BlockedAddResponse::~BlockedAddResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void BlockedAddResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete blocked_;
}

void BlockedAddResponse::ArenaDtor(void* object) {
  BlockedAddResponse* _this = reinterpret_cast< BlockedAddResponse* >(object);
  (void)_this;
}
void BlockedAddResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void BlockedAddResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BlockedAddResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && blocked_ != nullptr) {
    delete blocked_;
  }
  blocked_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* BlockedAddResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.relationship.UserBlockedItem blocked = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_blocked(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* BlockedAddResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.relationship.UserBlockedItem blocked = 1;
  if (this->_internal_has_blocked()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::blocked(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  return target;
}

size_t BlockedAddResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.relationship.UserBlockedItem blocked = 1;
  if (this->_internal_has_blocked()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *blocked_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData BlockedAddResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    BlockedAddResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*BlockedAddResponse::GetClassData() const { return &_class_data_; }

void BlockedAddResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<BlockedAddResponse *>(to)->MergeFrom(
      static_cast<const BlockedAddResponse &>(from));
}


void BlockedAddResponse::MergeFrom(const BlockedAddResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_blocked()) {
    _internal_mutable_blocked()->::heroim::client::v3beta::dto::relationship::UserBlockedItem::MergeFrom(from._internal_blocked());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockedAddResponse::CopyFrom(const BlockedAddResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.BlockedAddResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BlockedAddResponse::IsInitialized() const {
  return true;
}

void BlockedAddResponse::InternalSwap(BlockedAddResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(blocked_, other->blocked_);
}

::herogoogle::protobuf::Metadata BlockedAddResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[16]);
}

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

class BlockedDeleteRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const BlockedDeleteRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const BlockedDeleteRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
BlockedDeleteRequest::_Internal::base(const BlockedDeleteRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
BlockedDeleteRequest::_Internal::userkey(const BlockedDeleteRequest* msg) {
  return *msg->userkey_;
}
void BlockedDeleteRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void BlockedDeleteRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
BlockedDeleteRequest::BlockedDeleteRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
}
BlockedDeleteRequest::BlockedDeleteRequest(const BlockedDeleteRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
}

void BlockedDeleteRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

BlockedDeleteRequest::~BlockedDeleteRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void BlockedDeleteRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void BlockedDeleteRequest::ArenaDtor(void* object) {
  BlockedDeleteRequest* _this = reinterpret_cast< BlockedDeleteRequest* >(object);
  (void)_this;
}
void BlockedDeleteRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void BlockedDeleteRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BlockedDeleteRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* BlockedDeleteRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* BlockedDeleteRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  return target;
}

size_t BlockedDeleteRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData BlockedDeleteRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    BlockedDeleteRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*BlockedDeleteRequest::GetClassData() const { return &_class_data_; }

void BlockedDeleteRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<BlockedDeleteRequest *>(to)->MergeFrom(
      static_cast<const BlockedDeleteRequest &>(from));
}


void BlockedDeleteRequest::MergeFrom(const BlockedDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockedDeleteRequest::CopyFrom(const BlockedDeleteRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.BlockedDeleteRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BlockedDeleteRequest::IsInitialized() const {
  return true;
}

void BlockedDeleteRequest::InternalSwap(BlockedDeleteRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BlockedDeleteRequest, userkey_)
      + sizeof(BlockedDeleteRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(BlockedDeleteRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata BlockedDeleteRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[17]);
}

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

class BlockedDeleteResponse::_Internal {
 public:
};

BlockedDeleteResponse::BlockedDeleteResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedDeleteResponse)
}
BlockedDeleteResponse::BlockedDeleteResponse(const BlockedDeleteResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedDeleteResponse)
}





const ::herogoogle::protobuf::Message::ClassData BlockedDeleteResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*BlockedDeleteResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata BlockedDeleteResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[18]);
}

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

class BlockedListRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const BlockedListRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
BlockedListRequest::_Internal::base(const BlockedListRequest* msg) {
  return *msg->base_;
}
void BlockedListRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
BlockedListRequest::BlockedListRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedListRequest)
}
BlockedListRequest::BlockedListRequest(const BlockedListRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedListRequest)
}

void BlockedListRequest::SharedCtor() {
base_ = nullptr;
}

BlockedListRequest::~BlockedListRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void BlockedListRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void BlockedListRequest::ArenaDtor(void* object) {
  BlockedListRequest* _this = reinterpret_cast< BlockedListRequest* >(object);
  (void)_this;
}
void BlockedListRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void BlockedListRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BlockedListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* BlockedListRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* BlockedListRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  return target;
}

size_t BlockedListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData BlockedListRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    BlockedListRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*BlockedListRequest::GetClassData() const { return &_class_data_; }

void BlockedListRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<BlockedListRequest *>(to)->MergeFrom(
      static_cast<const BlockedListRequest &>(from));
}


void BlockedListRequest::MergeFrom(const BlockedListRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockedListRequest::CopyFrom(const BlockedListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.BlockedListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BlockedListRequest::IsInitialized() const {
  return true;
}

void BlockedListRequest::InternalSwap(BlockedListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata BlockedListRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[19]);
}

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

class BlockedListResponse::_Internal {
 public:
};

BlockedListResponse::BlockedListResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.BlockedListResponse)
}
BlockedListResponse::BlockedListResponse(const BlockedListResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.BlockedListResponse)
}

void BlockedListResponse::SharedCtor() {
}

BlockedListResponse::~BlockedListResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void BlockedListResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void BlockedListResponse::ArenaDtor(void* object) {
  BlockedListResponse* _this = reinterpret_cast< BlockedListResponse* >(object);
  (void)_this;
}
void BlockedListResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void BlockedListResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BlockedListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* BlockedListResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.UserBlockedItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* BlockedListResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.UserBlockedItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  return target;
}

size_t BlockedListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.UserBlockedItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData BlockedListResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    BlockedListResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*BlockedListResponse::GetClassData() const { return &_class_data_; }

void BlockedListResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<BlockedListResponse *>(to)->MergeFrom(
      static_cast<const BlockedListResponse &>(from));
}


void BlockedListResponse::MergeFrom(const BlockedListResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockedListResponse::CopyFrom(const BlockedListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.BlockedListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BlockedListResponse::IsInitialized() const {
  return true;
}

void BlockedListResponse::InternalSwap(BlockedListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata BlockedListResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[20]);
}

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

class UserBlockedItem::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::User& user(const UserBlockedItem* msg);
  static const ::heroim::client::v3beta::dto::relationship::model::UserBlocked& blocked(const UserBlockedItem* msg);
};

const ::heroim::client::v3beta::dto::user::model::User&
UserBlockedItem::_Internal::user(const UserBlockedItem* msg) {
  return *msg->user_;
}
const ::heroim::client::v3beta::dto::relationship::model::UserBlocked&
UserBlockedItem::_Internal::blocked(const UserBlockedItem* msg) {
  return *msg->blocked_;
}
void UserBlockedItem::clear_user() {
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
}
void UserBlockedItem::clear_blocked() {
  if (GetArenaForAllocation() == nullptr && blocked_ != nullptr) {
    delete blocked_;
  }
  blocked_ = nullptr;
}
UserBlockedItem::UserBlockedItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.UserBlockedItem)
}
UserBlockedItem::UserBlockedItem(const UserBlockedItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_user()) {
    user_ = new ::heroim::client::v3beta::dto::user::model::User(*from.user_);
  } else {
    user_ = nullptr;
  }
  if (from._internal_has_blocked()) {
    blocked_ = new ::heroim::client::v3beta::dto::relationship::model::UserBlocked(*from.blocked_);
  } else {
    blocked_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.UserBlockedItem)
}

void UserBlockedItem::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&user_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&blocked_) -
    reinterpret_cast<char*>(&user_)) + sizeof(blocked_));
}

UserBlockedItem::~UserBlockedItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserBlockedItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete user_;
  if (this != internal_default_instance()) delete blocked_;
}

void UserBlockedItem::ArenaDtor(void* object) {
  UserBlockedItem* _this = reinterpret_cast< UserBlockedItem* >(object);
  (void)_this;
}
void UserBlockedItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserBlockedItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserBlockedItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  if (GetArenaForAllocation() == nullptr && blocked_ != nullptr) {
    delete blocked_;
  }
  blocked_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserBlockedItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.User User = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.relationship.model.UserBlocked blocked = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_blocked(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserBlockedItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User User = 1;
  if (this->_internal_has_user()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // .heroim.client.v3beta.dto.relationship.model.UserBlocked blocked = 2;
  if (this->_internal_has_blocked()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::blocked(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  return target;
}

size_t UserBlockedItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User User = 1;
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *user_);
  }

  // .heroim.client.v3beta.dto.relationship.model.UserBlocked blocked = 2;
  if (this->_internal_has_blocked()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *blocked_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserBlockedItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserBlockedItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserBlockedItem::GetClassData() const { return &_class_data_; }

void UserBlockedItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserBlockedItem *>(to)->MergeFrom(
      static_cast<const UserBlockedItem &>(from));
}


void UserBlockedItem::MergeFrom(const UserBlockedItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_user()) {
    _internal_mutable_user()->::heroim::client::v3beta::dto::user::model::User::MergeFrom(from._internal_user());
  }
  if (from._internal_has_blocked()) {
    _internal_mutable_blocked()->::heroim::client::v3beta::dto::relationship::model::UserBlocked::MergeFrom(from._internal_blocked());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserBlockedItem::CopyFrom(const UserBlockedItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.UserBlockedItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserBlockedItem::IsInitialized() const {
  return true;
}

void UserBlockedItem::InternalSwap(UserBlockedItem* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserBlockedItem, blocked_)
      + sizeof(UserBlockedItem::blocked_)
      - PROTOBUF_FIELD_OFFSET(UserBlockedItem, user_)>(
          reinterpret_cast<char*>(&user_),
          reinterpret_cast<char*>(&other->user_));
}

::herogoogle::protobuf::Metadata UserBlockedItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[21]);
}

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

class FriendApplyListRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendApplyListRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendApplyListRequest::_Internal::base(const FriendApplyListRequest* msg) {
  return *msg->base_;
}
void FriendApplyListRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
FriendApplyListRequest::FriendApplyListRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
}
FriendApplyListRequest::FriendApplyListRequest(const FriendApplyListRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
}

void FriendApplyListRequest::SharedCtor() {
base_ = nullptr;
}

FriendApplyListRequest::~FriendApplyListRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendApplyListRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void FriendApplyListRequest::ArenaDtor(void* object) {
  FriendApplyListRequest* _this = reinterpret_cast< FriendApplyListRequest* >(object);
  (void)_this;
}
void FriendApplyListRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendApplyListRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendApplyListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendApplyListRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendApplyListRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  return target;
}

size_t FriendApplyListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendApplyListRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendApplyListRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyListRequest::GetClassData() const { return &_class_data_; }

void FriendApplyListRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendApplyListRequest *>(to)->MergeFrom(
      static_cast<const FriendApplyListRequest &>(from));
}


void FriendApplyListRequest::MergeFrom(const FriendApplyListRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendApplyListRequest::CopyFrom(const FriendApplyListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendApplyListRequest::IsInitialized() const {
  return true;
}

void FriendApplyListRequest::InternalSwap(FriendApplyListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata FriendApplyListRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[22]);
}

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

class FriendApplyListResponse::_Internal {
 public:
};

FriendApplyListResponse::FriendApplyListResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
}
FriendApplyListResponse::FriendApplyListResponse(const FriendApplyListResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
}

void FriendApplyListResponse::SharedCtor() {
}

FriendApplyListResponse::~FriendApplyListResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendApplyListResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void FriendApplyListResponse::ArenaDtor(void* object) {
  FriendApplyListResponse* _this = reinterpret_cast< FriendApplyListResponse* >(object);
  (void)_this;
}
void FriendApplyListResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendApplyListResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendApplyListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendApplyListResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendApplyListResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  return target;
}

size_t FriendApplyListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendApplyListResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendApplyListResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyListResponse::GetClassData() const { return &_class_data_; }

void FriendApplyListResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendApplyListResponse *>(to)->MergeFrom(
      static_cast<const FriendApplyListResponse &>(from));
}


void FriendApplyListResponse::MergeFrom(const FriendApplyListResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendApplyListResponse::CopyFrom(const FriendApplyListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendApplyListResponse::IsInitialized() const {
  return true;
}

void FriendApplyListResponse::InternalSwap(FriendApplyListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata FriendApplyListResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[23]);
}

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

class FriendApplyListResponseItem::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::User& user(const FriendApplyListResponseItem* msg);
};

const ::heroim::client::v3beta::dto::user::model::User&
FriendApplyListResponseItem::_Internal::user(const FriendApplyListResponseItem* msg) {
  return *msg->user_;
}
void FriendApplyListResponseItem::clear_user() {
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
}
FriendApplyListResponseItem::FriendApplyListResponseItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
}
FriendApplyListResponseItem::FriendApplyListResponseItem(const FriendApplyListResponseItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  acttoken_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_acttoken().empty()) {
    acttoken_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_acttoken(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_user()) {
    user_ = new ::heroim::client::v3beta::dto::user::model::User(*from.user_);
  } else {
    user_ = nullptr;
  }
  applytime_ = from.applytime_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
}

void FriendApplyListResponseItem::SharedCtor() {
acttoken_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&user_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&applytime_) -
    reinterpret_cast<char*>(&user_)) + sizeof(applytime_));
}

FriendApplyListResponseItem::~FriendApplyListResponseItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendApplyListResponseItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  acttoken_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete user_;
}

void FriendApplyListResponseItem::ArenaDtor(void* object) {
  FriendApplyListResponseItem* _this = reinterpret_cast< FriendApplyListResponseItem* >(object);
  (void)_this;
}
void FriendApplyListResponseItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FriendApplyListResponseItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendApplyListResponseItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  acttoken_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  applytime_ = int64_t{0};
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendApplyListResponseItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.User user = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int64 applyTime = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          applytime_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string actToken = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_acttoken();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem.actToken"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendApplyListResponseItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  // int64 applyTime = 2;
  if (this->_internal_applytime() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_applytime(), target);
  }

  // string actToken = 3;
  if (!this->_internal_acttoken().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_acttoken().data(), static_cast<int>(this->_internal_acttoken().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem.actToken");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_acttoken(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  return target;
}

size_t FriendApplyListResponseItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string actToken = 3;
  if (!this->_internal_acttoken().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_acttoken());
  }

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *user_);
  }

  // int64 applyTime = 2;
  if (this->_internal_applytime() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int64SizePlusOne(this->_internal_applytime());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendApplyListResponseItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendApplyListResponseItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendApplyListResponseItem::GetClassData() const { return &_class_data_; }

void FriendApplyListResponseItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendApplyListResponseItem *>(to)->MergeFrom(
      static_cast<const FriendApplyListResponseItem &>(from));
}


void FriendApplyListResponseItem::MergeFrom(const FriendApplyListResponseItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_acttoken().empty()) {
    _internal_set_acttoken(from._internal_acttoken());
  }
  if (from._internal_has_user()) {
    _internal_mutable_user()->::heroim::client::v3beta::dto::user::model::User::MergeFrom(from._internal_user());
  }
  if (from._internal_applytime() != 0) {
    _internal_set_applytime(from._internal_applytime());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendApplyListResponseItem::CopyFrom(const FriendApplyListResponseItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendApplyListResponseItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendApplyListResponseItem::IsInitialized() const {
  return true;
}

void FriendApplyListResponseItem::InternalSwap(FriendApplyListResponseItem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &acttoken_, lhs_arena,
      &other->acttoken_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FriendApplyListResponseItem, applytime_)
      + sizeof(FriendApplyListResponseItem::applytime_)
      - PROTOBUF_FIELD_OFFSET(FriendApplyListResponseItem, user_)>(
          reinterpret_cast<char*>(&user_),
          reinterpret_cast<char*>(&other->user_));
}

::herogoogle::protobuf::Metadata FriendApplyListResponseItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[24]);
}

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

FriendUpdateRequest_ExtraEntry_DoNotUse::FriendUpdateRequest_ExtraEntry_DoNotUse() {}
FriendUpdateRequest_ExtraEntry_DoNotUse::FriendUpdateRequest_ExtraEntry_DoNotUse(::herogoogle::protobuf::Arena* arena)
    : SuperType(arena) {}
void FriendUpdateRequest_ExtraEntry_DoNotUse::MergeFrom(const FriendUpdateRequest_ExtraEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::herogoogle::protobuf::Metadata FriendUpdateRequest_ExtraEntry_DoNotUse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[25]);
}

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

class FriendUpdateRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FriendUpdateRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const FriendUpdateRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FriendUpdateRequest::_Internal::base(const FriendUpdateRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
FriendUpdateRequest::_Internal::userkey(const FriendUpdateRequest* msg) {
  return *msg->userkey_;
}
void FriendUpdateRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void FriendUpdateRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
FriendUpdateRequest::FriendUpdateRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  extra_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
}
FriendUpdateRequest::FriendUpdateRequest(const FriendUpdateRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  extra_.MergeFrom(from.extra_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
}

void FriendUpdateRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

FriendUpdateRequest::~FriendUpdateRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FriendUpdateRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void FriendUpdateRequest::ArenaDtor(void* object) {
  FriendUpdateRequest* _this = reinterpret_cast< FriendUpdateRequest* >(object);
  (void)_this;
  _this->extra_. ~MapField();
}
inline void FriendUpdateRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena* arena) {
  if (arena != nullptr) {
    arena->OwnCustomDestructor(this, &FriendUpdateRequest::ArenaDtor);
  }
}
void FriendUpdateRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FriendUpdateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  extra_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FriendUpdateRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // map<string, string> extra = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&extra_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FriendUpdateRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  // map<string, string> extra = 3;
  if (!this->_internal_extra().empty()) {
    typedef ::herogoogle::protobuf::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::herogoogle::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        (void)p;
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.relationship.FriendUpdateRequest.ExtraEntry.key");
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.relationship.FriendUpdateRequest.ExtraEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_extra().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_extra().size()]);
      typedef ::herogoogle::protobuf::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_extra().begin();
          it != this->_internal_extra().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = FriendUpdateRequest_ExtraEntry_DoNotUse::Funcs::InternalSerialize(3, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_extra().begin();
          it != this->_internal_extra().end(); ++it) {
        target = FriendUpdateRequest_ExtraEntry_DoNotUse::Funcs::InternalSerialize(3, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  return target;
}

size_t FriendUpdateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> extra = 3;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(this->_internal_extra_size());
  for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
      it = this->_internal_extra().begin();
      it != this->_internal_extra().end(); ++it) {
    total_size += FriendUpdateRequest_ExtraEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FriendUpdateRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FriendUpdateRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FriendUpdateRequest::GetClassData() const { return &_class_data_; }

void FriendUpdateRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FriendUpdateRequest *>(to)->MergeFrom(
      static_cast<const FriendUpdateRequest &>(from));
}


void FriendUpdateRequest::MergeFrom(const FriendUpdateRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  extra_.MergeFrom(from.extra_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FriendUpdateRequest::CopyFrom(const FriendUpdateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.relationship.FriendUpdateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FriendUpdateRequest::IsInitialized() const {
  return true;
}

void FriendUpdateRequest::InternalSwap(FriendUpdateRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  extra_.InternalSwap(&other->extra_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FriendUpdateRequest, userkey_)
      + sizeof(FriendUpdateRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(FriendUpdateRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata FriendUpdateRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[26]);
}

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

class FriendUpdateResponse::_Internal {
 public:
};

FriendUpdateResponse::FriendUpdateResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase(arena, is_message_owned) {
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.relationship.FriendUpdateResponse)
}
FriendUpdateResponse::FriendUpdateResponse(const FriendUpdateResponse& from)
  : ::herogoogle::protobuf::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.relationship.FriendUpdateResponse)
}





const ::herogoogle::protobuf::Message::ClassData FriendUpdateResponse::_class_data_ = {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl,
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl,
};
const ::herogoogle::protobuf::Message::ClassData*FriendUpdateResponse::GetClassData() const { return &_class_data_; }







::herogoogle::protobuf::Metadata FriendUpdateResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2frelationship_2frelationship_5fdto_2eproto[27]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace relationship
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::RSFriendApplyAgreeResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::RSFriendApplyDisagreeResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyResultItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyResultItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyResultItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendListRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendListResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::UserFriendItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::UserFriendItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::UserFriendItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendDeleteRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendDeleteRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendDeleteRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendDeleteResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendDeleteResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendDeleteResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendBatchDeleteResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendDeleteResultItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedAddRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedAddRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedAddRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedAddResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedAddResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedAddResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedDeleteRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedDeleteResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedDeleteResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedDeleteResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedListRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::BlockedListResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::BlockedListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::BlockedListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::UserBlockedItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::UserBlockedItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::UserBlockedItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyListRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyListResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendApplyListResponseItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest_ExtraEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendUpdateRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::relationship::FriendUpdateResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::relationship::FriendUpdateResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::relationship::FriendUpdateResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

