//
//Сервис реализует функционал управления партнерами

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.1
// source: keyapis/multiapp/v1/keyapis_multiapp_partner_v1.proto

package keyapis_multiapp_v1

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/descriptorpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Справочник типов значений сортировки.
// # Тип: byte
type PartnerPaging_OrderByType int32

const (
	// Значение не указано
	PartnerPaging_ORDER_BY_TYPE_UNKNOWN PartnerPaging_OrderByType = 0
	// Дата последнего изменения
	PartnerPaging_CHANGED_AT PartnerPaging_OrderByType = 1
	// Дата создания
	PartnerPaging_CREATED_AT PartnerPaging_OrderByType = 2
	// По рангу для поиска по тексту.
	// Применяется когда передано поле для поиска по тексту.
	// В случае если текстовое поле не передано, применяется значение по умолчанию
	PartnerPaging_RANK PartnerPaging_OrderByType = 3
)

// Enum value maps for PartnerPaging_OrderByType.
var (
	PartnerPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "CHANGED_AT",
		2: "CREATED_AT",
		3: "RANK",
	}
	PartnerPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"CHANGED_AT":            1,
		"CREATED_AT":            2,
		"RANK":                  3,
	}
)

func (x PartnerPaging_OrderByType) Enum() *PartnerPaging_OrderByType {
	p := new(PartnerPaging_OrderByType)
	*p = x
	return p
}

func (x PartnerPaging_OrderByType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PartnerPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes[0].Descriptor()
}

func (PartnerPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes[0]
}

func (x PartnerPaging_OrderByType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PartnerPaging_OrderByType.Descriptor instead.
func (PartnerPaging_OrderByType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{3, 0}
}

// Справочник типов направлений сортировки.
// # Тип: byte
type PartnerPaging_DirectionType int32

const (
	// Значение не указано
	PartnerPaging_DIRECTION_TYPE_UNKNOWN PartnerPaging_DirectionType = 0
	// От большего к меньшему
	PartnerPaging_DESC PartnerPaging_DirectionType = 1
	// От меньшего к большему
	PartnerPaging_ASC PartnerPaging_DirectionType = 2
)

// Enum value maps for PartnerPaging_DirectionType.
var (
	PartnerPaging_DirectionType_name = map[int32]string{
		0: "DIRECTION_TYPE_UNKNOWN",
		1: "DESC",
		2: "ASC",
	}
	PartnerPaging_DirectionType_value = map[string]int32{
		"DIRECTION_TYPE_UNKNOWN": 0,
		"DESC":                   1,
		"ASC":                    2,
	}
)

func (x PartnerPaging_DirectionType) Enum() *PartnerPaging_DirectionType {
	p := new(PartnerPaging_DirectionType)
	*p = x
	return p
}

func (x PartnerPaging_DirectionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PartnerPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes[1].Descriptor()
}

func (PartnerPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes[1]
}

func (x PartnerPaging_DirectionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PartnerPaging_DirectionType.Descriptor instead.
func (PartnerPaging_DirectionType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{3, 1}
}

// Партнер.
// # Описание модели
type Partner struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор.
	// Если не передан создаётся сервером.
	// # Тип: Guid
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Наименование.
	// # Диапазон: 2..256
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// API ключ.
	// # Тип: Guid?
	ApiKey *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	// Публичный ключ
	PublicKey *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// Дата создания партнера.
	// # Тип: DateTime
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Дата обновления партнера.
	// # Тип: DateTime
	ChangedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=changed_at,json=changedAt,proto3" json:"changed_at,omitempty"`
	// Дата удаления партнера.
	// # Тип: DateTime?
	DeletedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
	// Хэш от API ключа
	ApiKeyHash *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=api_key_hash,json=apiKeyHash,proto3" json:"api_key_hash,omitempty"`
	// API ключ маскированный
	ApiKeyMasked *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=api_key_masked,json=apiKeyMasked,proto3" json:"api_key_masked,omitempty"`
}

func (x *Partner) Reset() {
	*x = Partner{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partner) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partner) ProtoMessage() {}

func (x *Partner) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partner.ProtoReflect.Descriptor instead.
func (*Partner) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{0}
}

func (x *Partner) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Partner) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Partner) GetApiKey() *wrapperspb.StringValue {
	if x != nil {
		return x.ApiKey
	}
	return nil
}

func (x *Partner) GetPublicKey() *wrapperspb.StringValue {
	if x != nil {
		return x.PublicKey
	}
	return nil
}

func (x *Partner) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Partner) GetChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ChangedAt
	}
	return nil
}

func (x *Partner) GetDeletedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.DeletedAt
	}
	return nil
}

func (x *Partner) GetApiKeyHash() *wrapperspb.StringValue {
	if x != nil {
		return x.ApiKeyHash
	}
	return nil
}

func (x *Partner) GetApiKeyMasked() *wrapperspb.StringValue {
	if x != nil {
		return x.ApiKeyMasked
	}
	return nil
}

// Ответ на запрос токена
type Token struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// ID токен в формате nested JWT
	IdToken string `protobuf:"bytes,1,opt,name=id_token,proto3" json:"id_token,omitempty"`
	// Авторизационный токен
	AccessToken string `protobuf:"bytes,2,opt,name=access_token,proto3" json:"access_token,omitempty"`
	// Тип авторизационного токена
	TypeOfAccessToken string `protobuf:"bytes,3,opt,name=type_of_access_token,json=token_type,proto3" json:"type_of_access_token,omitempty"`
	// Токен, используемый для получения нового Access Token после истечения срока действия текущего токена доступа
	RefreshToken string `protobuf:"bytes,4,opt,name=refresh_token,proto3" json:"refresh_token,omitempty"`
	// Время (в секундах), через которое истечет срок действия Access Token
	ExpiresIn int32 `protobuf:"varint,5,opt,name=expires_in,proto3" json:"expires_in,omitempty"`
}

func (x *Token) Reset() {
	*x = Token{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Token) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Token) ProtoMessage() {}

func (x *Token) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Token.ProtoReflect.Descriptor instead.
func (*Token) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{1}
}

func (x *Token) GetIdToken() string {
	if x != nil {
		return x.IdToken
	}
	return ""
}

func (x *Token) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *Token) GetTypeOfAccessToken() string {
	if x != nil {
		return x.TypeOfAccessToken
	}
	return ""
}

func (x *Token) GetRefreshToken() string {
	if x != nil {
		return x.RefreshToken
	}
	return ""
}

func (x *Token) GetExpiresIn() int32 {
	if x != nil {
		return x.ExpiresIn
	}
	return 0
}

// Фильтр партнеров
type PartnerFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По тексту.
	// Если значение не передано то поиск по нему не производится.
	// # Диапазон: 3..64.
	// # Поиск производится по полям:
	// # - Наименование
	Text *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// От даты обновления партнера включительно (больше или равно)
	BeginChangedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=begin_changed_at,json=beginChangedAt,proto3" json:"begin_changed_at,omitempty"`
	// До даты обновления партнера (меньше)
	EndChangedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_changed_at,json=endChangedAt,proto3" json:"end_changed_at,omitempty"`
	// По идентификаторам доступных шаблонов.
	// # Тип: Guid
	TemplateIds []string `protobuf:"bytes,4,rep,name=template_ids,json=templateIds,proto3" json:"template_ids,omitempty"`
	// Показывать удаленные
	IsShowDeleted *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=is_show_deleted,json=isShowDeleted,proto3" json:"is_show_deleted,omitempty"`
}

func (x *PartnerFilter) Reset() {
	*x = PartnerFilter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PartnerFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PartnerFilter) ProtoMessage() {}

func (x *PartnerFilter) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PartnerFilter.ProtoReflect.Descriptor instead.
func (*PartnerFilter) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{2}
}

func (x *PartnerFilter) GetText() *wrapperspb.StringValue {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *PartnerFilter) GetBeginChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.BeginChangedAt
	}
	return nil
}

func (x *PartnerFilter) GetEndChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.EndChangedAt
	}
	return nil
}

func (x *PartnerFilter) GetTemplateIds() []string {
	if x != nil {
		return x.TemplateIds
	}
	return nil
}

func (x *PartnerFilter) GetIsShowDeleted() *wrapperspb.BoolValue {
	if x != nil {
		return x.IsShowDeleted
	}
	return nil
}

// Пагинация партнеров
type PartnerPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип значения сортировки.
	// Если значение не передано, то будет взято значение по умолчанию.
	// # По умолчанию: CHANGED_AT
	OrderByType PartnerPaging_OrderByType `protobuf:"varint,1,opt,name=order_by_type,json=orderByType,proto3,enum=keyapis.multiapp.v1.PartnerPaging_OrderByType" json:"order_by_type,omitempty"`
	// Тип направления сортировки.
	// # По умолчанию: DESC
	DirectionType PartnerPaging_DirectionType `protobuf:"varint,2,opt,name=direction_type,json=directionType,proto3,enum=keyapis.multiapp.v1.PartnerPaging_DirectionType" json:"direction_type,omitempty"`
	// Количество записей на страницу.
	// Если значение 0 (не передано), то будет взято значение по умолчанию.
	// # Диапазон: 0..100.
	// # По умолчанию: 20
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// Сдвиг.
	// # Диапазон: 0..2147483647
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
}

func (x *PartnerPaging) Reset() {
	*x = PartnerPaging{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PartnerPaging) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PartnerPaging) ProtoMessage() {}

func (x *PartnerPaging) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PartnerPaging.ProtoReflect.Descriptor instead.
func (*PartnerPaging) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{3}
}

func (x *PartnerPaging) GetOrderByType() PartnerPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return PartnerPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *PartnerPaging) GetDirectionType() PartnerPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return PartnerPaging_DIRECTION_TYPE_UNKNOWN
}

func (x *PartnerPaging) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *PartnerPaging) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// Запрос сохранения партнера
type PostPartnerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Партнер
	Data *Partner `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *PostPartnerRequest) Reset() {
	*x = PostPartnerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerRequest) ProtoMessage() {}

func (x *PostPartnerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerRequest.ProtoReflect.Descriptor instead.
func (*PostPartnerRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{4}
}

func (x *PostPartnerRequest) GetData() *Partner {
	if x != nil {
		return x.Data
	}
	return nil
}

// Ответ на запрос сохранения партнера
type PostPartnerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*PostPartnerResponse_Data
	//	*PostPartnerResponse_Error_
	Type isPostPartnerResponse_Type `protobuf_oneof:"type"`
}

func (x *PostPartnerResponse) Reset() {
	*x = PostPartnerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerResponse) ProtoMessage() {}

func (x *PostPartnerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerResponse.ProtoReflect.Descriptor instead.
func (*PostPartnerResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{5}
}

func (m *PostPartnerResponse) GetType() isPostPartnerResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *PostPartnerResponse) GetData() *Partner {
	if x, ok := x.GetType().(*PostPartnerResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *PostPartnerResponse) GetError() *PostPartnerResponse_Error {
	if x, ok := x.GetType().(*PostPartnerResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isPostPartnerResponse_Type interface {
	isPostPartnerResponse_Type()
}

type PostPartnerResponse_Data struct {
	// Партнер
	Data *Partner `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type PostPartnerResponse_Error_ struct {
	// Ошибка
	Error *PostPartnerResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*PostPartnerResponse_Data) isPostPartnerResponse_Type() {}

func (*PostPartnerResponse_Error_) isPostPartnerResponse_Type() {}

// Запрос получения партнера
type GetPartnerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор партнера.
	// # Тип: Guid
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetPartnerRequest) Reset() {
	*x = GetPartnerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerRequest) ProtoMessage() {}

func (x *GetPartnerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerRequest.ProtoReflect.Descriptor instead.
func (*GetPartnerRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{6}
}

func (x *GetPartnerRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Ответ на запрос получения партнера
type GetPartnerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetPartnerResponse_Data
	//	*GetPartnerResponse_Error_
	Type isGetPartnerResponse_Type `protobuf_oneof:"type"`
}

func (x *GetPartnerResponse) Reset() {
	*x = GetPartnerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerResponse) ProtoMessage() {}

func (x *GetPartnerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerResponse.ProtoReflect.Descriptor instead.
func (*GetPartnerResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{7}
}

func (m *GetPartnerResponse) GetType() isGetPartnerResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetPartnerResponse) GetData() *Partner {
	if x, ok := x.GetType().(*GetPartnerResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetPartnerResponse) GetError() *GetPartnerResponse_Error {
	if x, ok := x.GetType().(*GetPartnerResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetPartnerResponse_Type interface {
	isGetPartnerResponse_Type()
}

type GetPartnerResponse_Data struct {
	// Партнер
	Data *Partner `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetPartnerResponse_Error_ struct {
	// Ошибка
	Error *GetPartnerResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetPartnerResponse_Data) isGetPartnerResponse_Type() {}

func (*GetPartnerResponse_Error_) isGetPartnerResponse_Type() {}

// Запрос получения списка партнеров
type GetPartnerListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр
	Filter *PartnerFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetPartnerListRequest_Paging
	Pagination isGetPartnerListRequest_Pagination `protobuf_oneof:"pagination"`
}

func (x *GetPartnerListRequest) Reset() {
	*x = GetPartnerListRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerListRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerListRequest) ProtoMessage() {}

func (x *GetPartnerListRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerListRequest.ProtoReflect.Descriptor instead.
func (*GetPartnerListRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{8}
}

func (x *GetPartnerListRequest) GetFilter() *PartnerFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetPartnerListRequest) GetPagination() isGetPartnerListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetPartnerListRequest) GetPaging() *PartnerPaging {
	if x, ok := x.GetPagination().(*GetPartnerListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetPartnerListRequest_Pagination interface {
	isGetPartnerListRequest_Pagination()
}

type GetPartnerListRequest_Paging struct {
	// Пагинация
	Paging *PartnerPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetPartnerListRequest_Paging) isGetPartnerListRequest_Pagination() {}

// Ответ на запрос получения списка партнеров
type GetPartnerListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetPartnerListResponse_Data
	//	*GetPartnerListResponse_Error_
	Type isGetPartnerListResponse_Type `protobuf_oneof:"type"`
}

func (x *GetPartnerListResponse) Reset() {
	*x = GetPartnerListResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerListResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerListResponse) ProtoMessage() {}

func (x *GetPartnerListResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerListResponse.ProtoReflect.Descriptor instead.
func (*GetPartnerListResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{9}
}

func (m *GetPartnerListResponse) GetType() isGetPartnerListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetPartnerListResponse) GetData() *Partner {
	if x, ok := x.GetType().(*GetPartnerListResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetPartnerListResponse) GetError() *GetPartnerListResponse_Error {
	if x, ok := x.GetType().(*GetPartnerListResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetPartnerListResponse_Type interface {
	isGetPartnerListResponse_Type()
}

type GetPartnerListResponse_Data struct {
	// Партнер
	Data *Partner `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetPartnerListResponse_Error_ struct {
	// Ошибка
	Error *GetPartnerListResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetPartnerListResponse_Data) isGetPartnerListResponse_Type() {}

func (*GetPartnerListResponse_Error_) isGetPartnerListResponse_Type() {}

// Запрос получения количества партнеров
type GetPartnerCountRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр
	Filter *PartnerFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *GetPartnerCountRequest) Reset() {
	*x = GetPartnerCountRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerCountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerCountRequest) ProtoMessage() {}

func (x *GetPartnerCountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerCountRequest.ProtoReflect.Descriptor instead.
func (*GetPartnerCountRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{10}
}

func (x *GetPartnerCountRequest) GetFilter() *PartnerFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Ответ на запрос получения количества партнеров
type GetPartnerCountResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetPartnerCountResponse_Data
	//	*GetPartnerCountResponse_Error_
	Type isGetPartnerCountResponse_Type `protobuf_oneof:"type"`
}

func (x *GetPartnerCountResponse) Reset() {
	*x = GetPartnerCountResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerCountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerCountResponse) ProtoMessage() {}

func (x *GetPartnerCountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerCountResponse.ProtoReflect.Descriptor instead.
func (*GetPartnerCountResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{11}
}

func (m *GetPartnerCountResponse) GetType() isGetPartnerCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetPartnerCountResponse) GetData() int32 {
	if x, ok := x.GetType().(*GetPartnerCountResponse_Data); ok {
		return x.Data
	}
	return 0
}

func (x *GetPartnerCountResponse) GetError() *GetPartnerCountResponse_Error {
	if x, ok := x.GetType().(*GetPartnerCountResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetPartnerCountResponse_Type interface {
	isGetPartnerCountResponse_Type()
}

type GetPartnerCountResponse_Data struct {
	// Всего партнеров
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

type GetPartnerCountResponse_Error_ struct {
	// Ошибка
	Error *GetPartnerCountResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetPartnerCountResponse_Data) isGetPartnerCountResponse_Type() {}

func (*GetPartnerCountResponse_Error_) isGetPartnerCountResponse_Type() {}

// Запрос получения токена
type GetPartnerTokenRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Код.
	// # Тип: Guid
	Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	// Тип ответа.
	// # Допустимые значения: "id_token", "token", "id_token token"
	Response string `protobuf:"bytes,2,opt,name=response,json=response_type,proto3" json:"response,omitempty"`
	// Ваучер
	Nonce string `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
}

func (x *GetPartnerTokenRequest) Reset() {
	*x = GetPartnerTokenRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenRequest) ProtoMessage() {}

func (x *GetPartnerTokenRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenRequest.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{12}
}

func (x *GetPartnerTokenRequest) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *GetPartnerTokenRequest) GetResponse() string {
	if x != nil {
		return x.Response
	}
	return ""
}

func (x *GetPartnerTokenRequest) GetNonce() string {
	if x != nil {
		return x.Nonce
	}
	return ""
}

// Ответ на запрос получения токена
type GetPartnerTokenResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetPartnerTokenResponse_Data
	//	*GetPartnerTokenResponse_Error_
	Type isGetPartnerTokenResponse_Type `protobuf_oneof:"type"`
}

func (x *GetPartnerTokenResponse) Reset() {
	*x = GetPartnerTokenResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse) ProtoMessage() {}

func (x *GetPartnerTokenResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13}
}

func (m *GetPartnerTokenResponse) GetType() isGetPartnerTokenResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetPartnerTokenResponse) GetData() *Token {
	if x, ok := x.GetType().(*GetPartnerTokenResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetPartnerTokenResponse) GetError() *GetPartnerTokenResponse_Error {
	if x, ok := x.GetType().(*GetPartnerTokenResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetPartnerTokenResponse_Type interface {
	isGetPartnerTokenResponse_Type()
}

type GetPartnerTokenResponse_Data struct {
	// Токен
	Data *Token `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_ struct {
	// Ошибка
	Error *GetPartnerTokenResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetPartnerTokenResponse_Data) isGetPartnerTokenResponse_Type() {}

func (*GetPartnerTokenResponse_Error_) isGetPartnerTokenResponse_Type() {}

// Запрос сохранения публичного ключа партнера
type PostPartnerPublicKeyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Публичный ключ
	PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
}

func (x *PostPartnerPublicKeyRequest) Reset() {
	*x = PostPartnerPublicKeyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerPublicKeyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerPublicKeyRequest) ProtoMessage() {}

func (x *PostPartnerPublicKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerPublicKeyRequest.ProtoReflect.Descriptor instead.
func (*PostPartnerPublicKeyRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{14}
}

func (x *PostPartnerPublicKeyRequest) GetPublicKey() string {
	if x != nil {
		return x.PublicKey
	}
	return ""
}

// Ответ на запрос сохранения публичного ключа партнера
type PostPartnerPublicKeyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*PostPartnerPublicKeyResponse_Data
	//	*PostPartnerPublicKeyResponse_Error_
	Type isPostPartnerPublicKeyResponse_Type `protobuf_oneof:"type"`
}

func (x *PostPartnerPublicKeyResponse) Reset() {
	*x = PostPartnerPublicKeyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerPublicKeyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerPublicKeyResponse) ProtoMessage() {}

func (x *PostPartnerPublicKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerPublicKeyResponse.ProtoReflect.Descriptor instead.
func (*PostPartnerPublicKeyResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{15}
}

func (m *PostPartnerPublicKeyResponse) GetType() isPostPartnerPublicKeyResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *PostPartnerPublicKeyResponse) GetData() *Partner {
	if x, ok := x.GetType().(*PostPartnerPublicKeyResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *PostPartnerPublicKeyResponse) GetError() *PostPartnerPublicKeyResponse_Error {
	if x, ok := x.GetType().(*PostPartnerPublicKeyResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isPostPartnerPublicKeyResponse_Type interface {
	isPostPartnerPublicKeyResponse_Type()
}

type PostPartnerPublicKeyResponse_Data struct {
	// Партнер
	Data *Partner `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type PostPartnerPublicKeyResponse_Error_ struct {
	// Ошибка
	Error *PostPartnerPublicKeyResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*PostPartnerPublicKeyResponse_Data) isPostPartnerPublicKeyResponse_Type() {}

func (*PostPartnerPublicKeyResponse_Error_) isPostPartnerPublicKeyResponse_Type() {}

// Запрос на удаление партнёра
type DeletePartnerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор партнёра.
	// # Тип: Guid
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *DeletePartnerRequest) Reset() {
	*x = DeletePartnerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeletePartnerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePartnerRequest) ProtoMessage() {}

func (x *DeletePartnerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePartnerRequest.ProtoReflect.Descriptor instead.
func (*DeletePartnerRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{16}
}

func (x *DeletePartnerRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Ответ на запрос удаления партнёра
type DeletePartnerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*DeletePartnerResponse_Error_
	Type isDeletePartnerResponse_Type `protobuf_oneof:"type"`
}

func (x *DeletePartnerResponse) Reset() {
	*x = DeletePartnerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeletePartnerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePartnerResponse) ProtoMessage() {}

func (x *DeletePartnerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePartnerResponse.ProtoReflect.Descriptor instead.
func (*DeletePartnerResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{17}
}

func (m *DeletePartnerResponse) GetType() isDeletePartnerResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *DeletePartnerResponse) GetError() *DeletePartnerResponse_Error {
	if x, ok := x.GetType().(*DeletePartnerResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isDeletePartnerResponse_Type interface {
	isDeletePartnerResponse_Type()
}

type DeletePartnerResponse_Error_ struct {
	// Ошибка при удалении
	Error *DeletePartnerResponse_Error `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
}

func (*DeletePartnerResponse_Error_) isDeletePartnerResponse_Type() {}

// Запрос получения адреса по ОРПОНу
type GetPartnerAddressOrponRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// ОРПОН.
	// # Диапазон: 1..9223372036854775807
	Orpon int64 `protobuf:"varint,1,opt,name=orpon,proto3" json:"orpon,omitempty"`
}

func (x *GetPartnerAddressOrponRequest) Reset() {
	*x = GetPartnerAddressOrponRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerAddressOrponRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerAddressOrponRequest) ProtoMessage() {}

func (x *GetPartnerAddressOrponRequest) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerAddressOrponRequest.ProtoReflect.Descriptor instead.
func (*GetPartnerAddressOrponRequest) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{18}
}

func (x *GetPartnerAddressOrponRequest) GetOrpon() int64 {
	if x != nil {
		return x.Orpon
	}
	return 0
}

// Ответ на запрос получения адреса по ОРПОНу
type GetPartnerAddressOrponResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetPartnerAddressOrponResponse_Data
	//	*GetPartnerAddressOrponResponse_Error_
	Type isGetPartnerAddressOrponResponse_Type `protobuf_oneof:"type"`
}

func (x *GetPartnerAddressOrponResponse) Reset() {
	*x = GetPartnerAddressOrponResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerAddressOrponResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerAddressOrponResponse) ProtoMessage() {}

func (x *GetPartnerAddressOrponResponse) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerAddressOrponResponse.ProtoReflect.Descriptor instead.
func (*GetPartnerAddressOrponResponse) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{19}
}

func (m *GetPartnerAddressOrponResponse) GetType() isGetPartnerAddressOrponResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetPartnerAddressOrponResponse) GetData() string {
	if x, ok := x.GetType().(*GetPartnerAddressOrponResponse_Data); ok {
		return x.Data
	}
	return ""
}

func (x *GetPartnerAddressOrponResponse) GetError() *GetPartnerAddressOrponResponse_Error {
	if x, ok := x.GetType().(*GetPartnerAddressOrponResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetPartnerAddressOrponResponse_Type interface {
	isGetPartnerAddressOrponResponse_Type()
}

type GetPartnerAddressOrponResponse_Data struct {
	// Адрес
	Data string `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetPartnerAddressOrponResponse_Error_ struct {
	// Ошибка
	Error *GetPartnerAddressOrponResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetPartnerAddressOrponResponse_Data) isGetPartnerAddressOrponResponse_Type() {}

func (*GetPartnerAddressOrponResponse_Error_) isGetPartnerAddressOrponResponse_Type() {}

// Идентификационный токен
type IdTokenPayload struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор токена
	Jti string `protobuf:"bytes,1,opt,name=jti,proto3" json:"jti,omitempty"`
	// Ваучер
	Nonce string `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// Идентификатор пользователя, для которого выдан токен
	Sub string `protobuf:"bytes,3,opt,name=sub,proto3" json:"sub,omitempty"`
	// Роль
	Role *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
	// Номер телефона
	PhoneNumber *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
	// Электронная почта
	Email *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
	// Идентифкатор ОРПОН
	Orpon *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=orpon,proto3" json:"orpon,omitempty"`
	// Номер квартиры
	Room *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=room,proto3" json:"room,omitempty"`
	// Идентифкатор компании
	CompanyId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=company_id,json=companyId,proto3" json:"company_id,omitempty"`
	// Наименование компании
	CompanyName *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=company_name,json=companyName,proto3" json:"company_name,omitempty"`
	// Время авторизации пользователя unix timestamp
	AuthTime string `protobuf:"bytes,11,opt,name=auth_time,json=authTime,proto3" json:"auth_time,omitempty"`
	// Срок истечения действия токен unix timestamp
	Exp string `protobuf:"bytes,12,opt,name=exp,proto3" json:"exp,omitempty"`
	// Сервис, выдавший токен
	Iss string `protobuf:"bytes,13,opt,name=iss,proto3" json:"iss,omitempty"`
	// Url сервиса, для которого выпустили токен
	Aud string `protobuf:"bytes,14,opt,name=aud,proto3" json:"aud,omitempty"`
	// Идентификатор приложения партнёра
	AppId string `protobuf:"bytes,15,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
	// КЛАДР
	KladrId *wrapperspb.StringValue `protobuf:"bytes,16,opt,name=kladr_id,json=kladrId,proto3" json:"kladr_id,omitempty"`
}

func (x *IdTokenPayload) Reset() {
	*x = IdTokenPayload{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *IdTokenPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IdTokenPayload) ProtoMessage() {}

func (x *IdTokenPayload) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IdTokenPayload.ProtoReflect.Descriptor instead.
func (*IdTokenPayload) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{20}
}

func (x *IdTokenPayload) GetJti() string {
	if x != nil {
		return x.Jti
	}
	return ""
}

func (x *IdTokenPayload) GetNonce() string {
	if x != nil {
		return x.Nonce
	}
	return ""
}

func (x *IdTokenPayload) GetSub() string {
	if x != nil {
		return x.Sub
	}
	return ""
}

func (x *IdTokenPayload) GetRole() *wrapperspb.StringValue {
	if x != nil {
		return x.Role
	}
	return nil
}

func (x *IdTokenPayload) GetPhoneNumber() *wrapperspb.StringValue {
	if x != nil {
		return x.PhoneNumber
	}
	return nil
}

func (x *IdTokenPayload) GetEmail() *wrapperspb.StringValue {
	if x != nil {
		return x.Email
	}
	return nil
}

func (x *IdTokenPayload) GetOrpon() *wrapperspb.StringValue {
	if x != nil {
		return x.Orpon
	}
	return nil
}

func (x *IdTokenPayload) GetRoom() *wrapperspb.StringValue {
	if x != nil {
		return x.Room
	}
	return nil
}

func (x *IdTokenPayload) GetCompanyId() *wrapperspb.StringValue {
	if x != nil {
		return x.CompanyId
	}
	return nil
}

func (x *IdTokenPayload) GetCompanyName() *wrapperspb.StringValue {
	if x != nil {
		return x.CompanyName
	}
	return nil
}

func (x *IdTokenPayload) GetAuthTime() string {
	if x != nil {
		return x.AuthTime
	}
	return ""
}

func (x *IdTokenPayload) GetExp() string {
	if x != nil {
		return x.Exp
	}
	return ""
}

func (x *IdTokenPayload) GetIss() string {
	if x != nil {
		return x.Iss
	}
	return ""
}

func (x *IdTokenPayload) GetAud() string {
	if x != nil {
		return x.Aud
	}
	return ""
}

func (x *IdTokenPayload) GetAppId() string {
	if x != nil {
		return x.AppId
	}
	return ""
}

func (x *IdTokenPayload) GetKladrId() *wrapperspb.StringValue {
	if x != nil {
		return x.KladrId
	}
	return nil
}

// Ошибка сохранения.
// Эти проверки выполняются при работе с базой данных и сторонними сервисами
type Partner_SavingError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*Partner_SavingError_Conflict_
	//	*Partner_SavingError_ApiKeyExists_
	//	*Partner_SavingError_PartnerIsDeleted_
	Reason isPartner_SavingError_Reason `protobuf_oneof:"reason"`
}

func (x *Partner_SavingError) Reset() {
	*x = Partner_SavingError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partner_SavingError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partner_SavingError) ProtoMessage() {}

func (x *Partner_SavingError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partner_SavingError.ProtoReflect.Descriptor instead.
func (*Partner_SavingError) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{0, 0}
}

func (m *Partner_SavingError) GetReason() isPartner_SavingError_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *Partner_SavingError) GetConflict() *Partner_SavingError_Conflict {
	if x, ok := x.GetReason().(*Partner_SavingError_Conflict_); ok {
		return x.Conflict
	}
	return nil
}

func (x *Partner_SavingError) GetApiKeyExists() *Partner_SavingError_ApiKeyExists {
	if x, ok := x.GetReason().(*Partner_SavingError_ApiKeyExists_); ok {
		return x.ApiKeyExists
	}
	return nil
}

func (x *Partner_SavingError) GetPartnerIsDeleted() *Partner_SavingError_PartnerIsDeleted {
	if x, ok := x.GetReason().(*Partner_SavingError_PartnerIsDeleted_); ok {
		return x.PartnerIsDeleted
	}
	return nil
}

type isPartner_SavingError_Reason interface {
	isPartner_SavingError_Reason()
}

type Partner_SavingError_Conflict_ struct {
	// Конфликт версий
	Conflict *Partner_SavingError_Conflict `protobuf:"bytes,1,opt,name=conflict,proto3,oneof"`
}

type Partner_SavingError_ApiKeyExists_ struct {
	// API-key уже существует
	ApiKeyExists *Partner_SavingError_ApiKeyExists `protobuf:"bytes,2,opt,name=api_key_exists,json=apiKeyExists,proto3,oneof"`
}

type Partner_SavingError_PartnerIsDeleted_ struct {
	// Партнёр удалён
	PartnerIsDeleted *Partner_SavingError_PartnerIsDeleted `protobuf:"bytes,3,opt,name=partner_is_deleted,json=partnerIsDeleted,proto3,oneof"`
}

func (*Partner_SavingError_Conflict_) isPartner_SavingError_Reason() {}

func (*Partner_SavingError_ApiKeyExists_) isPartner_SavingError_Reason() {}

func (*Partner_SavingError_PartnerIsDeleted_) isPartner_SavingError_Reason() {}

// Конфликт версий.
// Причины:
// - В базе хранится другая версия строки, значения changed_at отличаются
type Partner_SavingError_Conflict struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Partner_SavingError_Conflict) Reset() {
	*x = Partner_SavingError_Conflict{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partner_SavingError_Conflict) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partner_SavingError_Conflict) ProtoMessage() {}

func (x *Partner_SavingError_Conflict) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partner_SavingError_Conflict.ProtoReflect.Descriptor instead.
func (*Partner_SavingError_Conflict) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{0, 0, 0}
}

// API-key уже существует.
// Может появиться только в случае создания партнера.
// Причины:
// - В базе уже хранится такой api_key, он должен быть уникален для каждого партнера
type Partner_SavingError_ApiKeyExists struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Partner_SavingError_ApiKeyExists) Reset() {
	*x = Partner_SavingError_ApiKeyExists{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partner_SavingError_ApiKeyExists) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partner_SavingError_ApiKeyExists) ProtoMessage() {}

func (x *Partner_SavingError_ApiKeyExists) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partner_SavingError_ApiKeyExists.ProtoReflect.Descriptor instead.
func (*Partner_SavingError_ApiKeyExists) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{0, 0, 1}
}

// Партнёр удалён.
// Причины:
// - Переданный публичный ключ принадлежит удалённому партнеру
type Partner_SavingError_PartnerIsDeleted struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Partner_SavingError_PartnerIsDeleted) Reset() {
	*x = Partner_SavingError_PartnerIsDeleted{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partner_SavingError_PartnerIsDeleted) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partner_SavingError_PartnerIsDeleted) ProtoMessage() {}

func (x *Partner_SavingError_PartnerIsDeleted) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partner_SavingError_PartnerIsDeleted.ProtoReflect.Descriptor instead.
func (*Partner_SavingError_PartnerIsDeleted) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{0, 0, 2}
}

// Ошибка запроса сохранения партнера
type PostPartnerResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*PostPartnerResponse_Error_Validation
	//	*PostPartnerResponse_Error_Saving
	//	*PostPartnerResponse_Error_MissingApiKeyOnCreation_
	Reason isPostPartnerResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *PostPartnerResponse_Error) Reset() {
	*x = PostPartnerResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerResponse_Error) ProtoMessage() {}

func (x *PostPartnerResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerResponse_Error.ProtoReflect.Descriptor instead.
func (*PostPartnerResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{5, 0}
}

func (m *PostPartnerResponse_Error) GetReason() isPostPartnerResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *PostPartnerResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*PostPartnerResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *PostPartnerResponse_Error) GetSaving() *Partner_SavingError {
	if x, ok := x.GetReason().(*PostPartnerResponse_Error_Saving); ok {
		return x.Saving
	}
	return nil
}

func (x *PostPartnerResponse_Error) GetMissingApiKeyOnCreation() *PostPartnerResponse_Error_MissingApiKeyOnCreation {
	if x, ok := x.GetReason().(*PostPartnerResponse_Error_MissingApiKeyOnCreation_); ok {
		return x.MissingApiKeyOnCreation
	}
	return nil
}

type isPostPartnerResponse_Error_Reason interface {
	isPostPartnerResponse_Error_Reason()
}

type PostPartnerResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type PostPartnerResponse_Error_Saving struct {
	// Ошибка сохранения
	Saving *Partner_SavingError `protobuf:"bytes,2,opt,name=saving,proto3,oneof"`
}

type PostPartnerResponse_Error_MissingApiKeyOnCreation_ struct {
	// Api-Key обязателен при создании партнера
	MissingApiKeyOnCreation *PostPartnerResponse_Error_MissingApiKeyOnCreation `protobuf:"bytes,3,opt,name=missing_api_key_on_creation,json=missingApiKeyOnCreation,proto3,oneof"`
}

func (*PostPartnerResponse_Error_Validation) isPostPartnerResponse_Error_Reason() {}

func (*PostPartnerResponse_Error_Saving) isPostPartnerResponse_Error_Reason() {}

func (*PostPartnerResponse_Error_MissingApiKeyOnCreation_) isPostPartnerResponse_Error_Reason() {}

// Api-Key обязателен при создании партнера
type PostPartnerResponse_Error_MissingApiKeyOnCreation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *PostPartnerResponse_Error_MissingApiKeyOnCreation) Reset() {
	*x = PostPartnerResponse_Error_MissingApiKeyOnCreation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerResponse_Error_MissingApiKeyOnCreation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerResponse_Error_MissingApiKeyOnCreation) ProtoMessage() {}

func (x *PostPartnerResponse_Error_MissingApiKeyOnCreation) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerResponse_Error_MissingApiKeyOnCreation.ProtoReflect.Descriptor instead.
func (*PostPartnerResponse_Error_MissingApiKeyOnCreation) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{5, 0, 0}
}

// Ошибка запроса получения партнера
type GetPartnerResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetPartnerResponse_Error_Validation
	Reason isGetPartnerResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetPartnerResponse_Error) Reset() {
	*x = GetPartnerResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerResponse_Error) ProtoMessage() {}

func (x *GetPartnerResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerResponse_Error.ProtoReflect.Descriptor instead.
func (*GetPartnerResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{7, 0}
}

func (m *GetPartnerResponse_Error) GetReason() isGetPartnerResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetPartnerResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetPartnerResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetPartnerResponse_Error_Reason interface {
	isGetPartnerResponse_Error_Reason()
}

type GetPartnerResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetPartnerResponse_Error_Validation) isGetPartnerResponse_Error_Reason() {}

// Ошибка запроса получения списка партнеров
type GetPartnerListResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetPartnerListResponse_Error_Validation
	Reason isGetPartnerListResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetPartnerListResponse_Error) Reset() {
	*x = GetPartnerListResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerListResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerListResponse_Error) ProtoMessage() {}

func (x *GetPartnerListResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerListResponse_Error.ProtoReflect.Descriptor instead.
func (*GetPartnerListResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{9, 0}
}

func (m *GetPartnerListResponse_Error) GetReason() isGetPartnerListResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetPartnerListResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetPartnerListResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetPartnerListResponse_Error_Reason interface {
	isGetPartnerListResponse_Error_Reason()
}

type GetPartnerListResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetPartnerListResponse_Error_Validation) isGetPartnerListResponse_Error_Reason() {}

// Ошибка запроса получения количества партнеров
type GetPartnerCountResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetPartnerCountResponse_Error_Validation
	Reason isGetPartnerCountResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetPartnerCountResponse_Error) Reset() {
	*x = GetPartnerCountResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerCountResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerCountResponse_Error) ProtoMessage() {}

func (x *GetPartnerCountResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerCountResponse_Error.ProtoReflect.Descriptor instead.
func (*GetPartnerCountResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{11, 0}
}

func (m *GetPartnerCountResponse_Error) GetReason() isGetPartnerCountResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetPartnerCountResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetPartnerCountResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetPartnerCountResponse_Error_Reason interface {
	isGetPartnerCountResponse_Error_Reason()
}

type GetPartnerCountResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetPartnerCountResponse_Error_Validation) isGetPartnerCountResponse_Error_Reason() {}

// Ошибка
type GetPartnerTokenResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetPartnerTokenResponse_Error_Validation
	//	*GetPartnerTokenResponse_Error_UserNotFound
	//	*GetPartnerTokenResponse_Error_TokenGenerationError_
	//	*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError_
	//	*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported_
	//	*GetPartnerTokenResponse_Error_PermissionDenied_
	Reason isGetPartnerTokenResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetPartnerTokenResponse_Error) Reset() {
	*x = GetPartnerTokenResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0}
}

func (m *GetPartnerTokenResponse_Error) GetReason() isGetPartnerTokenResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetUserNotFound() *GetPartnerTokenResponse_Error_UserNotFoundError {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_UserNotFound); ok {
		return x.UserNotFound
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetTokenGenerationError() *GetPartnerTokenResponse_Error_TokenGenerationError {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_TokenGenerationError_); ok {
		return x.TokenGenerationError
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetCodeNotFoundOrExpiredError() *GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError_); ok {
		return x.CodeNotFoundOrExpiredError
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetResponseTypeIsNotSupported() *GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported_); ok {
		return x.ResponseTypeIsNotSupported
	}
	return nil
}

func (x *GetPartnerTokenResponse_Error) GetPermissionDenied() *GetPartnerTokenResponse_Error_PermissionDenied {
	if x, ok := x.GetReason().(*GetPartnerTokenResponse_Error_PermissionDenied_); ok {
		return x.PermissionDenied
	}
	return nil
}

type isGetPartnerTokenResponse_Error_Reason interface {
	isGetPartnerTokenResponse_Error_Reason()
}

type GetPartnerTokenResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_UserNotFound struct {
	// Ошибка: пользователь не найден
	UserNotFound *GetPartnerTokenResponse_Error_UserNotFoundError `protobuf:"bytes,2,opt,name=user_not_found,json=userNotFound,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_TokenGenerationError_ struct {
	// Ошибка: формирования токена
	TokenGenerationError *GetPartnerTokenResponse_Error_TokenGenerationError `protobuf:"bytes,3,opt,name=token_generation_error,json=tokenGenerationError,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError_ struct {
	// Ошибка: некорректный код
	CodeNotFoundOrExpiredError *GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError `protobuf:"bytes,4,opt,name=code_not_found_or_expired_error,json=codeNotFoundOrExpiredError,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported_ struct {
	// Переданный тип ответа не поддерживается
	ResponseTypeIsNotSupported *GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported `protobuf:"bytes,5,opt,name=response_type_is_not_supported,json=responseTypeIsNotSupported,proto3,oneof"`
}

type GetPartnerTokenResponse_Error_PermissionDenied_ struct {
	// Доступ запрещен
	PermissionDenied *GetPartnerTokenResponse_Error_PermissionDenied `protobuf:"bytes,6,opt,name=permission_denied,json=permissionDenied,proto3,oneof"`
}

func (*GetPartnerTokenResponse_Error_Validation) isGetPartnerTokenResponse_Error_Reason() {}

func (*GetPartnerTokenResponse_Error_UserNotFound) isGetPartnerTokenResponse_Error_Reason() {}

func (*GetPartnerTokenResponse_Error_TokenGenerationError_) isGetPartnerTokenResponse_Error_Reason() {
}

func (*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError_) isGetPartnerTokenResponse_Error_Reason() {
}

func (*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported_) isGetPartnerTokenResponse_Error_Reason() {
}

func (*GetPartnerTokenResponse_Error_PermissionDenied_) isGetPartnerTokenResponse_Error_Reason() {}

// Данные пользователя для формирования идентификационного токена не найдены.
// Причины:
// - Пользователь с таким идентификатором отсутсвует в БД ключа;
// - Ошибка взаимодействия с сервисом Домохозяйств
type GetPartnerTokenResponse_Error_UserNotFoundError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerTokenResponse_Error_UserNotFoundError) Reset() {
	*x = GetPartnerTokenResponse_Error_UserNotFoundError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error_UserNotFoundError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error_UserNotFoundError) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error_UserNotFoundError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error_UserNotFoundError.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error_UserNotFoundError) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0, 0}
}

// Ошибка формирования токена.
// Причины:
// - Ошибка в сервисе KMS.
// - Ошибка в сервисе Identity
type GetPartnerTokenResponse_Error_TokenGenerationError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerTokenResponse_Error_TokenGenerationError) Reset() {
	*x = GetPartnerTokenResponse_Error_TokenGenerationError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error_TokenGenerationError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error_TokenGenerationError) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error_TokenGenerationError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error_TokenGenerationError.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error_TokenGenerationError) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0, 1}
}

// Некорректный код.
// Причины:
// - Передан неверный код;
// - Превышен допустимый временной интервал между запросом на формирование кода и запросом на получение идентификационного токена
type GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError) Reset() {
	*x = GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0, 2}
}

// Переданный тип ответа не поддерживается
type GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported) Reset() {
	*x = GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0, 3}
}

// Доступ запрещен.
// Причины:
// - У запрашивающего приложения нет разрешения на выбранный тип ответа
type GetPartnerTokenResponse_Error_PermissionDenied struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerTokenResponse_Error_PermissionDenied) Reset() {
	*x = GetPartnerTokenResponse_Error_PermissionDenied{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerTokenResponse_Error_PermissionDenied) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerTokenResponse_Error_PermissionDenied) ProtoMessage() {}

func (x *GetPartnerTokenResponse_Error_PermissionDenied) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerTokenResponse_Error_PermissionDenied.ProtoReflect.Descriptor instead.
func (*GetPartnerTokenResponse_Error_PermissionDenied) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{13, 0, 4}
}

// Ошибка запроса сохранения публичного ключа партнера
type PostPartnerPublicKeyResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*PostPartnerPublicKeyResponse_Error_Validation
	//	*PostPartnerPublicKeyResponse_Error_Saving
	Reason isPostPartnerPublicKeyResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *PostPartnerPublicKeyResponse_Error) Reset() {
	*x = PostPartnerPublicKeyResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PostPartnerPublicKeyResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostPartnerPublicKeyResponse_Error) ProtoMessage() {}

func (x *PostPartnerPublicKeyResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostPartnerPublicKeyResponse_Error.ProtoReflect.Descriptor instead.
func (*PostPartnerPublicKeyResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{15, 0}
}

func (m *PostPartnerPublicKeyResponse_Error) GetReason() isPostPartnerPublicKeyResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *PostPartnerPublicKeyResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*PostPartnerPublicKeyResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *PostPartnerPublicKeyResponse_Error) GetSaving() *Partner_SavingError {
	if x, ok := x.GetReason().(*PostPartnerPublicKeyResponse_Error_Saving); ok {
		return x.Saving
	}
	return nil
}

type isPostPartnerPublicKeyResponse_Error_Reason interface {
	isPostPartnerPublicKeyResponse_Error_Reason()
}

type PostPartnerPublicKeyResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type PostPartnerPublicKeyResponse_Error_Saving struct {
	// Ошибка сохранения
	Saving *Partner_SavingError `protobuf:"bytes,2,opt,name=saving,proto3,oneof"`
}

func (*PostPartnerPublicKeyResponse_Error_Validation) isPostPartnerPublicKeyResponse_Error_Reason() {}

func (*PostPartnerPublicKeyResponse_Error_Saving) isPostPartnerPublicKeyResponse_Error_Reason() {}

// Ошибка удаления партнёра
type DeletePartnerResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*DeletePartnerResponse_Error_Validation
	//	*DeletePartnerResponse_Error_LinkedAppExists_
	Reason isDeletePartnerResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *DeletePartnerResponse_Error) Reset() {
	*x = DeletePartnerResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeletePartnerResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePartnerResponse_Error) ProtoMessage() {}

func (x *DeletePartnerResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePartnerResponse_Error.ProtoReflect.Descriptor instead.
func (*DeletePartnerResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{17, 0}
}

func (m *DeletePartnerResponse_Error) GetReason() isDeletePartnerResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *DeletePartnerResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*DeletePartnerResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *DeletePartnerResponse_Error) GetLinkedAppExists() *DeletePartnerResponse_Error_LinkedAppExists {
	if x, ok := x.GetReason().(*DeletePartnerResponse_Error_LinkedAppExists_); ok {
		return x.LinkedAppExists
	}
	return nil
}

type isDeletePartnerResponse_Error_Reason interface {
	isDeletePartnerResponse_Error_Reason()
}

type DeletePartnerResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type DeletePartnerResponse_Error_LinkedAppExists_ struct {
	// У партнера есть хотя бы одно приложение
	LinkedAppExists *DeletePartnerResponse_Error_LinkedAppExists `protobuf:"bytes,2,opt,name=linked_app_exists,json=linkedAppExists,proto3,oneof"`
}

func (*DeletePartnerResponse_Error_Validation) isDeletePartnerResponse_Error_Reason() {}

func (*DeletePartnerResponse_Error_LinkedAppExists_) isDeletePartnerResponse_Error_Reason() {}

// У партнера есть хотя бы одно приложение
type DeletePartnerResponse_Error_LinkedAppExists struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DeletePartnerResponse_Error_LinkedAppExists) Reset() {
	*x = DeletePartnerResponse_Error_LinkedAppExists{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeletePartnerResponse_Error_LinkedAppExists) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePartnerResponse_Error_LinkedAppExists) ProtoMessage() {}

func (x *DeletePartnerResponse_Error_LinkedAppExists) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePartnerResponse_Error_LinkedAppExists.ProtoReflect.Descriptor instead.
func (*DeletePartnerResponse_Error_LinkedAppExists) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{17, 0, 0}
}

// Ошибка
type GetPartnerAddressOrponResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetPartnerAddressOrponResponse_Error_Validation
	//	*GetPartnerAddressOrponResponse_Error_PermissionDenied_
	Reason isGetPartnerAddressOrponResponse_Error_Reason `protobuf_oneof:"reason"`
}

func (x *GetPartnerAddressOrponResponse_Error) Reset() {
	*x = GetPartnerAddressOrponResponse_Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerAddressOrponResponse_Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerAddressOrponResponse_Error) ProtoMessage() {}

func (x *GetPartnerAddressOrponResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerAddressOrponResponse_Error.ProtoReflect.Descriptor instead.
func (*GetPartnerAddressOrponResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{19, 0}
}

func (m *GetPartnerAddressOrponResponse_Error) GetReason() isGetPartnerAddressOrponResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetPartnerAddressOrponResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetPartnerAddressOrponResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *GetPartnerAddressOrponResponse_Error) GetPermissionDenied() *GetPartnerAddressOrponResponse_Error_PermissionDenied {
	if x, ok := x.GetReason().(*GetPartnerAddressOrponResponse_Error_PermissionDenied_); ok {
		return x.PermissionDenied
	}
	return nil
}

type isGetPartnerAddressOrponResponse_Error_Reason interface {
	isGetPartnerAddressOrponResponse_Error_Reason()
}

type GetPartnerAddressOrponResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type GetPartnerAddressOrponResponse_Error_PermissionDenied_ struct {
	// Доступ запрещен
	PermissionDenied *GetPartnerAddressOrponResponse_Error_PermissionDenied `protobuf:"bytes,2,opt,name=permission_denied,json=permissionDenied,proto3,oneof"`
}

func (*GetPartnerAddressOrponResponse_Error_Validation) isGetPartnerAddressOrponResponse_Error_Reason() {
}

func (*GetPartnerAddressOrponResponse_Error_PermissionDenied_) isGetPartnerAddressOrponResponse_Error_Reason() {
}

// Доступ запрещен.
// Причины:
// - У партнера нет разрешения на переданный ОРПОН
type GetPartnerAddressOrponResponse_Error_PermissionDenied struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPartnerAddressOrponResponse_Error_PermissionDenied) Reset() {
	*x = GetPartnerAddressOrponResponse_Error_PermissionDenied{}
	if protoimpl.UnsafeEnabled {
		mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPartnerAddressOrponResponse_Error_PermissionDenied) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPartnerAddressOrponResponse_Error_PermissionDenied) ProtoMessage() {}

func (x *GetPartnerAddressOrponResponse_Error_PermissionDenied) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPartnerAddressOrponResponse_Error_PermissionDenied.ProtoReflect.Descriptor instead.
func (*GetPartnerAddressOrponResponse_Error_PermissionDenied) Descriptor() ([]byte, []int) {
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP(), []int{19, 0, 0}
}

var File_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto protoreflect.FileDescriptor

var file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDesc = []byte{
	0x0a, 0x35, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x6d, 0x75,
	0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x76,
	0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
	0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70,
	0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0xde, 0x06, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b,
	0x65, 0x79, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69,
	0x63, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x43, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79,
	0x48, 0x61, 0x73, 0x68, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
	0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x1a, 0xe2, 0x02,
	0x0a, 0x0b, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a,
	0x08, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x61,
	0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
	0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x5d,
	0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52,
	0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x69, 0x0a,
	0x12, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x73, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
	0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x0a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x66,
	0x6c, 0x69, 0x63, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x45, 0x78,
	0x69, 0x73, 0x74, 0x73, 0x1a, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49,
	0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x08,
	0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x08, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a,
	0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x14, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f,
	0x66, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
	0x65, 0x73, 0x5f, 0x69, 0x6e, 0x22, 0xb0, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x65, 0x67,
	0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
	0x0e, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x40, 0x0a, 0x0e, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
	0x65, 0x49, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f,
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x68, 0x6f,
	0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xfe, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x52, 0x0a, 0x0d, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x2e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50,
	0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57,
	0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
	0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x52, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
	0x0e, 0x0a, 0x0a, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x01, 0x12,
	0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02, 0x12,
	0x08, 0x0a, 0x04, 0x52, 0x41, 0x4e, 0x4b, 0x10, 0x03, 0x22, 0x3e, 0x0a, 0x0d, 0x44, 0x69, 0x72,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49,
	0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b,
	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01,
	0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x02, 0x22, 0x4b, 0x0a, 0x12, 0x50, 0x6f, 0x73,
	0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70,
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xdd, 0x03, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xc1, 0x02, 0x0a, 0x05, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00,
	0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06,
	0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e,
	0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67,
	0x12, 0x86, 0x01, 0x0a, 0x1b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x69,
	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73,
	0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x70,
	0x69, 0x4b, 0x65, 0x79, 0x4f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x17, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x4f,
	0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x19, 0x0a, 0x17, 0x4d, 0x69, 0x73,
	0x73, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x4f, 0x6e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x28, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64,
	0x22, 0xf2, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x1a, 0x59, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x3a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x22, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x06, 0x70,
	0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x48,
	0x00, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69,
	0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x00,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x1a, 0x59, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70,
	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0x54, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e,
	0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a,
	0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70,
	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x17, 0x47,
	0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48,
	0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x59, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x47,
	0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24,
	0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22,
	0x88, 0x08, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xe6, 0x06, 0x0a, 0x05, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52,
	0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x75,
	0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75,
	0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46,
	0x6f, 0x75, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x73, 0x65,
	0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x7f, 0x0a, 0x16, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x94, 0x01, 0x0a, 0x1f, 0x63,
	0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x72,
	0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d,
	0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61,
	0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74,
	0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x72, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f,
	0x75, 0x6e, 0x64, 0x4f, 0x72, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x12, 0x93, 0x01, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31,
	0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x73, 0x4e, 0x6f, 0x74,
	0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x53, 0x75,
	0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x72, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c,
	0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x1a, 0x13, 0x0a, 0x11, 0x55,
	0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x1a, 0x16, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x1c, 0x0a, 0x1a, 0x43, 0x6f, 0x64, 0x65,
	0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x72, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65,
	0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x64, 0x1a, 0x12, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x1b, 0x50, 0x6f,
	0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
	0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x75, 0x62,
	0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0xcb, 0x02,
	0x0a, 0x1c, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x75, 0x62,
	0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x4f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x37, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x1a, 0x9d, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a,
	0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48,
	0x00, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2b, 0x0a, 0x14, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61,
	0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xdc, 0x01, 0x0a,
	0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31,
	0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e,
	0x0a, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x78, 0x69,
	0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x6e, 0x6b,
	0x65, 0x64, 0x41, 0x70, 0x70, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x6c,
	0x69, 0x6e, 0x6b, 0x65, 0x64, 0x41, 0x70, 0x70, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x1a, 0x11,
	0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x41, 0x70, 0x70, 0x45, 0x78, 0x69, 0x73, 0x74,
	0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x22,
	0xfc, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f,
	0x72, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xe8, 0x01, 0x0a, 0x05,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48,
	0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a,
	0x11, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x69,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65,
	0x6e, 0x69, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x1a, 0x12, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06,
	0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa0,
	0x05, 0x0a, 0x0e, 0x49, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x12, 0x15, 0x0a, 0x03, 0x6a, 0x74, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x03, 0x6a, 0x74, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x6f,
	0x6e, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f,
	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0c,
	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x12, 0x32, 0x0a, 0x05, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
	0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61,
	0x6e, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61,
	0x6e, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
	0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61,
	0x75, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x15,
	0x0a, 0x03, 0x69, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x03, 0x69, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x61, 0x75, 0x64, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x61, 0x75, 0x64, 0x12, 0x1a, 0x0a, 0x06,
	0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x6b, 0x6c, 0x61, 0x64,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6b, 0x6c, 0x61, 0x64, 0x72, 0x49,
	0x64, 0x32, 0xdc, 0x09, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d,
	0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70,
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a,
	0x01, 0x2a, 0x22, 0x18, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70,
	0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x84, 0x01, 0x0a,
	0x0a, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76,
	0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75,
	0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x7b,
	0x69, 0x64, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e,
	0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c,
	0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74,
	0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12,
	0x1e, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
	0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
	0x94, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x12, 0x2b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75,
	0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69,
	0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70,
	0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
	0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0xab, 0x01, 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12,
	0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x31, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22,
	0x23, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
	0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x5f, 0x6b, 0x65, 0x79, 0x12, 0x8d, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
	0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74,
	0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61,
	0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f,
	0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74,
	0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x12,
	0x32, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x75,
	0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72,
	0x74, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x70, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30,
	0x12, 0x2e, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f,
	0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x2f, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x2f, 0x7b, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x7d,
	0x42, 0xa8, 0x01, 0x0a, 0x16, 0x72, 0x75, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x4b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x56, 0x31, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x48, 0x03, 0x50, 0x00, 0x5a, 0x14, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x31, 0xd8, 0x01, 0x01,
	0xf8, 0x01, 0x01, 0xa2, 0x02, 0x11, 0x4b, 0x45, 0x59, 0x41, 0x50, 0x49, 0x53, 0x4d, 0x55, 0x4c,
	0x54, 0x49, 0x41, 0x50, 0x50, 0x56, 0x31, 0xaa, 0x02, 0x13, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13,
	0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70,
	0x5c, 0x56, 0x31, 0xea, 0x02, 0x15, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x4d,
	0x75, 0x6c, 0x74, 0x69, 0x61, 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x33,
}

var (
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescOnce sync.Once
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescData = file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDesc
)

func file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescGZIP() []byte {
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescData)
	})
	return file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDescData
}

var file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
var file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_goTypes = []interface{}{
	(PartnerPaging_OrderByType)(0),                                   // 0: keyapis.multiapp.v1.PartnerPaging.OrderByType
	(PartnerPaging_DirectionType)(0),                                 // 1: keyapis.multiapp.v1.PartnerPaging.DirectionType
	(*Partner)(nil),                                                  // 2: keyapis.multiapp.v1.Partner
	(*Token)(nil),                                                    // 3: keyapis.multiapp.v1.Token
	(*PartnerFilter)(nil),                                            // 4: keyapis.multiapp.v1.PartnerFilter
	(*PartnerPaging)(nil),                                            // 5: keyapis.multiapp.v1.PartnerPaging
	(*PostPartnerRequest)(nil),                                       // 6: keyapis.multiapp.v1.PostPartnerRequest
	(*PostPartnerResponse)(nil),                                      // 7: keyapis.multiapp.v1.PostPartnerResponse
	(*GetPartnerRequest)(nil),                                        // 8: keyapis.multiapp.v1.GetPartnerRequest
	(*GetPartnerResponse)(nil),                                       // 9: keyapis.multiapp.v1.GetPartnerResponse
	(*GetPartnerListRequest)(nil),                                    // 10: keyapis.multiapp.v1.GetPartnerListRequest
	(*GetPartnerListResponse)(nil),                                   // 11: keyapis.multiapp.v1.GetPartnerListResponse
	(*GetPartnerCountRequest)(nil),                                   // 12: keyapis.multiapp.v1.GetPartnerCountRequest
	(*GetPartnerCountResponse)(nil),                                  // 13: keyapis.multiapp.v1.GetPartnerCountResponse
	(*GetPartnerTokenRequest)(nil),                                   // 14: keyapis.multiapp.v1.GetPartnerTokenRequest
	(*GetPartnerTokenResponse)(nil),                                  // 15: keyapis.multiapp.v1.GetPartnerTokenResponse
	(*PostPartnerPublicKeyRequest)(nil),                              // 16: keyapis.multiapp.v1.PostPartnerPublicKeyRequest
	(*PostPartnerPublicKeyResponse)(nil),                             // 17: keyapis.multiapp.v1.PostPartnerPublicKeyResponse
	(*DeletePartnerRequest)(nil),                                     // 18: keyapis.multiapp.v1.DeletePartnerRequest
	(*DeletePartnerResponse)(nil),                                    // 19: keyapis.multiapp.v1.DeletePartnerResponse
	(*GetPartnerAddressOrponRequest)(nil),                            // 20: keyapis.multiapp.v1.GetPartnerAddressOrponRequest
	(*GetPartnerAddressOrponResponse)(nil),                           // 21: keyapis.multiapp.v1.GetPartnerAddressOrponResponse
	(*IdTokenPayload)(nil),                                           // 22: keyapis.multiapp.v1.IdTokenPayload
	(*Partner_SavingError)(nil),                                      // 23: keyapis.multiapp.v1.Partner.SavingError
	(*Partner_SavingError_Conflict)(nil),                             // 24: keyapis.multiapp.v1.Partner.SavingError.Conflict
	(*Partner_SavingError_ApiKeyExists)(nil),                         // 25: keyapis.multiapp.v1.Partner.SavingError.ApiKeyExists
	(*Partner_SavingError_PartnerIsDeleted)(nil),                     // 26: keyapis.multiapp.v1.Partner.SavingError.PartnerIsDeleted
	(*PostPartnerResponse_Error)(nil),                                // 27: keyapis.multiapp.v1.PostPartnerResponse.Error
	(*PostPartnerResponse_Error_MissingApiKeyOnCreation)(nil),        // 28: keyapis.multiapp.v1.PostPartnerResponse.Error.MissingApiKeyOnCreation
	(*GetPartnerResponse_Error)(nil),                                 // 29: keyapis.multiapp.v1.GetPartnerResponse.Error
	(*GetPartnerListResponse_Error)(nil),                             // 30: keyapis.multiapp.v1.GetPartnerListResponse.Error
	(*GetPartnerCountResponse_Error)(nil),                            // 31: keyapis.multiapp.v1.GetPartnerCountResponse.Error
	(*GetPartnerTokenResponse_Error)(nil),                            // 32: keyapis.multiapp.v1.GetPartnerTokenResponse.Error
	(*GetPartnerTokenResponse_Error_UserNotFoundError)(nil),          // 33: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.UserNotFoundError
	(*GetPartnerTokenResponse_Error_TokenGenerationError)(nil),       // 34: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.TokenGenerationError
	(*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError)(nil), // 35: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.CodeNotFoundOrExpiredError
	(*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported)(nil), // 36: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.ResponseTypeIsNotSupported
	(*GetPartnerTokenResponse_Error_PermissionDenied)(nil),           // 37: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.PermissionDenied
	(*PostPartnerPublicKeyResponse_Error)(nil),                       // 38: keyapis.multiapp.v1.PostPartnerPublicKeyResponse.Error
	(*DeletePartnerResponse_Error)(nil),                              // 39: keyapis.multiapp.v1.DeletePartnerResponse.Error
	(*DeletePartnerResponse_Error_LinkedAppExists)(nil),              // 40: keyapis.multiapp.v1.DeletePartnerResponse.Error.LinkedAppExists
	(*GetPartnerAddressOrponResponse_Error)(nil),                     // 41: keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error
	(*GetPartnerAddressOrponResponse_Error_PermissionDenied)(nil),    // 42: keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error.PermissionDenied
	(*wrapperspb.StringValue)(nil),                                   // 43: google.protobuf.StringValue
	(*timestamppb.Timestamp)(nil),                                    // 44: google.protobuf.Timestamp
	(*wrapperspb.BoolValue)(nil),                                     // 45: google.protobuf.BoolValue
	(*ValidationError)(nil),                                          // 46: keyapis.multiapp.v1.ValidationError
}
var file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_depIdxs = []int32{
	43, // 0: keyapis.multiapp.v1.Partner.api_key:type_name -> google.protobuf.StringValue
	43, // 1: keyapis.multiapp.v1.Partner.public_key:type_name -> google.protobuf.StringValue
	44, // 2: keyapis.multiapp.v1.Partner.created_at:type_name -> google.protobuf.Timestamp
	44, // 3: keyapis.multiapp.v1.Partner.changed_at:type_name -> google.protobuf.Timestamp
	44, // 4: keyapis.multiapp.v1.Partner.deleted_at:type_name -> google.protobuf.Timestamp
	43, // 5: keyapis.multiapp.v1.Partner.api_key_hash:type_name -> google.protobuf.StringValue
	43, // 6: keyapis.multiapp.v1.Partner.api_key_masked:type_name -> google.protobuf.StringValue
	43, // 7: keyapis.multiapp.v1.PartnerFilter.text:type_name -> google.protobuf.StringValue
	44, // 8: keyapis.multiapp.v1.PartnerFilter.begin_changed_at:type_name -> google.protobuf.Timestamp
	44, // 9: keyapis.multiapp.v1.PartnerFilter.end_changed_at:type_name -> google.protobuf.Timestamp
	45, // 10: keyapis.multiapp.v1.PartnerFilter.is_show_deleted:type_name -> google.protobuf.BoolValue
	0,  // 11: keyapis.multiapp.v1.PartnerPaging.order_by_type:type_name -> keyapis.multiapp.v1.PartnerPaging.OrderByType
	1,  // 12: keyapis.multiapp.v1.PartnerPaging.direction_type:type_name -> keyapis.multiapp.v1.PartnerPaging.DirectionType
	2,  // 13: keyapis.multiapp.v1.PostPartnerRequest.data:type_name -> keyapis.multiapp.v1.Partner
	2,  // 14: keyapis.multiapp.v1.PostPartnerResponse.data:type_name -> keyapis.multiapp.v1.Partner
	27, // 15: keyapis.multiapp.v1.PostPartnerResponse.error:type_name -> keyapis.multiapp.v1.PostPartnerResponse.Error
	2,  // 16: keyapis.multiapp.v1.GetPartnerResponse.data:type_name -> keyapis.multiapp.v1.Partner
	29, // 17: keyapis.multiapp.v1.GetPartnerResponse.error:type_name -> keyapis.multiapp.v1.GetPartnerResponse.Error
	4,  // 18: keyapis.multiapp.v1.GetPartnerListRequest.filter:type_name -> keyapis.multiapp.v1.PartnerFilter
	5,  // 19: keyapis.multiapp.v1.GetPartnerListRequest.paging:type_name -> keyapis.multiapp.v1.PartnerPaging
	2,  // 20: keyapis.multiapp.v1.GetPartnerListResponse.data:type_name -> keyapis.multiapp.v1.Partner
	30, // 21: keyapis.multiapp.v1.GetPartnerListResponse.error:type_name -> keyapis.multiapp.v1.GetPartnerListResponse.Error
	4,  // 22: keyapis.multiapp.v1.GetPartnerCountRequest.filter:type_name -> keyapis.multiapp.v1.PartnerFilter
	31, // 23: keyapis.multiapp.v1.GetPartnerCountResponse.error:type_name -> keyapis.multiapp.v1.GetPartnerCountResponse.Error
	3,  // 24: keyapis.multiapp.v1.GetPartnerTokenResponse.data:type_name -> keyapis.multiapp.v1.Token
	32, // 25: keyapis.multiapp.v1.GetPartnerTokenResponse.error:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error
	2,  // 26: keyapis.multiapp.v1.PostPartnerPublicKeyResponse.data:type_name -> keyapis.multiapp.v1.Partner
	38, // 27: keyapis.multiapp.v1.PostPartnerPublicKeyResponse.error:type_name -> keyapis.multiapp.v1.PostPartnerPublicKeyResponse.Error
	39, // 28: keyapis.multiapp.v1.DeletePartnerResponse.error:type_name -> keyapis.multiapp.v1.DeletePartnerResponse.Error
	41, // 29: keyapis.multiapp.v1.GetPartnerAddressOrponResponse.error:type_name -> keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error
	43, // 30: keyapis.multiapp.v1.IdTokenPayload.role:type_name -> google.protobuf.StringValue
	43, // 31: keyapis.multiapp.v1.IdTokenPayload.phone_number:type_name -> google.protobuf.StringValue
	43, // 32: keyapis.multiapp.v1.IdTokenPayload.email:type_name -> google.protobuf.StringValue
	43, // 33: keyapis.multiapp.v1.IdTokenPayload.orpon:type_name -> google.protobuf.StringValue
	43, // 34: keyapis.multiapp.v1.IdTokenPayload.room:type_name -> google.protobuf.StringValue
	43, // 35: keyapis.multiapp.v1.IdTokenPayload.company_id:type_name -> google.protobuf.StringValue
	43, // 36: keyapis.multiapp.v1.IdTokenPayload.company_name:type_name -> google.protobuf.StringValue
	43, // 37: keyapis.multiapp.v1.IdTokenPayload.kladr_id:type_name -> google.protobuf.StringValue
	24, // 38: keyapis.multiapp.v1.Partner.SavingError.conflict:type_name -> keyapis.multiapp.v1.Partner.SavingError.Conflict
	25, // 39: keyapis.multiapp.v1.Partner.SavingError.api_key_exists:type_name -> keyapis.multiapp.v1.Partner.SavingError.ApiKeyExists
	26, // 40: keyapis.multiapp.v1.Partner.SavingError.partner_is_deleted:type_name -> keyapis.multiapp.v1.Partner.SavingError.PartnerIsDeleted
	46, // 41: keyapis.multiapp.v1.PostPartnerResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	23, // 42: keyapis.multiapp.v1.PostPartnerResponse.Error.saving:type_name -> keyapis.multiapp.v1.Partner.SavingError
	28, // 43: keyapis.multiapp.v1.PostPartnerResponse.Error.missing_api_key_on_creation:type_name -> keyapis.multiapp.v1.PostPartnerResponse.Error.MissingApiKeyOnCreation
	46, // 44: keyapis.multiapp.v1.GetPartnerResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	46, // 45: keyapis.multiapp.v1.GetPartnerListResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	46, // 46: keyapis.multiapp.v1.GetPartnerCountResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	46, // 47: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	33, // 48: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.user_not_found:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error.UserNotFoundError
	34, // 49: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.token_generation_error:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error.TokenGenerationError
	35, // 50: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.code_not_found_or_expired_error:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error.CodeNotFoundOrExpiredError
	36, // 51: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.response_type_is_not_supported:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error.ResponseTypeIsNotSupported
	37, // 52: keyapis.multiapp.v1.GetPartnerTokenResponse.Error.permission_denied:type_name -> keyapis.multiapp.v1.GetPartnerTokenResponse.Error.PermissionDenied
	46, // 53: keyapis.multiapp.v1.PostPartnerPublicKeyResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	23, // 54: keyapis.multiapp.v1.PostPartnerPublicKeyResponse.Error.saving:type_name -> keyapis.multiapp.v1.Partner.SavingError
	46, // 55: keyapis.multiapp.v1.DeletePartnerResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	40, // 56: keyapis.multiapp.v1.DeletePartnerResponse.Error.linked_app_exists:type_name -> keyapis.multiapp.v1.DeletePartnerResponse.Error.LinkedAppExists
	46, // 57: keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error.validation:type_name -> keyapis.multiapp.v1.ValidationError
	42, // 58: keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error.permission_denied:type_name -> keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error.PermissionDenied
	6,  // 59: keyapis.multiapp.v1.PartnerService.PostPartner:input_type -> keyapis.multiapp.v1.PostPartnerRequest
	8,  // 60: keyapis.multiapp.v1.PartnerService.GetPartner:input_type -> keyapis.multiapp.v1.GetPartnerRequest
	10, // 61: keyapis.multiapp.v1.PartnerService.GetPartnerList:input_type -> keyapis.multiapp.v1.GetPartnerListRequest
	12, // 62: keyapis.multiapp.v1.PartnerService.GetPartnerCount:input_type -> keyapis.multiapp.v1.GetPartnerCountRequest
	14, // 63: keyapis.multiapp.v1.PartnerService.GetPartnerToken:input_type -> keyapis.multiapp.v1.GetPartnerTokenRequest
	16, // 64: keyapis.multiapp.v1.PartnerService.PostPartnerPublicKey:input_type -> keyapis.multiapp.v1.PostPartnerPublicKeyRequest
	18, // 65: keyapis.multiapp.v1.PartnerService.DeletePartner:input_type -> keyapis.multiapp.v1.DeletePartnerRequest
	20, // 66: keyapis.multiapp.v1.PartnerService.GetPartnerAddressOrpon:input_type -> keyapis.multiapp.v1.GetPartnerAddressOrponRequest
	7,  // 67: keyapis.multiapp.v1.PartnerService.PostPartner:output_type -> keyapis.multiapp.v1.PostPartnerResponse
	9,  // 68: keyapis.multiapp.v1.PartnerService.GetPartner:output_type -> keyapis.multiapp.v1.GetPartnerResponse
	11, // 69: keyapis.multiapp.v1.PartnerService.GetPartnerList:output_type -> keyapis.multiapp.v1.GetPartnerListResponse
	13, // 70: keyapis.multiapp.v1.PartnerService.GetPartnerCount:output_type -> keyapis.multiapp.v1.GetPartnerCountResponse
	15, // 71: keyapis.multiapp.v1.PartnerService.GetPartnerToken:output_type -> keyapis.multiapp.v1.GetPartnerTokenResponse
	17, // 72: keyapis.multiapp.v1.PartnerService.PostPartnerPublicKey:output_type -> keyapis.multiapp.v1.PostPartnerPublicKeyResponse
	19, // 73: keyapis.multiapp.v1.PartnerService.DeletePartner:output_type -> keyapis.multiapp.v1.DeletePartnerResponse
	21, // 74: keyapis.multiapp.v1.PartnerService.GetPartnerAddressOrpon:output_type -> keyapis.multiapp.v1.GetPartnerAddressOrponResponse
	67, // [67:75] is the sub-list for method output_type
	59, // [59:67] is the sub-list for method input_type
	59, // [59:59] is the sub-list for extension type_name
	59, // [59:59] is the sub-list for extension extendee
	0,  // [0:59] is the sub-list for field type_name
}

func init() { file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_init() }
func file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_init() {
	if File_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto != nil {
		return
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_app_v1_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partner); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Token); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PartnerFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PartnerPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerPublicKeyRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerPublicKeyResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePartnerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePartnerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerAddressOrponRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerAddressOrponResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IdTokenPayload); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partner_SavingError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partner_SavingError_Conflict); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partner_SavingError_ApiKeyExists); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partner_SavingError_PartnerIsDeleted); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerResponse_Error_MissingApiKeyOnCreation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerListResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerCountResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error_UserNotFoundError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error_TokenGenerationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerTokenResponse_Error_PermissionDenied); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostPartnerPublicKeyResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePartnerResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePartnerResponse_Error_LinkedAppExists); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerAddressOrponResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPartnerAddressOrponResponse_Error_PermissionDenied); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*PostPartnerResponse_Data)(nil),
		(*PostPartnerResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*GetPartnerResponse_Data)(nil),
		(*GetPartnerResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*GetPartnerListRequest_Paging)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*GetPartnerListResponse_Data)(nil),
		(*GetPartnerListResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*GetPartnerCountResponse_Data)(nil),
		(*GetPartnerCountResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*GetPartnerTokenResponse_Data)(nil),
		(*GetPartnerTokenResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*PostPartnerPublicKeyResponse_Data)(nil),
		(*PostPartnerPublicKeyResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[17].OneofWrappers = []interface{}{
		(*DeletePartnerResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[19].OneofWrappers = []interface{}{
		(*GetPartnerAddressOrponResponse_Data)(nil),
		(*GetPartnerAddressOrponResponse_Error_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[21].OneofWrappers = []interface{}{
		(*Partner_SavingError_Conflict_)(nil),
		(*Partner_SavingError_ApiKeyExists_)(nil),
		(*Partner_SavingError_PartnerIsDeleted_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*PostPartnerResponse_Error_Validation)(nil),
		(*PostPartnerResponse_Error_Saving)(nil),
		(*PostPartnerResponse_Error_MissingApiKeyOnCreation_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[27].OneofWrappers = []interface{}{
		(*GetPartnerResponse_Error_Validation)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[28].OneofWrappers = []interface{}{
		(*GetPartnerListResponse_Error_Validation)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[29].OneofWrappers = []interface{}{
		(*GetPartnerCountResponse_Error_Validation)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[30].OneofWrappers = []interface{}{
		(*GetPartnerTokenResponse_Error_Validation)(nil),
		(*GetPartnerTokenResponse_Error_UserNotFound)(nil),
		(*GetPartnerTokenResponse_Error_TokenGenerationError_)(nil),
		(*GetPartnerTokenResponse_Error_CodeNotFoundOrExpiredError_)(nil),
		(*GetPartnerTokenResponse_Error_ResponseTypeIsNotSupported_)(nil),
		(*GetPartnerTokenResponse_Error_PermissionDenied_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[36].OneofWrappers = []interface{}{
		(*PostPartnerPublicKeyResponse_Error_Validation)(nil),
		(*PostPartnerPublicKeyResponse_Error_Saving)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[37].OneofWrappers = []interface{}{
		(*DeletePartnerResponse_Error_Validation)(nil),
		(*DeletePartnerResponse_Error_LinkedAppExists_)(nil),
	}
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes[39].OneofWrappers = []interface{}{
		(*GetPartnerAddressOrponResponse_Error_Validation)(nil),
		(*GetPartnerAddressOrponResponse_Error_PermissionDenied_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   41,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_msgTypes,
	}.Build()
	File_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto = out.File
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_rawDesc = nil
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_goTypes = nil
	file_keyapis_multiapp_v1_keyapis_multiapp_partner_v1_proto_depIdxs = nil
}
